《Keras深度学习实战》

举报
华章计算机 发表于 2019/06/13 17:31:00 2019/06/13
【摘要】 本节书摘来自华章计算机《Keras深度学习实战》一作者是拉蒂普·杜瓦(Rajdeep Dua)[印] 曼普里特·辛格·古特(Manpreet Singh Ghotra) 著 罗 娜 祁佳康 译。

智能系统与技术丛书

Keras  深 度 学 习 实 战

Keras Deep Learning Cookbook


Keras深度学习实战 立.jpg

拉蒂普·杜瓦(Rajdeep Dua)

[印]   曼普里特·辛格·古特(Manpreet Singh Ghotra)  著

罗 娜 祁佳康 译




The Translator’s Words

译 者 序


作为机器学习中的一个重要研究领域,人工神经网络的发展历史一波三折。2006年以来,随着深度学习的兴起和成功应用,人工神经网络迎来了新的生机。与传统的人工神经网络相比,深度学习的最大特点是网络层数有了大幅度的增加,配合其他相关技术,解决了以图像、声音等作为数据的传统人工神经网络难以解决的问题。作为快速实现深度学习的平台,TensorFlow一定程度上简化了神经网络的构建程序,Keras进一步对TensorFlow进行了封装,从而能更加快速地把用户的思想转化为代码。

本书从实用的角度出发,全方面介绍了如何使用Keras解决深度学习中的各类问题。本书假设读者无任何关于深度学习编程的基础知识,首先介绍了Keras这一高度模块化、极简式的深度学习框架的安装、配置和编译等平台搭建知识,而后详细介绍了深度学习所要求的数据预处理等基本内容,在此基础上介绍了卷积神经网络、生成式对抗网络、递归神经网络这三种深度学习方法并给出了相关实例代码,最后本书介绍了自然语言处理、强化学习两方面的内容。

本书是一本实践性很强的深度学习工具书,既适合希望快速学习和使用Keras深度学习框架的工程师、学者和从业者,又特别适合立志从事深度学习和AI相关的行业并且希望用Keras开发实际项目的工程技术人员。

本书翻译工作得到国家自然科学基金项目(项目编号:61403140)的资助,在此表示衷心感谢。

感谢华章公司的刘锋编辑不辞辛苦地与译者沟通相关细节内容,同时感谢他在翻译本书过程中给予的诸多帮助。

限于本人水平,难免会对本书中部分内容的理解或中文语言表达存在不当之处,敬请读者批评指正,以便能够不断改进。

 

罗娜 祁佳康

2019年于上海

 

 

 

 

About the REVIEWER

审校者简介

Sujit Pal工作于Reed-Elsevier PLC Group内的Elsevier实验室,研究涉及信息检索、分布式处理、本体开发、自然语言处理、机器学习,并用Python、Scala和Java进行开发。通过结合在这些领域的专长,帮助公司实现产品功能构建或改进。他相信终身学习,并长期在sujitpal.blogspot.com上记录他的一些见解。

 

 

 

 

 

PREFACE

前  言

Keras采用Python编写,能够快速准确地训练卷积神经网络和递归神经网络,已经成为当下流行的深度学习库。

本书讲述了如何在Keras库的帮助下,高效地解决在训练深度学习模型时遇到的各种问题。内容包括如何安装和设置Keras,如何在TensorFlow、Apache MXNet和CNTK后端开发中使用Keras实现深度学习。

从加载数据到拟合和评估模型获得最佳性能,你将逐步解决在深度学习建模时可能遇到的所有问题。在本书的帮助下,你将实现卷积神经网络、递归神经网络、对抗网络等。除此之外,你还将学习如何训练这些模型以实现真实的图像处理和语言处理任务。

本书的最后,你将完成一个实例以进一步了解如何利用Python和Keras的强大功能实现有效的深度学习。

本书读者对象

本书适合数据科学家或机器学习专家,可以帮助他们解决在训练深度学习模型时遇到的常见问题。阅读本书前,需要对Python有基本的了解,并了解机器学习和神经网络的内容。

本书涵盖的内容

第1章介绍了Keras的安装和设置过程以及如何配置Keras。

第2章介绍了使用CIFAR-10、CIFAR-100或MNIST等数据集,以及用于图像分类的其他数据集和模型。

第3章介绍了使用Keras的各种预处理和优化技术,优化技术包括TFOptimizer、AdaDelta等。

第4章详细描述了不同的Keras层,包括递归层和卷积层等。

第5章通过宫颈癌分类和数字识别数据集的实例,详细解释如何使用卷积神经网络算法。

第6章包括基本的生成式对抗网络(GAN)和边界搜索GAN。

第7章涵盖了递归神经网络的基础,以便实现基于历史数据集的Keras。

第8 章包括使用Keras进行单词分析和情感分析的NLP基础知识。

第9章展示了如何在Amazon评论数据集中使用Keras模型进行文本概述。

