描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121326226丛书名: 博文视点AI系列
1.TensorLayer是一个基于TensorFlow的深度学习开发工具。其透明,灵活,高性能的特点,使得它得到了大量初学者乃至资深开发者的青睐。TensorLayer获得了ACM Multimedia颁发的2017年度*开源软件奖。
2.本书是在帝国理工学院计算机系终身教授郭毅可的领导下,由TensorLayer创始人领衔,TensorLayer主要开发团队倾力打造而成,作者全部来自一线人工智能研究员和工程师,为读者提供了一次非常美妙的AI之旅。
3.本书案例是作者们经过精心挑选后写作的,其中不乏诸如,价值上亿美金的超高分辨率复原、已实际应用在医学上的图像语义分割等黄金案例,值得初学者和研究者们学习参考。
4.本书作者额外提供了案例使用的模型,请到下载使用。
1 深度学习简介1
1.1 人工智能、机器学习和深度学习. . . . . . . . . . . . . . . . . . .
. . . . 1
1.1.1 引言. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 1
1.1.2 人工智能、机器学习和深度学习三者的关系. . . . . . . . . . . . 2
1.2 神经网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 3
1.2.1 感知器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 3
1.2.2 激活函数. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 5
1.2.3 损失函数. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 8
1.2.4 梯度下降和随机梯度下降. . . . . . . . . . . . . . . . . . .
. . . 8
1.2.5 反向传播算法简述. . . . . . . . . . . . . . . . . . .
. . . . . . . 11
1.2.6 其他神经网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 12
1.3 学习方法建议. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 13
1.3.1 网络资源. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 13
1.3.2 TensorFlow 官方深度学习教程. . . . . . . . . . . . . . . . . . .
. 14
1.3.3 开源社区. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 15
1.4 TensorLayer . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 15
1.4.1 深度学习框架概况. . . . . . . . . . . . . . . . . . .
. . . . . . . 15
1.4.2 TensorLayer 概括. . . . . . . . . . . . . . . . . . .
. . . . . . . . 16
1.4.3 实验环境配置. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 17
2 多层感知器19
2.1 McCulloch-Pitts 神经元模型. . . . . . . . . . . . . . . . . . .
. . . . . . . 19
2.1.1 人工神经网络到底能干什么?到底在干什么. . . . . . . . . . . . 21
2.1.2 什么是激活函数?什么是偏值. . . . . . . . . . . . . . . . . . .
. 22
2.2 感知器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 23
2.2.1 什么是线性分类器. . . .
. . . . . . . . . . . . . . . . . . . . . . 24
2.2.2 线性分类器有什么优缺点. . . . . . . . . . . . . . . . . . .
. . . 26
2.2.3 感知器实例和异或问题(XOR 问题) . . . . . . . . . . . . . . . 26
2.3 多层感知器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 30
2.4 实现手写数字分类. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 32
2.5 过拟合. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 40
2.5.1 什么是过拟合. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 40
2.5.2 Dropout . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 41
2.5.3 批规范化. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 42
2.5.4 L1、L2 和其他正则化方法. . . . . . . . . . . . . . . . . . .
. . . 42
2.5.5 Lp 正则化的图形化解释. . . . . . . . . . . . . . . . . . .
. . . . 44
2.6 再实现手写数字分类. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 46
2.6.1 数据迭代器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 46
2.6.2 通过all_drop 启动与关闭Dropout
. . . . . . . . . . . . . . . . 47
2.6.3 通过参数共享实现训练测试切换. . . . . . . . . . . . . . . . . . 50
3 自编码器54
3.1 稀疏性. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 54
3.2 稀疏自编码器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 56
3.3 实现手写数字特征提取. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 59
3.4 降噪自编码器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 65
3.5 再实现手写数字特征提取. . . . . . . . . . . . . . . . . . .
. . . . . . . . 68
3.6 堆栈式自编码器及其实现. . . . . . . . . . . . . . . . . . .
. . . . . . . . 72
4 卷积神经网络80
4.1 卷积原理. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 80
4.1.1 卷积操作. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 81
4.1.2 张量. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 84
4.1.3 卷积层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 85
4.1.4 池化层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 87
4.1.5 全连接层. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2 经典任务. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 90
4.2.1 图像分类. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 90
4.2.2 目标检测. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 91
4.2.3 语义分割. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 94
4.2.4 实例分割. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 94
4.3 经典卷积网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 95
4.3.1 LeNet . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 95
4.3.2 AlexNet . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 96
4.3.3 VGGNet . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 96
4.3.4 GoogLeNet . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 98
4.3.5 ResNet . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 99
4.4 实现手写数字分类. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 100
4.5 数据增强与规范化. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 104
4.5.1 数据增强. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 104
4.5.2 批规范化. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 106
4.5.3 局部响应归一化. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 107
4.6 实现CIFAR10 分类. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 108
4.6.1 方法1:tl.prepro 做数据增强. . . .
. . . . . . . . . . . . . . . . . 108
4.6.2 方法2:TFRecord 做数据增强. . . .
. . . . . . . . . . . . . . . . 114
4.7 反卷积神经网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 120
5 词的向量表达121
5.1 目的与原理. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 121
5.2 Word2Vec . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 124
5.2.1 简介. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 124
5.2.2 Continuous Bag-Of-Words(CBOW)模型. . . . . . . . . . . . . 124
5.2.3 Skip Gram(SG)模型. . . . . . . . . . . . . . . . . . .
. . . . . 129
5.2.4 Hierarchical Softmax . . . . . . . . . . . . . . . . .
. . . . . . . . . 132
5.2.5 Negative Sampling . . . . . . . . . . . . . . . . . .
. . . . . . . . . 135
5.3 实现Word2Vec
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.3.1 简介. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 136
5.3.2 实现. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 136
5.4 重载预训练矩阵. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 144
6 递归神经网络148
6.1 为什么需要它. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 148
6.2 不同的RNNs . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 151
6.2.1 简单递归网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 151
6.2.2 回音网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 152
6.3 长短期记忆. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 153
6.3.1 LSTM 概括. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 153
6.3.2 LSTM 详解. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 157
6.3.3 LSTM 变种. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 159
6.4 实现生成句子. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 160
6.4.1 模型简介. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 160
6.4.2 数据迭代. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 163
6.4.3 损失函数和更新公式. . . . . . . . . . . . . . . . . . .
. . . . . . 164
6.4.4 生成句子及Top K 采样. . . . . . . . . . . . . . . . . . .
. . . . . 167
6.4.5 接下来还可以做什么. . . . . . . . . . . . . . . . . . .
. . . . . . 169
7 深度增强学习171
7.1 增强学习. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 172
7.1.1 概述. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 172
7.1.2 基于价值的增强学习. . . . . . . . . . . . . . . . . . .
. . . . . . 173
7.1.3 基于策略的增强学习. . . . . . . . . . . . . . . . . . .
. . . . . . 176
7.1.4 基于模型的增强学习. . . . . . . . . . . . . . . . . . .
. . . . . . 177
7.2 深度增强学习. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 179
7.2.1 深度Q 学习. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 179
7.2.2 深度策略网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 181
7.3 更多参考资料. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3.1 书籍. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 187
7.3.2 在线课程. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 187
8 生成对抗网络188
8.1 何为生成对抗网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 189
8.2 深度卷积对抗生成网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 190
8.3 实现人脸生成. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 191
8.4 还能做什么. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 198
9 高级实现技巧202
9.1 与其他框架对接. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 202
9.1.1 无参数层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 203
9.1.2 有参数层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 203
9.2 自定义层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 204
9.2.1 无参数层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 204
9.2.2 有参数层. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 205
9.3 建立词汇表. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 207
9.4 补零与序列长度. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 209
9.5 动态递归神经网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 210
9.6 实用小技巧. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 211
9.6.1 屏蔽显示. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 211
9.6.2 参数名字前缀. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 212
9.6.3 获取特定参数. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 213
9.6.4 获取特定层输出. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 213
10 实例一:使用预训练卷积网络214
10.1 高维特征表达. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 214
10.2 VGG 网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 215
10.3 连接TF-Slim
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
11 实例二:图像语义分割及其医学图像应用225
11.1 图像语义分割概述. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 225
11.1.1 传统图像分割算法简介. . . . . . . . . . . . . . . . . . .
. . . . . 227
11.1.2 损失函数与评估指标. . . . . . . . . . . . . . . . . . .
. . . . . . 229
11.2 医学图像分割概述. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 230
11.3 全卷积神经网络和U-Net 网络结构. . . . . . . . . . . . . . . . . . .
. . 232
11.4 医学图像应用:实现脑部肿瘤分割. . . . . . . . . . . . . . . . . . .
. . 234
11.4.1 数据与数据增强. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 235
11.4.2 U-Net 网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 238
11.4.3 损失函数. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 239
11.4.4 开始训练. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 241
12 实例三:由文本生成图像244
12.1 条件生成对抗网络之GAN-CLS . . . . . . . . . . . . . . .
. . . . . . . . 245
12.2 实现句子生成花朵图片. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 246
13 实例四:超高分辨率复原260
13.1 什么是超高分辨率复原. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 260
13.2 网络结构. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 261
13.3 联合损失函数. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 264
13.4 训练网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 269
13.5 使用测试. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 277
14 实例五:文本反垃圾280
14.1 任务场景. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 280
14.2 网络结构. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 281
14.3 词的向量表示. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 282
14.4 Dynamic RNN 分类器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 283
14.5 训练网络. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 284
14.5.1 训练词向量. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 284
14.5.2 文本的表示. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 290
14.5.3 训练分类器. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 291
14.5.4 模型导出. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 296
14.6 TensorFlow Serving 部署. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 299
14.7 客户端调用. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 301
14.8 其他常用方法. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 306
中英对照表及其缩写309
参考文献316
2017年12月
评论
还没有评论。