第一部分 基础理论 2
第1章 概述 2
1.1 深度学习的起源和发展 2
1.2 深层网络的特点和优势 4
1.3 深度学习的模型和算法 7
第2章 预备知识 9
2.1 矩阵运算 9
2.2 概率论的基本概念 11
2.2.1 概率的定义和性质 11
2.2.2 随机变量和概率密度函数 12
2.2.3 期望和方差 13
2.3 信息论的基本概念 14
2.4 概率图模型的基本概念 15
2.5 概率有向图模型 16
2.6 概率无向图模型 20
2.7 部分有向无圈图模型 22
2.8 条件随机场 24
2.9 马尔可夫链 26
2.10 概率图模型的学习 28
2.11 概率图模型的推理 29
2.12 马尔可夫链蒙特卡罗方法 31
2.13 玻耳兹曼机的学习 32
2.14 通用反向传播算法 35
2.15 通用逼近定理 37
第3章 受限玻耳兹曼机 38
3.1 受限玻耳兹曼机的标准模型 38
3.2 受限玻耳兹曼机的学习算法 40
3.3 受限玻耳兹曼机的变种模型 44
第4章 自编码器 48
4.1 自编码器的标准模型 48
4.2 自编码器的学习算法 50
4.3 自编码器的变种模型 53
第5章 深层信念网络 57
5.1 深层信念网络的标准模型 57
5.2 深层信念网络的生成学习算法 60
5.3 深层信念网络的判别学习算法 62
5.4 深层信念网络的变种模型 63
第6章 深层玻耳兹曼机 64
6.1 深层玻耳兹曼机的标准模型 64
6.2 深层玻耳兹曼机的生成学习算法 65
6.3 深层玻耳兹曼机的判别学习算法 69
6.4 深层玻耳兹曼机的变种模型 69
第7章 和积网络 72
7.1 和积网络的标准模型 72
7.2 和积网络的学习算法 74
7.3 和积网络的变种模型 77
第8章 卷积神经网络 78
8.1 卷积神经网络的标准模型 78
8.2 卷积神经网络的学习算法 81
8.3 卷积神经网络的变种模型 83
第9章 深层堆叠网络 86
9.1 深层堆叠网络的标准模型 86
9.2 深层堆叠网络的学习算法 87
9.3 深层堆叠网络的变种模型 88
第10章 循环神经网络 89
10.1 循环神经网络的标准模型 89
10.2 循环神经网络的学习算法 91
10.3 循环神经网络的变种模型 92
第11章 长短时记忆网络 94
11.1 长短时记忆网络的标准模型 94
11.2 长短时记忆网络的学习算法 96
11.3 长短时记忆网络的变种模型 98
第12章 深度学习的混合模型、广泛应用和开发工具 102
12.1 深度学习的混合模型 102
12.2 深度学习的广泛应用 104
12.2.1 图像和视频处理 104
12.2.2 语音和音频处理 106
12.2.3 自然语言处理 108
12.2.4 其他应用 109
12.3 深度学习的开发工具 110
第13章 深度学习的总结、批评和展望 114
第二部分 案例分析 118
第14章 实验背景 118
14.1 运行环境 118
14.2 实验数据 118
14.3 代码工具 120
第15章 自编码器降维案例 121
15.1 自编码器降维程序的模块简介 121
15.2 自编码器降维程序的运行过程 122
15.3 自编码器降维程序的代码分析 127
15.3.1 关键模块或函数的主要功能 127
15.3.2 主要代码分析及注释 128
15.4 自编码器降维程序的使用技巧 138
第16章 深层感知器识别案例 139
16.1 深层感知器识别程序的模块简介 139
16.2 深层感知器识别程序的运行过程 140
16.3 深层感知器识别程序的代码分析 143
16.3.1 关键模块或函数的主要功能 143
16.3.2 主要代码分析及注释 143
16.4 深层感知器识别程序的使用技巧 148
第17章 深层信念网络生成案例 149
17.1 深层信念网络生成程序的模块简介 149
17.2 深层信念网络生成程序的运行过程 150
17.3 深层信念网络生成程序的代码分析 153
17.3.1 关键模块或函数的主要功能 153
17.3.2 主要代码分析及注释 153
17.4 深层信念网络生成程序的使用技巧 162
第18章 深层信念网络分类案例 163
18.1 深层信念网络分类程序的模块简介 163
18.2 深层信念网络分类程序的运行过程 165
18.3 深层信念网络分类程序的代码分析 169
18.3.1 关键模块或函数的主要功能 169
18.3.2 主要代码分析及注释 170
18.4 深层信念网络分类程序的使用技巧 201
第19章 深层玻耳兹曼机识别案例 202
19.1 深层玻耳兹曼机识别程序的模块简介 202
19.2 深层玻耳兹曼机识别程序的运行过程 203
19.3 深层玻耳兹曼机识别程序的代码分析 206
19.3.1 关键模块或函数的主要功能 206
19.3.2 主要代码分析及注释 206
19.4 深层玻耳兹曼机识别程序的使用技巧 220
第20章 卷积神经网络识别案例 221
20.1 DeepLearnToolbox程序的模块简介 221
20.2 DeepLearnToolbox程序的运行过程 221
20.3 DeepLearnToolbox程序的代码分析 223
20.3.1 关键函数的主要功能 223
20.3.2 主要代码分析及注释 223
20.4 DeepLearnToolbox程序的使用技巧 227
20.5 Caffe程序的模块简介 227
20.6 Caffe程序的运行过程 228
20.7 Caffe程序的代码分析 230
20.7.1 关键函数的主要功能 230
20.7.2 主要代码分析及注释 231
20.8 Caffe程序的使用技巧 235
第21章 循环神经网络填充案例 236
21.1 槽值填充的含义 236
21.2 循环神经网络填充程序的模块简介 236
21.3 循环神经网络填充程序的运行过程 237
21.4 循环神经网络填充程序的代码分析 238
21.4.1 关键函数的主要功能 238
21.4.2 主要代码分析及注释 238
21.5 循环神经网络填充程序的使用技巧 244
第22章 长短时记忆网络分类案例 245
22.1 长短时记忆网络分类程序的模块简介 245
22.2 长短时记忆网络分类程序的运行过程 246
22.3 长短时记忆网络分类程序的代码分析 247
22.3.1 关键模块或函数的主要功能 247
22.3.2 主要代码分析及注释 247
22.4 长短时记忆网络分类程序的使用技巧 262
附录1 Caffe在Windows上的安装过程 263
附录2 Theano的安装过程 267
参考文献 269