深度学习:卷积神经网络从入门到精通
作者:张婷
出版时间: 2018.7
内容简介
旨在全面介绍各种卷积神经网络的模型、算法及应用,指导读者把握其形成和演变的基本脉络,以帮助读者在较短的时间内从入门达到精通的水平。有兴趣的读者可以从本书开始,通过图像分类、识别、检测和分割的案例,逐步深入卷积神经网络的核心,掌握深度学习的方法和精髓,领会AlphaGo战胜人类世界冠军的奥秘。
目录
CONTENTS
目 录
前言
第1章 概述 1
1.1 深度学习的起源和发展 1
1.2 卷积神经网络的形成和演变 4
1.3 卷积神经网络的应用和影响 6
1.4 卷积神经网络的缺陷和视图 9
1.5 卷积神经网络的GPU实现和cuDNN库 10
1.6 卷积神经网络的平台和工具 10
1.7 本书的内容结构和案例数据 13
1.7.1 内容结构 13
1.7.2 案例数据 15
第2章 预备知识 22
2.1 激活函数 22
2.2 矩阵运算 23
2.3 导数公式 24
2.4 梯度下降算法 25
2.5 反向传播算法 26
2.5.1 通用反向传播算法 27
2.5.2 逐层反向传播算法 28
2.6 通用逼近定理 31
2.7 内外卷积运算 31
2.8 膨胀卷积运算 32
2.9 上下采样运算 33
2.10 卷积面计算 34
2.11 池化面计算 36
2.12 局部响应归一化 36
2.13 权值偏置初始化 37
2.14 丢失输出 37
2.15 丢失连接 38
2.16 随机梯度下降算法 39
2.17 块归一化 39
2.18 动态规划算法 40
第3章 卷积神经网络的现代雏形——LeNet 41
3.1 LeNet的原始模型 41
3.2 LeNet的标准模型 43
3.3 LeNet的学习算法 44
3.4 LeNet的Caffe代码实现及说明 46
3.5 LeNet的手写数字识别案例 54
3.6 LeNet的交通标志识别案例 58
3.6.1 交通标志数据集的格式转换 58
3.6.2 交通标志的识别分类 60
3.7 LeNet的交通路网提取案例 63
3.7.1 交通路网的人工标注 64
3.7.2 交通路网的图像块分类 67
3.7.3 交通路网的图像块分类LeNet 69
3.7.4 交通路网的自动提取代码及说明 71
3.7.5 交通路网的自动提取程序运行结果 75
第4章 卷积神经网络的突破模型 78
4.1 AlexNet的模型结构 78
4.2 AlexNet的Caffe代码实现及说明 82
4.3 AlexNet的Caffe大规模图像分类案例及演示效果 95
4.4 AlexNet的TensorFlow代码实现及说明 97
4.5 AlexNet的TensorFlow大规模图像分类案例及演示效果 103
4.6 AlexNet的改进模型ZFNet 107
第5章 卷积神经网络的应变模型 109
5.1 SPPNet的模型结构 109
5.2 SPPNet的Caffe代码实现及说明 112
5.3 SPPNet的大规模图像分类案例及演示效果 114
第6章 卷积神经网络的加深模型 118
6.1 结构加深的卷积网络VGGNet 118
6.1.1 VGGNet的模型结构 118
6.1.2 VGGNet的TensorFlow代码实现及说明 120
6.1.3 VGGNet的物体图像分类案例 129
6.2 结构更深的卷积网络GoogLeNet 130
6.2.1 GoogLeNet的模型结构 130
6.2.2 GoogLeNet的TensorFlow代码实现及说明 136
6.2.3 GoogLeNet的鲜花图像分类案例 149
第7章 卷积神经网络的跨连模型 154
7.1 快道网络HighwayNet 154
7.2 残差网络ResNet 155
7.2.1 ResNet的模型结构 155
7.2.2 ResNet的Caffe代码实现及说明 157
7.2.3 ResNet的大规模图像分类案例 163
7.3 密连网络DenseNet 169
7.3.1 DenseNet的模型结构 169
7.3.2 DenseNet的Caffe代码实现及说明 171
7.3.3 DenseNet的物体图像分类案例 174
7.4 拼接网络CatNet 178
7.4.1 CatNet的模型结构 178
7.4.2 CatNet的Caffe代码实现及说明 179
7.4.3 CatNet的人脸图像性别分类案例 183
第8章 卷积神经网络的区域模型 190
8.1 区域卷积网络R-CNN 190
8.2 快速区域卷积网络Fast R-CNN 191
8.3 更快区域卷积网络Faster R-CNN 193
8.3.1 Faster R-CNN的模型结构 193
8.3.2 Faster R-CNN的TensorFlow代码实现及说明 196
8.3.3 Faster R-CNN的图像目标检测案例及演示效果 216
8.4 你只看一次网络YOLO 220
8.4.1 YOLO的模型结构 220
8.4.2 YOLO的TensorFlow代码实现及说明 226
8.4.3 YOLO的图像目标检测案例及演示效果 239
8.5 单次检测器SSD 242
8.5.1 SSD的模型结构 242
8.5.2 SSD的TensorFlow代码实现及说明 245
8.5.3 SSD的图像目标检测案例及演示效果 260
第9章 卷积神经网络的分割模型 266
9.1 全卷积网络FCN 266
9.1.1 FCN的模型结构 266
9.1.2 FCN的Caffe代码实现及说明 269
9.1.3 FCN的图像语义和几何分割案例 272
9.2 金字塔场景分析网络PSPNet 277
9.2.1 PSPNet的模型结构 277
9.2.2 PSPNet的TensorFlow代码实现及说明 282
9.2.3 PSPNet的图像语义分割案例及演示效果 291
9.3 掩膜区域卷积网络Mask R-CNN 294
9.3.1 Mask R-CNN的模型结构 294
9.3.2 Mask R-CNN的Keras和TensorFlow代码实现及说明 297
9.3.3 Mask R-CNN的图像实例分割案例及演示效果 318
第10章 卷积神经网络的特殊模型 325
10.1 孪生网络SiameseNet 325
10.1.1 SiameseNet的模型结构 325
10.1.2 SiameseNet的Caffe代码实现及说明 326
10.1.3 SiameseNet的手写数字验证案例 328
10.2 挤压网络SqueezeNet 331
10.2.1 SqueezeNet的模型结构 331
10.2.2 SqueezeNet的Caffe代码实现及说明 334
10.2.3 SqueezeNet大规模图像分类案例 337
10.3 深层卷积生成对抗网络DCGAN 339
10.3.1 DCGAN的模型结构 339
10.3.2 DCGAN的TensorFlow代码实现及说明 340
10.3.3 DCGAN的CelebA人脸图像生成案例 345
10.4 网中网NIN 348
10.4.1 NIN的模型结构 348
10.4.2 NIN的Caffe代码实现及说明 350
10.4.3 NIN大规模图像分类案例 353
第11章 卷积神经网络的强化模型 356
11.1 强化学习的基本概念 356
11.2 深度强化学习网络的学习算法 358
11.3 深度强化学习网络的变种模型 359
11.4 深度强化学习网络的Flappy Bird智能体案例 361
11.4.1 笨笨鸟网络的开发环境和工具包 362
11.4.2 笨笨鸟网络的代码实现及说明 363
11.4.3 笨笨鸟网络的学习训练过程 367
11.4.4 笨笨鸟网络的演示效果 370
第12章 卷积神经网络的顶尖成就——AlphaGo 371
12.1 人工智能棋类程序简介 371
12.2 AlphaGo的设计原理 373
12.2.1 总体思路 373
12.2.2 训练流程 374
12.2.3 搜索过程 377
12.3 AlphaGo Zero的新思想 380
12.4 仿效AlphaGo的围棋程序案例MuGo 383
12.4.1 MuGo的开发环境 383
12.4.2 MuGo的代码实现及说明 386
12.4.3 MuGo的学习训练过程 401
12.4.4 MuGo的演示效果 403
附录A Caffe在Windows上的?安装过程 406
附录B Caffe在Linux上的安装?过程 409
附录C TensorFlow在Windows?上的安装过程 412
附录D TensorFlow在Linux?上的安装过程 414
参考文献 416