《深度学习快速实践:基于TENSORFLOW和KERAS的深度神经网络优化与训练》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)迈克·贝尼科著
  • 出 版 社:
  • 出版年份:2020
  • ISBN:
  • 页数:0 页
图书介绍:

第1章 深度学习的构建模块 1

1.1 深度神经网络的架构 1

1.1.1 神经元 1

1.1.2 深度学习中的代价函数和成本函数 4

1.1.3 前向传播过程 5

1.1.4 反向传播函数 5

1.1.5 随机和小批量梯度下降 6

1.2 深度学习的优化算法 6

1.2.1 采用具有动量的梯度下降 6

1.2.2 RMSProp算法 7

1.2.3 Adam优化器 7

1.3 深度学习平台架构 7

1.3.1 什么是TensorFlow? 7

1.3.2 什么是Keras? 8

1.3.3 TensorFlow的热门替代品 8

1.3.4 TensorFlow和Keras对GPU的要求 8

1.3.5 安装Nvidia CUDA Toolkit和cuDNN 9

1.3.6 安装Python 10

1.3.7 安装TensorFlow和Keras 11

1.4 深度学习数据集的构建 12

1.4.1 深度学习中的偏差和方差误差 13

1.4.2 train、val和test数据集 13

1.4.3 深度神经网络中的偏差和方差管理 14

1.4.4 K-Fold交叉验证 14

1.5 小结 15

第2章 用深度学习解决回归问题 16

2.1 回归分析和深度神经网络 16

2.1.1 使用神经网络进行回归的好处 16

2.1.2 使用神经网络进行回归时需要注意的问题 17

2.2 使用深度神经网络进行回归 17

2.2.1 如何规划机器学习问题 17

2.2.2 定义示例问题 17

2.2.3 加载数据集 18

2.2.4 定义成本函数 19

2.3 在Keras中建立MLP 19

2.3.1 输入层的构形 20

2.3.2 隐藏层的构形 20

2.3.3 输出层的构形 20

2.3.4 神经网络的架构 20

2.3.5 训练Keras模型 21

2.3.6 评测模型的性能 22

2.4 在Keras中建立深度神经网络 22

2.4.1 评测深度神经网络的性能 24

2.4.2 模型超参数的调优 25

2.5 保存并加载经过训练的Keras模型 25

2.6 小结 25

第3章 用TensorBoard监控网络训练 27

3.1 TensorBoard的概述 27

3.2 设置TensorBoard 27

3.2.1 安装TensorBoard 28

3.2.2 TensorBoard如何与KerasTensorFlow会话 28

3.2.3 运行TensorBoard 28

3.3 将Keras连接到TensorBoard 29

3.3.1 Keras回调简介 29

3.3.2 创建TensorBoard回调函数 29

3.4 使用TensorBoard 31

3.4.1 网络训练的可视化 31

3.4.2 网络结构的可视化 32

3.4.3 网络破碎的可视化 32

3.5 小结 33

第4章 用深度学习解决二元分类问题 34

4.1 二元分类和深度神经网络 34

4.1.1 深度神经网络的优点 34

4.1.2 深度神经网络的缺点 35

4.2 案例研究——癫痫发作识别 35

4.2.1 定义数据集 35

4.2.2 加载数据 35

4.2.3 模型的输入和输出 36

4.2.4 成本函数 36

4.2.5 性能评估所采用的度量指标 37

4.3 在Keras中构建二元分类器 37

4.3.1 输入层 38

4.3.2 隐藏层 38

4.3.3 输出层 39

4.3.4 网络层的合并 39

4.3.5 训练模型 40

4.4 使用Keras中的检查点回调函数 40

4.5 在自定义回调函数中测量ROC AUC 41

4.6 精度、召回率和f1积分的测量 42

4.7 小结 43

第5章 用Keras解决多元分类问题 44

5.1 多元分类和深度神经网络 44

5.1.1 优势 44

5.1.2 缺点 45

5.2 案例研究——手写数字的分类 45

5.2.1 问题定义 45

5.2.2 模型的输入和输出 45

5.2.3 成本函数 46

5.2.4 度量 46

5.3 在Keras中构建多元分类器 47

5.3.1 加载MNIST 47

5.3.2 输入层 47

5.3.3 隐藏层 47

5.3.4 输出层 48

5.3.5 网络的总体结构 49

5.3.6 训练 49

5.3.7 多类模型中scikit-learn度量指标的应用 50

5.4 通过Dropout进行方差控制 51

5.5 采用正则化进行方差控制 54

5.6 小结 55

第6章 超参数的优化 56

6.1 网络体系结构应该被视为超参数吗? 56

6.1.1 站在巨人的肩膀上 56

6.1.2 添加至过度拟合,然后进行正则化 57

6.1.3 实用建议 57

6.2 应该优化哪些超参数? 57

6.3 超参数优化策略 58

6.3.1 常用的策略 58

6.3.2 通过scikit-learn使用随机搜索 59

6.3.3 Hyperband 60

6.4 小结 62

第7章 从头开始训练CNN 63

7.1 卷积的引入 63

7.1.1 卷积层的工作原理 64

7.1.2 卷积层的好处 65

