前言 1
引子·神之一手 1
第1章 走进深度学习的世界 5
1.1从人工智能到深度学习 5
1.2深度神经网络的威力:以AlphaGo为例 8
1.2.1策略网络简述 9
1.2.2泛化:看棋谱就能学会下围棋 11
1.2.3拟合与过拟合 11
1.2.4深度神经网络的速度优势 12
1.3深度神经网络的应用大观 13
1.3.1图像分类问题的难度所在 13
1.3.2用深度神经网络理解图像 15
1.3.3 AlphaGo中的深度神经网络 17
1.3.4自动发现规律:从数据A到答案B 17
1.3.5深度神经网络的更多应用 18
1.3.6从分而治之,到端对端学习 24
1.4亲自体验深度神经网络 25
1.4.1 TensorFlow游乐场 25
1.4.2 MNIST数字识别实例:LeNet-5 27
1.4.3策略网络实例 28
1.4.4简笔画:Sketch-RNN 29
1.4.5用GAN生成动漫头像 30
1.5深度神经网络的基本特点 31
1.5.1两大助力:算力、数据 31
1.5.2从特征工程,到逐层抽象 32
1.5.3深度神经网络学会的是什么 35
1.6人工智能与神经网络的历史 36
1.6.1人工智能的两大学派:逻辑与统计 37
1.6.2人工智能与神经网络的现代编年史 37
第2章 深度卷积网络:第一课 42
2.1神经元:运作和训练 43
2.1.1运作:从实例说明 43
2.1.2训练:梯度下降的思想 44
2.1.3训练:梯度下降的公式 46
2.1.4训练:找大小问题的初次尝试 48
2.1.5训练:Excel的实现 50
2.1.6重要知识:批大小、mini-batch、epoch 51
2.2深度学习框架MXNet:安装和使用 51
2.2.1计算图:动态与静态 52
2.2.2安装MXNet:准备工作 53
2.2.3在Windows下安装MXNet 54
2.2.4在macOS下安装MXNet:CPU版 57
2.2.5在macOS下安装MXNet:GPU版 58
2.2.6在Linux下安装MXNet 59
2.2.7安装Jupyter演算本 59
2.2.8实例:在MXNet训练神经元并体验调参 60
2.3神经网络:运作和训练 63
2.3.1运作:前向传播,与非线性激活的必要性 63
2.3.2运作:非线性激活 64
2.3.3训练:梯度的计算公式 66
2.3.4训练:实例 69
2.3.5训练:Excel的实现 70
2.3.6训练:反向传播 71
2.3.7重要知识:梯度消失,梯度爆炸 72
2.3.8从几何观点理解神经网络 72
2.3.9训练:MXNet的实现 73
第3章 深度卷积网络:第二课 77
3.1重要理论知识 77
3.1.1数据:训练集、验证集、测试集 77
3.1.2训练:典型过程 79
3.1.3有监督学习:回归、分类、标签、排序、Seq2Seq 79
3.1.4无监督学习:聚类、降维、自编码、生成模型、推荐 81
3.1.5训练的障碍:欠拟合、过拟合 82
3.1.6训练的细节:局部极值点、鞍点、梯度下降算法 83
3.2神经网络的正则化 85
3.2.1修改损失函数:L2和L1正则化 85
3.2.2修改网络架构:Dropout正则化 86
3.2.3更多技巧:集合、多任务学习、参数共享等 86
3.2.4数据增强与预处理 88
3.3神经网络的调参 89
3.3.1学习速率 89
3.3.2批大小 90
3.3.3初始化方法 92
3.3.4调参实战:重返TensorFlow游乐场 93
3.4实例:MNIST问题 95
3.4.1重要知识:SoftMax层、交叉熵损失 96
3.4.2训练代码与网络架构 98
3.4.3超越MNIST:最新的Fashion-MNIST数据集 101
3.5网络训练的常见bug和检查方法 103
3.6网络训练性能的提高 104
第4章 深度卷积网络:第三课 106
4.1卷积网络:从实例说明 106
4.1.1实例:找橘猫,最原始的方法 107
4.1.2实例:找橘猫,更好的方法 108
4.1.3实例:卷积和池化 108
4.1.4卷积网络的运作 111
4.2运作:AlphaGo眼中的棋盘 112
4.2.1棋盘的编码 113
4.2.2最简化的策略网络 115
4.2.3最简化的策略网络:特征层和卷积后的结果 116
4.3卷积神经网络:进一步了解 122
4.3.1卷积核、滤波器与参数量的计算 122
4.3.2运作和训练的计算 123
4.3.3外衬与步长 124
4.3.4缩小图像:池化与全局池化 126
4.3.5放大图像:转置卷积 127
4.4实例:用卷积网络解决MNIST问题 128
4.4.1网络架构的定义与参数量的计算 129
4.4.2训练MNIST网络 130
4.4.3在MXNet运行训练后的网络 131
4.4.4调参实例 133
4.4.5在Fashion-MNIST数据集的结果 133
4.5 MXNet的使用技巧 134
4.5.1快速定义多个层 134
4.5.2网络的保存与读取 135
4.5.3图像数据的打包和载入 135
4.5.4深入MXNet训练细节 136
4.5.5在浏览器和移动设备运行神经网络 139
第5章 深度卷积网络:第四课 141
5.1经典的深度卷积网络架构 142
5.1.1深度学习革命的揭幕者:AlexNet 142
5.1.2常用架构:VGG系列 145
5.1.3去掉全连接层:DarkNet系列 147
5.2网络的可视化:以AlexNet为例 150
5.3迁移学习:精调、预训练等 155
5.4架构技巧:基本技巧 157
5.4.1感受野与缩小卷积核 157
5.4.2使用1×1卷积核 158
5.4.3批规范化 160
5.4.4实例:回顾Fashion-MNIST问题 161
5.4.5实例:训练CIFAR-10模型 164
5.5架构技巧:残差网络与通道组合 169
5.5.1残差网络:ResNet的思想 169
5.5.2残差网络:架构细节 171
5.5.3残差网络:来自于集合的理解与随机深度 172
5.5.4残差网络:MXNet实现,以策略网络为例 173
5.5.5通道组合:Inception模组 174
5.5.6通道组合:XCeption架构,深度可分卷积 177
5.5.7实例:再次训练CIFAR-10模型 178
5.6架构技巧:更多进展 181
5.6.1残差网络进展:ResNext、Pyramid Net、DenseNet 181
5.6.2压缩网络:SqueezeNet、MobileNet、ShuffleNet 183
5.6.3卷积核的变形 188
5.7物体检测与图像分割 189
5.7.1 YOLO v1:实时的物体检测网络 190
5.7.2 YOLO v2:更快、更强 192
5.7.3 Faster R-CNN:准确的物体检测网络 194
5.7.4 Mask-RCNN:准确的图像分割网络 195
5.8风格转移 197
第6章 AlphaGo架构综述 200
6.1从AlphaGo到AlphaZero 201
6.1.1 AlphaGo v 13与AlphaGo v18 201
6.1.2 AlphaGo Master与AlphaGo Zero 202
6.1.3解决一切棋类:AlphaZero 204
6.2 AlphaGo的对弈过程 205
6.2.1策略网络 205
6.2.2来自人类的思路 208
6.2.3蒙特卡洛树搜索与估值问题 209
6.2.4从快速走子估值到价值网络 211
6.2.5从搜索树看策略与价值网络的作用 213
6.2.6策略与价值网络的运作实例 215
6.3 AlphaGo中的深度卷积网络架构 217
6.4 AlphaGo的训练过程 219
6.4.1原版AlphaGo:策略梯度方法 219
6.4.2新版AlphaGo:从蒙特卡洛树搜索学习 220
6.5 AlphaGo方法的推广 221
第7章 训练策略网络与实战 224
7.1训练前的准备工作 224
7.1.1棋谱数据 225
7.1.2落子模拟 226
7.1.3终局判断 226
7.2训练代码 227
7.2.1主程序:train.py 227
7.2.2训练参数:config.py 233
7.2.3辅助函数:util.py 234
7.2.4棋盘随机变换:symmetry.py 235
7.2.5训练实例 236
7.3对弈实战 237
第8章 生成式对抗网络:GAN 240
8.1 GAN的起源故事 240
8.2 GAN的基本原理 242
8.2.1生成模型:从图像到编码,从编码到图像 242
8.2.2 GAN的基本效果 243
8.2.3 GAN的训练方法 246
8.3实例:DCGAN及训练过程 248
8.3.1网络架构 248
8.3.2训练代码 249
8.4 GAN的更多架构和应用 255
8.4.1图像转移:CycleGAN系列 255
8.4.2生成高分辨率图像:nVidia的改进 260
8.4.3自动提取信息:InfoGAN 261
8.4.4更多应用 264
8.5更多的生成模型方法 266
8.5.1自编码器:从AE到VAE 266
8.5.2逐点生成:PixelRNN和PixelCNN系列 267
8.5.3将VAE和GAN结合:CVAE-GAN 268
第9章 通向智能之秘 272
9.1计算机视觉的难度 272
9.2对抗样本,与深度网络的特点 276
9.3人工智能的挑战与机遇 278
9.3.1棋类游戏中的电脑陷阱 278
9.3.2偏见、过滤气泡与道德困境 280
9.3.3语言的迷局 283
9.3.4强化学习、机器人与目标函数 286
9.3.5创造力、审美与意识之谜 290
9.3.6预测学习:机器学习的前沿 293
9.4深度学习的理论发展 295
9.4.1超越反向传播:预测梯度与生物模型 295
9.4.2超越神经网络:Capsule与gcForest 297
9.4.3泛化问题 300
9.5深度学习与人工智能的展望 304
9.5.1工程层面 304
9.5.2理论层面 304
9.5.3应用层面 305
跋 人工智能与我们的未来 306
附录 深度学习与AI的网络资源 310