第10章侧重于使用Keras设计和开发强化学习模型。

阅读本书须知

读者应该掌握Keras和深度学习的基本知识。

排版约定

本书中包含许多排版约定。

文本中的代码元素、数据库表名、文件夹名、文件名、文件扩展名、路径名、用户输入和Twitter句柄都采用代码字体表示。举个例子:“最后,我们将所有评论保存到pickle文件中。”

代码段如下所示:

 image.png

当我们希望引起你对代码块的特定部分的注意时,相关的行或代码会以粗体显示:

 image.png

命令行的输入、输出表示如下:

 image.png

粗体:表示新术语、重要单词或词组。

警告或重要说明。

提示或小技巧。

示例代码及彩图下载

本书的示例代码及所有截图和样图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。

 

 

 

 

CONTENTS

目  录

译者序

审校者简介

前言


第1章 Keras安装  1

1.1 引言  1

1.2 在Ubuntu 16.04上安装Keras  1

1.2.1 准备工作  2

1.2.2 怎么做  2

1.3 在Docker镜像中使用Jupyter Notebook安装Keras  7

1.3.1 准备工作  7

1.3.2 怎么做  7

1.4 在已激活GPU的Ubuntu 16.04上安装Keras  9

1.4.1 准备工作  9

1.4.2 怎么做  10

第2章 Keras数据集和模型  13

2.1 引言  13

2.2 CIFAR-10数据集  13

2.3 CIFAR-100数据集  15

2.4 MNIST数据集  17

2.5 从CSV文件加载数据  18

2.6 Keras模型入门  19

2.6.1 模型的剖析  19

2.6.2 模型类型  19

2.7 序贯模型  20

2.8 共享层模型  27

2.8.1 共享输入层简介  27

2.8.2 怎么做  27

2.9 Keras函数API  29

2.9.1 怎么做  29

2.9.2 示例的输出  31

2.10 Keras函数API——链接层  31

2.11 使用Keras函数API进行图像分类  32

第3章 数据预处理、优化和可视化  36

3.1 图像数据特征标准化  36

3.1.1 准备工作  36

3.1.2 怎么做  37

3.2 序列填充  39

3.2.1 准备工作  39

3.2.2 怎么做  39

3.3 模型可视化  41

3.3.1 准备工作  41

3.3.2 怎么做  41

3.4 优化  43

3.5 示例通用代码  43

3.6 随机梯度下降优化法  44

3.6.1 准备工作  44

3.6.2 怎么做  44

3.7 Adam优化算法  47

3.7.1 准备工作  47

3.7.2 怎么做  47

3.8 AdaDelta优化算法  50

3.8.1 准备工作  51

3.8.2 怎么做  51

3.9 使用RMSProp进行优化  54

3.9.1 准备工作  54

3.9.2 怎么做  54

第4章 使用不同的Keras层实现分类  58

4.1 引言  58

4.2 乳腺癌分类  58

4.3 垃圾信息检测分类  66

第5章 卷积神经网络的实现  73

5.1 引言  73

5.2 宫颈癌分类  73

5.2.1 准备工作  74

5.2.2 怎么做  74

5.3 数字识别  84

5.3.1 准备工作  84

5.3.2 怎么做  85

第6章 生成式对抗网络  89

6.1 引言  89

6.2 基本的生成式对抗网络  90

6.2.1 准备工作  91

6.2.2 怎么做  91

6.3 边界搜索生成式对抗网络  98

6.3.1 准备工作  99

6.3.2 怎么做  100

6.4 深度卷积生成式对抗网络  106

6.4.1 准备工作  107

6.4.2 怎么做  108

第7章 递归神经网络  116

7.1 引言  116

7.2 用于时间序列数据的简单RNN  117

7.2.1 准备工作  118

7.2.2 怎么做  119

7.3 时间序列数据的LSTM网络  128

7.3.1 LSTM网络  128

7.3.2 LSTM记忆示例  129

7.3.3 准备工作  129

7.3.4 怎么做  129

7.4 使用LSTM进行时间序列预测  133

7.4.1 准备工作  134

7.4.2 怎么做  135

7.5 基于LSTM的等长输出序列到序列学习  143

7.5.1 准备工作  143

7.5.2 怎么做  144

第8章 使用Keras模型进行自然语言处理  150

8.1 引言  150

8.2 词嵌入  150

8.2.1 准备工作  151

8.2.2 怎么做  151

8.3 情感分析  157

8.3.1 准备工作  157

8.3.2 怎么做  159

8.3.3 完整代码清单  162

第9章 基于Keras模型的文本摘要  164

9.1 引言  164

9.2 评论的文本摘要  164

9.2.1 怎么做  165

9.2.2 参考资料  172

第10章 强化学习  173

10.1 引言  173

10.2 使用Keras进行《CartPole》游戏  174

10.3 使用竞争DQN算法进行《CartPole》游戏  181

10.3.1 准备工作  183

10.3.2 怎么做  187


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。