1深度学习简介 1
1.1人工智能、机器学习和深度学习 1
1.1.1引言 1
1.1.2人工智能、机器学习和深度学习三者的关系 2
1.2神经网络 3
1.2.1 McCulloch-Pitts神经元模型 3
1.2.2人工神经网络到底能干什么?到底在干什么 5
1.2.3什么是激活函数?什么是偏值 7
1.3感知器 8
1.3.1什么是线性分类器 8
1.3.2线性分类器有什么优缺点 10
1.3.3感知器实例和异或问题(XOR问题) 11
1.4多层感知器 14
1.4.1损失函数 16
1.4.2梯度下降法和随机梯度下降法 17
1.4.3反向传播算法简述 20
1.5过拟合 21
1.5.1什么是过拟合 21
1.5.2 Dropout 22
1.5.3批规范化 23
1.5.4 L1、 L2和其他正则化方法 23
1.5.5 L1和L2正则化的区别 23
1.5.6 Lp正则化的图形化解释 24
1.5.7其他神经网络 25
2TensorLayer简介 27
2.1 TensorLayer问与答 27
2.1.1为什么我们需要TensorLayer 27
2.1.2为什么我们选择TensorLayer 28
2.2 TensorLayer的学习方法建议 28
2.2.1网络资源 28
2.2.2 TensorFlow官方深度学习教程 29
2.2.3深度学习框架概况 30
2.2.4 TensorLayer框架概况 31
2.2.5 TensorLayer实验环境配置 32
2.2.6 TensorLayer开源社区 33
2.3实现手写数字分类 33
2.4再实现手写数字分类 41
2.4.1数据迭代器 41
2.4.2通过all_ drop启动与关闭Dropout 42
2.4.3通过参数共享实现训练测试切换 45
3自编码器 49
3.1稀疏性 49
3.2稀疏自编码器 51
3.3实现手写数字特征提取 54
3.4降噪自编码器 60
3.5再实现手写数字特征提取 63
3.6堆栈式自编码器及其实现 67
4卷积神经网络 75
4.1卷积原理 75
4.1.1卷积操作 76
4.1.2张量 79
4.1.3卷积层 81
4.1.4池化层 83
4.1.5全连接层 85
4.2经典任务 86
4.2.1图像分类 86
4.2.2目标检测 86
4.2.3语义分割 90
4.2.4实例分割 90
4.3经典卷积网络 91
4.3.1 LeNet 92
4.3.2 AlexNet 92
4.3.3 VGGNet 93
4.3.4 GoogLeNet 95
4.3.5 ResNet 96
4.4实现手写数字分类 96
4.5数据增强与规范化 100
4.5.1数据增强 101
4.5.2批规范化 102
4.5.3局部响应归一化 104
4.6实现CIFAR 10分类 104
4.6.1方法1:tl.prepro做数据增强 104
4.6.2方法2: TFRecord做数据增强 110
4.7反卷积神经网络 116
5词的向量表达 117
5.1词汇表征 117
5.2语言模型 119
5.3 Word2Vec 119
5.3.1简介 119
5.3.2 Continuous Bag-Of-Words(CBOW)模型 120
5.3.3 Skip-Gram (SG)模型 122
5.3.4 Hierarchical Softmax 124
5.3.5 Negative Sampling 126
5.4实现Word2 Vec 127
5.4.1简介 127
5.4.2实现 128
5.5重载预训练矩阵 136
6递归神经网络 139
6.1为什么需要它 139
6.2不同的RNNs 142
6.2.1简单递归网络 142
6.2.2回音网络 143
6.3长短期记忆 144
6.3.1 LSTM概括 144
6.3.2 LSTM详解 147
6.3.3 LSTM变种 150
6.4实现生成句子 151
6.4.1模型简介 152
6.4.2数据迭代 154
6.4.3损失函数和更新公式 156
6.4.4生成句子及Top K采样 158
6.4.5接下来还可以做什么 161
7深度增强学习 162
7.1强化学习 163
7.1.1概述 163
7.1.2基于价值的强化学习 165
7.1.3基于策略的强化学习 168
7.1.4基于模型的强化学习 169
7.2深度强化学习 171
7.2.1深度Q学习 171
7.2.2深度策略网络 173
7.3更多参考资料 179
7.3.1书籍 179
7.3.2在线课程 179
8生成对抗网络 180
8.1何为生成对抗网络 181
8.2深度卷积对抗生成网络 182
8.3实现人脸生成 183
8.4还能做什么 190
9高级实现技巧 195
9.1与其他框架对接 195
9.1.1无参数层 196
9.1.2有参数层 196
9.2自定义层 197
9.2.1无参数层 197
9.2.2有参数层 199
9.3建立词汇表 200
9.4补零与序列长度 202
9.5动态递归神经网络 203
9.6实用小技巧 204
9.6.1屏蔽显示 205
9.6.2参数名字前缀 205
9.6.3获取特定参数 206
9.6.4获取特定层输出 207
10实例一:使用预训练卷积网络 208
10.1高维特征表达 208
10.2 VGG网络 209
10.3连接TF-Slim 215
11实例二:图像语义分割及其医学图像应用 219
11.1图像语义分割概述 219
11.1.1传统图像分割算法简介 221
11.1.2损失函数与评估指标 223
11.2医学图像分割概述 224
11.3全卷积神经网络和U-Net网络结构 226
11.4医学图像应用:实现脑部肿瘤分割 228
11.4.1数据与数据增强 229
11.4.2 U-Net网络 232
11.4.3损失函数 233
11.4.4开始训练 235
12实例三:由文本生成图像 238
12.1条件生成对抗网络之GAN-CLS 239
12.2实现句子生成花朵图片 240
13实例四:超高分辨率复原 254
13.1什么是超高分辨率复原 254
13.2网络结构 255
13.3联合损失函数 258
13.4训练网络 263
13.5使用测试 271
14实例五:文本反垃圾 274
14.1任务场景 274
14.2网络结构 275
14.3词的向量表示 276
14.4 Dynamic RNN分类器 277
14.5训练网络 278
14.5.1训练词向量 278
14.5.2文本的表示 284
14.5.3训练分类器 285
14.5.4模型导出 290
14.6 TensorFlow Serving部署 293
14.7客户端调用 295
14.8其他常用方法 300
中英对照表及其缩写 303
参考文献 310