7.1.3 汇聚层 66

7.1.4 批量规格化 67

7.2 在Keras中训练卷积神经网络 67

7.2.1 输入 67

7.2.2 输出 67

7.2.3 成本函数和度量指标 67

7.2.4 卷积层 68

7.2.5 全相连层 68

7.2.6 Keras中的多GPU模型 69

7.2.7 训练 69

7.3 使用数据扩增 70

7.3.1 Keras中的图像数据扩增器(ImageDataGenerator类) 71

7.3.2 具有数据扩增的训练 72

7.4 小结 72

第8章 使用预训练CNN进行迁移学习 73

8.1 迁移学习概述 73

8.2 何时使用迁移学习 74

8.2.1 有限的数据 74

8.2.2 公共问题域 74

8.3 源/目标量和相似度的影响 75

8.3.1 更多的数据总是有益的 75

8.3.2 源/目标域的相似度 75

8.4 在Keras中进行迁移学习 75

8.4.1 目标域概述 76

8.4.2 源域概述 76

8.4.3 源网络体系结构 76

8.4.4 网络体系结构的迁移 77

8.4.5 数据准备 77

8.4.6 数据输入 78

8.4.7 训练(特征提取) 78

8.4.8 训练(调优) 80

8.5 小结 81

第9章 从头开始训练RNN 82

9.1 递归神经网络概述 82

9.1.1 如何让神经元进行递归? 83

9.1.2 长短时间记忆网络 84

9.1.3 在时间上的反向传播 86

9.2 重温时间序列问题 86

9.2.1 存量和流量 87

9.2.2 ARIMA和ARIMAX预测 87

9.3 使用LSTM网络进行时间序列预测 88

9.3.1 数据准备 89

9.3.2 网络输出 92

9.3.3 网络体系结构 93

9.3.4 stateful与stateless LSTM网络 93

9.3.5 训练 93

9.3.6 测量性能 94

9.4 小结 96

第10章 从头开始训练具有单词嵌入的LSTM网络 97

10.1 自然语言处理简介 97

10.1.1 语义分析 98

10.1.2 文档分类 98

10.2 文本的矢量化 99

10.2.1 NLP术语 99

10.2.2 Bag of Word模型 99

10.2.3 词干化、词形归并和停止词 100

10.2.4 计数和TF-IDF矢量化 100

10.3 单词嵌入 101

10.3.1 一个简单的例子 102

10.3.2 通过预测进行的单词嵌入学习 102

10.3.3 通过计数进行的单词嵌入学习 104

10.3.4 从单词到文档 104

10.4 Keras嵌入层 105

10.5 用于自然语言处理的1D CNN 105

10.6 文档分类的案例研究 106

10.6.1 使用Keras嵌入层和LSTM网络进行情感分析 106

10.6.2 使用和不使用GloVe的文档分类 110

10.7 小结 117

第11章 训练sequence-to-sequence模型 118

11.1 sequence-to-sequence模型 118

11.1.1 sequence-to-sequence模型的应用 118

11.1.2 sequence-to-sequence模型的体系结构 119

11.1.3 字符与单词 120

11.1.4 Teacher forcing 120

11.1.5 Attention 121

11.1.6 翻译的度量 121

11.2 机器翻译 121

11.2.1 了解数据集 122

11.2.2 加载数据 122

11.2.3 one hot编码 124

11.2.4 训练网络体系结构 125

11.2.5 网络体系结构(用于推理) 126

11.2.6 体系结构的合并 127

11.2.7 训练 128

11.2.8 推理 129

11.3 小结 133

第12章 使用深度强化学习 134

12.1 强化学习概述 134

12.1.1 Markov决策过程 135

12.1.2 Q-learning 136

12.1.3 无限状态空间 136

12.1.4 Deep Q网络 137

12.1.5 守成与探索 138

12.1.6 DeepMind 138

12.2 Keras的强化学习平台架构 139

12.2.1 安装Keras-RL 139

12.2.2 安装OpenAI gym 139

12.2.3 使用OpenAI gym 139

12.3 在Keras中构建一个强化学习智能体 140

12.3.1 CartPole 140

12.3.2 月球着陆器 143

12.4 小结 145

第13章 生成对抗网络 146

13.1 GAN的概述 146

13.2 深度卷积GAN的体系结构 147

13.2.1 对抗训练体系结构 147

13.2.2 生成器的体系结构 148

13.2.3 鉴别器的体系结构 149

13.2.4 堆训练 149

13.3 GAN如何失效 151

13.3.1 稳定性 151

13.3.2 模式塌缩 151

13.4 GAN的安全选择 151

13.5 使用Keras GAN进行的MNIST图像生成 152

13.5.1 加载数据集 152

13.5.2 构建生成器 153

13.5.3 构建鉴别器 153

13.5.4 堆叠模型的构建 154

13.5.5 训练循环 155

13.5.6 模型评估 157

13.6 使用Keras GAN进行CIFAR-10图像的生成 160

13.6.1 加载CIFAR-10 160

13.6.2 构建生成器 160

13.6.3 构建鉴别器 161

13.6.4 训练循环 161

13.6.5 模型评估 161

13.7 小结 162