仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
深度学习
DRAFT
2017 年 1 月 11 日
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
2
DRAFT
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
目录
第一部分 应用数学与机器学习基础
第二章 线性代数
第一章 前言
1
1.1 本书面向的读者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.2 深度学习的历史趋势 . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 神经网络的众多名称和命运变迁 . . . . . . . . . . . . . . . . 10
1.2.2 与日俱增的数据量 . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.3 与日俱增的模型规模 . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.4 与日俱增的精度、复杂度和对现实世界的冲击 . . . . . . . . . 19
DRAFT
24
2.1 标量,向量,矩阵和张量 . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2 矩阵和向量相乘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 单位矩阵和逆矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 线性相关和生成子空间 . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 范数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 特殊类型的矩阵和向量 . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7 特征分解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8 奇异值分解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9 Moore-Penrose 伪逆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.10 迹运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.11 行列式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.12 实例:主成分分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
22
3
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
4
目录
第三章 概率与信息论
44
3.1 为什么要用概率? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 随机变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 概率分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3.1 离散型变量和概率分布律函数 . . . . . . . . . . . . . . . . . . 47
3.3.2 连续型变量和概率密度函数 . . . . . . . . . . . . . . . . . . . 48
3.4 边缘概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5 条件概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.6 条件概率的链式法则 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7 独立性和条件独立性 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.8 期望,方差和协方差 . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.9 常用概率分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Bernoulli 分布 . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.9.1
3.9.2
Multinoulli 分布 . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.9.3 高斯分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.9.4 指数分布和 Laplace 分布 . . . . . . . . . . . . . . . . . . . . 55
3.9.5
Dirac 分布和经验分布 . . . . . . . . . . . . . . . . . . . . . . 55
3.9.6 分布的混合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10 常用函数的一些性质 . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.11 贝叶斯规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.12 连续型变量的技术细节 . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.13 信息论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.14 结构化概率模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
DRAFT
第四章 数值计算
69
4.1 上溢和下溢 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 病态条件数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 基于梯度的优化方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.1 梯度之上:Jacobian 和 Hessian 矩阵 . . . . . . . . . . . . . . 74
4.4 约束优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.5 实例:线性最小二乘 . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
目录
5
第五章 机器学习基础
DRAFT
84
5.1 学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 任务,T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.1.2 性能度量,P . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.1.3 经验,E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.1.4 实例:线性回归 . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2 容量,过拟合和欠拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.1 没有免费午餐定理 . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.2 正则化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3 超参数和验证集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.1 交叉验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4 估计,偏差和方差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.1 点估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.2 偏差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4.3 方差和标准误差 . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.4.4 权衡偏值和方差以最小化均方误差 . . . . . . . . . . . . . . . 109
5.4.5 一致性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.5 最大似然估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.5.1 条件对数似然和均方误差 . . . . . . . . . . . . . . . . . . . . 113
5.5.2 最大似然的性质 . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.6 贝叶斯统计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.6.1 最大后验(MAP)估计 . . . . . . . . . . . . . . . . . . . . . 117
5.7 监督学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.7.1 概率监督学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.7.2 支持向量机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.7.3 其他简单的监督学习算法 . . . . . . . . . . . . . . . . . . . . 121
5.8 无监督学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.8.1 主成分分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.8.2
k-均值聚类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.9 随机梯度下降 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.10 构建机器学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.11 推动深度学习的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.11.1 维数灾难 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
6
目录
第二部分 深层网络:现代实践
第六章 深度前馈网络
138
5.11.2 局部不变性和平滑正则化 . . . . . . . . . . . . . . . . . . . . 131
5.11.3 流形学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
DRAFT
140
6.1 实例:学习 XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.2 基于梯度的学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.2.1 代价函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.2.1.1 用最大似然学习条件分布 . . . . . . . . . . . . . . . . 149
6.2.1.2 学习条件统计量 . . . . . . . . . . . . . . . . . . . . . . 150
6.2.2 输出单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.2.2.1 用于高斯输出分布的线性单元 . . . . . . . . . . . . . . 151
6.2.2.2 用于 Bernoulli 输出分布的 sigmoid 单元 . . . . . . . . 152
6.2.2.3 用于 Multinoulli 输出分布的 softmax 单元 . . . . . . . 154
6.2.2.4 其他的输出类型 . . . . . . . . . . . . . . . . . . . . . . 156
6.3 隐藏单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6.3.1 整流线性单元及其扩展 . . . . . . . . . . . . . . . . . . . . . . 161
6.3.2
logistic sigmoid 与双曲正切函数 . . . . . . . . . . . . . . . . 163
6.3.3 其他隐藏单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
6.4 结构设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.4.1 通用近似性质和深度 . . . . . . . . . . . . . . . . . . . . . . . 165
6.4.2 其他结构上的考虑 . . . . . . . . . . . . . . . . . . . . . . . . 168
6.5 反向传播和其他的微分算法 . . . . . . . . . . . . . . . . . . . . . . . . 170
6.5.1 计算图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.5.2 微积分中的链式法则 . . . . . . . . . . . . . . . . . . . . . . . 171
6.5.3 递归地使用链式法则来实现 BP . . . . . . . . . . . . . . . . . 173
6.5.4 全连接 MLP 中 BP 的计算 . . . . . . . . . . . . . . . . . . . 175
6.5.5 符号到符号的导数 . . . . . . . . . . . . . . . . . . . . . . . . 176
6.5.6 一般化的 BP . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.5.7 实例:用于 MLP 训练的 BP . . . . . . . . . . . . . . . . . . 183
6.5.8 复杂化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
目录
7
第七章 深度学习的正则化
7.1.1
7.1.2
6.5.9 深度学习界以外的微分 . . . . . . . . . . . . . . . . . . . . . . 185
6.5.10 高阶微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
6.6 历史小记 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
191
7.1 参数范数惩罚 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
L2 参数正则化 . . . . . . . . . . . . . . . . . . . . . . . . . . 193
L1 参数正则化 . . . . . . . . . . . . . . . . . . . . . . . . . . 196
7.2 作为约束的范数惩罚 . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.3 正则化和欠约束问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
7.4 数据集增强 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
7.5 噪声鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
7.5.1 向输出目标注入噪声 . . . . . . . . . . . . . . . . . . . . . . . 203
7.6 半监督学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.7 多任务学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
7.8 提前终止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
7.9 参数绑定和参数共享 . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
7.9.1 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.10 稀疏表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.11 Bagging 和其他集成的方法 . . . . . . . . . . . . . . . . . . . . . . . . 214
7.12 Dropout
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
7.13 对抗训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
7.14 切面距离、正切传播和流形正切分类器 . . . . . . . . . . . . . . . . . 225
DRAFT
第八章 深度模型中的优化
228
8.1 学习和优化有什么不同 . . . . . . . . . . . . . . . . . . . . . . . . . . 228
8.1.1 经验风险最小化 . . . . . . . . . . . . . . . . . . . . . . . . . 229
8.1.2 替代损失函数和提前终止 . . . . . . . . . . . . . . . . . . . . 230
8.1.3 批算法和minibatch 算法 . . . . . . . . . . . . . . . . . . . . . 230
8.2 神经网络的优化挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
8.2.1 病态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
8.2.2 局部极小值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
8.2.3 高原,鞍点和其他平坦区域 . . . . . . . . . . . . . . . . . . . 237
仅供学习使用,不得用于商业目的。https://github.com/exacity/deeplearningbook-chinese
8
目录
8.2.4 悬崖和梯度爆炸 . . . . . . . . . . . . . . . . . . . . . . . . . 239
8.2.5 长期依赖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
8.2.6 非精确梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
8.2.7 局部和全局结构间的弱对应 . . . . . . . . . . . . . . . . . . . 241
8.2.8 优化的理论限制 . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.3 基本算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.3.1 随机梯度下降 . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.3.2 动量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Nesterov 动量 . . . . . . . . . . . . . . . . . . . . . . . . . . 248
8.3.3
8.4 参数初始化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
8.5 自适应学习率的算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
AdaGrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.5.1
RMSProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.5.2
Adam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
8.5.3
8.5.4 选择正确的优化算法 . . . . . . . . . . . . . . . . . . . . . . . 256
8.6 二阶近似方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
8.6.1 牛顿方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.6.2 共轭梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.6.3
BFGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
8.7 优化技巧和元算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
8.7.1
batch normalization . . . . . . . . . . . . . . . . . . . . . . . 263
8.7.2 坐标下降 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.7.3
Polyak 平均 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.7.4 监督预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.7.5 设计有助于优化的模型 . . . . . . . . . . . . . . . . . . . . . . 269
8.7.6 连续方法和课程学习 . . . . . . . . . . . . . . . . . . . . . . . 270
DRAFT
第九章 卷积神经网络
273
9.1 卷积运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
9.2 动机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
9.3 池化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
9.4 卷积与池化作为一种无限强的先验 . . . . . . . . . . . . . . . . . . . . 287
9.5 基本卷积函数的变体 . . . . . . . . . . . . . . . . . . . . . . . . . . . 288