第1章 深度学习简介 1
1.1 人工智能、机器学习与深度学习 2
1.2 深度学习的发展历程 6
1.3 深度学习的应用 10
1.3.1 计算机视觉 10
1.3.2 语音识别 13
1.3.3 自然语言处理 14
1.3.4 人机博弈 17
1.4 深度学习工具介绍和对比 19
小结 23
第2章 TensorFlow环境搭建 25
2.1 TensorFlow的主要依赖包 25
2.1.1 Protocol Buffer 25
2.1.2 Bazel 27
2.2 TensorFlow安装 29
2.2.1 使用Docker安装 30
2.2.2 使用pip安装 31
2.2.3 从源代码编译安装 32
2.3 TensorFlow测试样例 37
小结 38
第3章 TensorFlow入门 39
3.1 TensorFlow计算模型——计算图 39
3.1.1 计算图的概念 39
3.1.2 计算图的使用 40
3.2 TensorFlow数据模型——张量 42
3.2.1 张量的概念 42
3.2.2 张量的使用 44
3.3 TensorFlow运行模型——会话 45
3.4 TensorFlow实现神经网络 47
3.4.1 TensorFlow游乐场及神经网络简介 47
3.4.2 前向传播算法简介 50
3.4.3 神经网络参数与TensorFlow变量 54
3.4.4 通过TensorFlow训练神经网络模型 58
3.4.5 完整神经网络样例程序 62
小结 64
第4章 深层神经网络 66
4.1 深度学习与深层神经网络 66
4.1.1 线性模型的局限性 67
4.1.2 激活函数实现去线性化 70
4.1.3 多层网络解决异或运算 73
4.2 损失函数定义 74
4.2.1 经典损失函数 75
4.2.2 自定义损失函数 79
4.3 神经网络优化算法 81
4.4 神经网络进一步优化 85
4.4.1 学习率的设置 85
4.4.2 过拟合问题 87
4.4.3 滑动平均模型 91
小结 92
第5章 MNIST数字识别问题 94
5.1 MNIST数据处理 94
5.2 神经网络模型训练及不同模型结果对比 97
5.2.1 TensorFlow训练神经网络 97
5.2.2 使用验证数据集判断模型效果 102
5.2.3 不同模型效果比较 103
5.3 变量管理 107
5.4 TensorFlow模型持久化 112
5.4.1 持久化代码实现 112
5.4.2 持久化原理及数据格式 117
5.5 TensorFlow最佳实践样例程序 126
小结 132
第6章 图像识别与卷积神经网络 134
6.1 图像识别问题简介及经典数据集 135
6.2 卷积神经网络简介 139
6.3 卷积神经网络常用结构 142
6.3.1 卷积层 142
6.3.2 池化层 147
6.4 经典卷积网络模型 149
6.4.1 LeNet-5模型 150
6.4.2 Inception-v3模型 156
6.5 卷积神经网络迁移学习 160
6.5.1 迁移学习介绍 160
6.5.2 TensorFlow实现迁移学习 161
小结 168
第7章 图像数据处理 170
7.1 TFRecord输入数据格式 170
7.1.1 TFRecord格式介绍 171
7.1.2 TFRecord样例程序 171
7.2 图像数据处理 173
7.2.1 TensorFlow图像处理函数 174
7.2.2 图像预处理完整样例 183
7.3 多线程输入数据处理框架 185
7.3.1 队列与多线程 186
7.3.2 输入文件队列 190
7.3.3 组合训练数据(batching) 193
7.3.4 输入数据处理框架 196
7.4 数据集(Dataset) 199
7.4.1 数据集的基本使用方法 199
7.4.2 数据集的高层操作 202
小结 207
第8章 循环神经网络 208
8.1 循环神经网络简介 208
8.2 长短时记忆网络(LSTM)结构 214
8.3 循环神经网络的变种 218
8.3.1 双向循环神经网络和深层循环神经网络 218
8.3.2 循环神经网络的dropout 221
8.4 循环神经网络样例应用 222
小结 226
第9章 自然语言处理 227
9.1 语言模型的背景知识 227
9.1.1 语言模型简介 227
9.1.2 语言模型的评价方法 229
9.2 神经语言模型 232
9.2.1 PTB数据集的预处理 233
9.2.2 PTB数据的batching方法 236
9.2.3 基于循环神经网络的神经语言模型 238
9.3 神经网络机器翻译 244
9.3.1 机器翻译背景与Seq2Seq模型介绍 245
9.3.2 机器翻译文本数据的预处理 246
9.3.3 Seq2Seq模型的代码实现 250
9.3.4 注意力机制 257
小结 261
第10章 TensorFlow高层封装 262
10.1 TensorFlow高层封装总览 262
10.2 Keras介绍 267
10.2.1 Keras基本用法 267
10.2.2 Keras高级用法 272
10.3 Estimator介绍 277
10.3.1 Estimator基本用法 278
10.3.2 Estimator自定义模型 280
10.3.3 使用数据集(Dataset)作为Estimator输入 284
小结 286
第11章 TensorBoard可视化 287
11.1 TensorBoard简介 287
11.2 TensorFlow计算图可视化 289
11.2.1 命名空间与TensorBoard图上节点 290
11.2.2 节点信息 297
11.3 监控指标可视化 301
11.4 高维向量可视化 309
小结 317
第12章 TensorFlow计算加速 318
12.1 TensorFlow使用GPU 318
12.2 深度学习训练并行模式 324
12.3 多GPU并行 327
12.4 分布式TensorFlow 334
12.4.1 分布式TensorFlow原理 334
12.4.2 分布式TensorFlow模型训练 338
小结 348