第 1 章 引言 ......................................... 1
1.1 深度学习时代 ....................................... 1
1.1.1 深度学习初探 ................................ 2
1.1.2 超越分类 ........................................ 4
1.1.3 深度学习的应用领域 .................... 5
1.1.4 深度学习涉及的角色 .................... 6
1.2 任务和架构概览 ................................... 6
1.2.1 前馈全连接神经网络 .................... 7
1.2.2 自编码器 ........................................ 7
1.2.3 卷积神经网络 ................................ 9
1.2.4 循环神经网络、长短期记忆网络和门控循环单元 .......... 9
1.2.5 Transformer 和注意力机制 ........... 9
1.2.6 扩散模型和其他变分自编码器 ...................... 10
1.2.7 生成对抗网络 .............................. 10
1.2.8 深度强化学习 .............................. 10
1.2.9 图神经网络 .................................. 11
1.3 深度学习的核心要素 ......................... 11
1.3.1 神经网络与人造大脑 .................. 11
1.3.2 算力 .............................................. 13
1.3.3 大规模数据集 .............................. 13
1.3.4 互联网、软件实践和开源 .......... 14
1.4 数据 ..................................................... 15
1.5 作为数学工程学科的深度学习 ......... 18
1.5.1 本书使用的数学 .......................... 19
1.5.2 通过高等数学发展和研究深度学习 ..................... 19
1.6 符号和数学背景知识 ......................... 20
注释与参考文献 .......................................... 21
第 2 章 机器学习原理 .......................... 23
2.1 机器学习的关键活动 .......................... 23
2.1.1 数据的划分 ................................... 25
2.1.2 数据预处理 ................................... 26
2.1.3 学习≈优化 .................................... 27
2.2 监督学习 .............................................. 27
2.2.1 回归和特征工程 ........................... 27
2.2.2 二分类 ........................................... 29
2.2.3 监督学习的方法和算法 ............... 33
2.3 本书的核心:线性模型 ...................... 34
2.3.1 线性模型的学习 ........................... 34
2.3.2 其他损失函数 ............................... 36
2.3.3 类别型输入特征 ........................... 37
2.3.4 多分类 ........................................... 38
2.4 基于迭代优化的学习 .......................... 41
2.4.1 线性模型的学习率分析 ............... 42
2.4.2 损失景观和输入的标准化 ........... 43
2.5 泛化、正则化和验证 .......................... 45
2.5.1 未见数据上的性能 ....................... 46
2.5.2 模型选择、欠拟合和过拟合 ....... 47
2.5.3 偏差和方差分解 ........................... 49
2.5.4 添加正则化项 ............................... 50
2.5.5 超参数校准和交叉验证 ............... 51
2.6 无监督学习概览 .................................. 53
2.6.1 k 均值聚类 .................................... 53
2.6.2 基于 k 均值算法的图像分割 ....... 55
2.6.3 无监督学习中的矩阵 ................... 56
2.6.4 主成分分析 ................................... 57
2.6.5 PCA 的推导 .................................. 58
2.6.6 通过 SVD 的 PCA ........................ 59
2.6.7 SVD 用于压缩 .............................. 60
注释与参考文献 .......................................... 61
第 3 章 简单神经网络 .......................... 64
3.1 统计中的 logistic 回归模型 ................ 64
3.1.1 模型 .............................................. 65
3.1.2 logistic 分布简介 .......................... 65
3.1.3 极大似然估计 .............................. 66
3.1.4 二元交叉熵损失 .......................... 67
3.1.5 预测概率和参数可解释性 .......... 68
3.1.6 基于 logistic 回归模型的分类器是线性分类器 ....... 69
3.2 logistic回归模型是一个浅层神经网络 ... 71
3.2.1 logistic 回归模型是一个人工神经元 .......................................... 71
3.2.2 logistic 回归模型的训练 .............. 72
3.2.3 交叉熵损失的一些优点 .............. 73
3.3 多分类问题与 softmax ....................... 74
3.3.1 模型 .............................................. 74
3.3.2 softmax 函数和作为浅层神经网络的多项式回归模型 .......... 76
3.3.3 似然和交叉熵 .............................. 77
3.3.4 导数和学习 .................................. 79
3.3.5 多项式回归模型的分类产生凸多面体决策区域 .................. 80
3.4 超越线性决策边界 ............................. 82
3.4.1 sigmoid 响应函数的增强 ............. 82
3.4.2 多项式特征工程的一般设置 ...... 83
3.4.3 一般分类边界 .............................. 84
3.5 浅层自编码器 ..................................... 86
3.5.1 自编码器原理 .............................. 86
3.5.2 单层自编码器 .............................. 87
3.5.3 PCA 是一种自编码器 .................. 89
3.5.4 自编码器作为非线性 PCA 的一种形式 ..................................... 91
3.5.5 应用和架构 .................................. 92
注释与参考文献 .......................................... 95
第 4 章 优化算法 ................................ 96
4.1 优化问题的形式化表述 ..................... 96
4.1.1 一般设置 ...................................... 96
4.1.2 局部极小点和全局最小点 .......... 97
4.1.3 凸性和鞍点 .................................. 98
4.1.4 深度学习中的目标函数 .............. 99
4.1.5 某些浅层神经网络的凸性 .......... 99
4.1.6 下降方向方法的一般方法 ........ 101
4.2 深度学习背景下的优化 ................... 102
4.2.1 基本梯度下降法面临的挑战 ..... 103
4.2.2 随机梯度下降 ............................ 104
4.2.3 小批量和轮次 ............................ 106
4.2.4 最小化损失是最优性能的替代指标 .................... 107
4.3 ADAM 算法 ...................................... 109
4.3.1 自适应优化和指数平滑 ............ 110
4.3.2 动量 ............................................ 110
4.3.3 每个分量的自适应学习率 ........ 111
4.3.4 指数平滑的偏差校正 ................ 113
4.3.5 完整 ADAM 算法 ...................... 114
4.4 自动微分 ........................................... 115
4.4.1 数值微分和符号微分 ................ 115
4.4.2 可微编程概述 ............................ 116
4.4.3 计算图和前向模式自动微分 .... 118
4.4.4 反向模式自动微分 .................... 121
4.5 一阶方法的其他技术 ....................... 123
4.5.1 Nesterov 动量和 Nadam 算法 ... 123
4.5.2 AdaDelta ..................................... 124
4.5.3 其他范数和 AdaMax ................. 125
4.5.4 线搜索 ........................................ 126
4.5.5 非精确线搜索 ............................ 129
4.6 二阶方法的概念 ............................... 130
4.6.1 单变量情况 ................................ 131
4.6.2 多变量情况和黑塞矩阵 ............ 134
4.6.3 拟牛顿法 .................................... 135
4.6.4 BFGS 和 L-BFGS 更新规则 ..... 138
注释与参考文献 ........................................ 139
第 5 章 前馈深度神经网络 .................. 142
5.1 通用全连接架构 ............................... 142
5.1.1 基于函数组合的模型 ................ 144
5.1.2 仿射变换与激活函数 ................ 144
5.1.3 前向传播 .................................... 145
5.1.4 具体维度示例 ............................ 145
5.1.5 模型的标量视图 ........................ 146
5.1.6 跨多个样本的向量化 ................ 146
5.1.7 模型训练概述 ............................ 147
5.2 神经网络的表达力 ........................... 148
5.2.1 简单函数逼近 ............................ 148
5.2.2 通用逼近定理 ............................ 149
5.2.3 隐层的优势 ................................ 150
5.2.4 通过简单模型实现特定的函数 ... 150
5.2.5 神经网络特征的聚焦性 ............ 152
5.2.6 深度增加带来的表达力提升 ..... 153
5.3 激活函数的选择 ............................... 154
5.3.1 标量激活函数及其导数 ............ 154
5.3.2 非标量激活函数及其导数 ........ 156
5.4 反向传播算法 ................................... 157
5.4.1 一般递归模型的反向传播 ........ 157
5.4.2 一个展开的示例 ........................ 159
5.4.3 用 代替 ζ的反向传播算法 .......................... 160
5.4.4 全连接网络的反向传播 ............ 161
5.4.5 整个小批量的反向传播 ............ 163
5.4.6 梯度消失和梯度爆炸 ................ 163
5.5 权重初始化 ....................................... 164
5.5.1 Xavier 初始化的推导 ................ 165
5.5.2 梯度消失或梯度爆炸值的进一步洞察 ................ 165
5.6 批量归一化 ....................................... 166
5.6.1 每单元归一化的思想 ................ 166
5.6.2 生产环境中的批量归一化 ........ 167
5.6.3 批量归一化参数的反向传播 .... 168
5.7 用 dropout 和正则化缓解过拟合 ..... 169
5.7.1 dropout ........................................ 169
5.7.2 将 dropout 视为集成的近似 ...... 171
5.7.3 添加正则化项和权重衰减 ........ 172
注释与参考文献 ........................................ 173
第 6 章 卷积神经网络 ........................ 175
6.1 CNN 概述 .......................................... 175
6.1.1 滤波 ............................................ 176
6.1.2 VGG19 网络 ............................... 177
6.2 卷积运算 ............................................ 178
6.2.1 线性时不变系统中的卷积 ......... 178
6.2.2 概率中的卷积 ............................. 179
6.2.3 多项式乘法和卷积矩阵 ............. 180
6.2.4 多维推广 ..................................... 181
6.2.5 再谈边缘检测 ............................. 183
6.3 构建卷积层 ........................................ 184
6.3.1 卷积层的动机 ............................. 184
6.3.2 填充、步长和扩张 ..................... 187
6.3.3 多通道输入 ................................. 190
6.3.4 多通道输出 ................................. 192
6.4 构建 CNN .......................................... 193
6.4.1 卷积层 ......................................... 193
6.4.2 池化层 ......................................... 194
6.4.3 全连接层 ..................................... 195
6.4.4 VGG19 再探讨 ........................... 196
6.4.5 1×1 卷积和全卷积网络 .............. 197
6.4.6 dropout、批量归一化和组归一化 .............. 198
6.4.7 理解内部层和派生特征 ............. 199
6.5 Inception、ResNet 和其他标志性架构 .......... 201
6.5.1 简要历史回顾 ............................. 201
6.5.2 Inception 和网络中的网络 ......... 202
6.5.3 残差连接 ..................................... 203
6.5.4 EfficientNet 模型 ........................ 204
6.6 超越分类 ............................................ 205
6.6.1 CNN 与关键计算机视觉任务 ..... 205
6.6.2 目标定位 ..................................... 207
6.6.3 人脸识别、孪生网络和三元组损失 ..................... 208
注释与参考文献 ......................................... 210
第 7 章 序列模型 ............................... 212
7.1 序列数据的模型和活动概述 ............ 212
7.1.1 序列数据的形式 ......................... 213
7.1.2 涉及序列数据的任务 ................. 213
7.1.3 词嵌入 ......................................... 216
7.2 基本循环神经网络 ............................ 217
7.2.1 一个简单的具体示例 ................ 220
7.2.2 用随时间反向传播训练 RNN .... 221
7.2.3 计算中的挑战 ............................ 224
7.2.4 训练的其他方面 ........................ 225
7.3 RNN 的扩展和改进 .......................... 226
7.3.1 堆叠门和反转门 ........................ 226
7.3.2 长短期记忆模型 ........................ 227
7.3.3 门控循环单元模型 .................... 230
7.4 编码器-解码器和注意力机制 .......... 231
7.4.1 用于机器翻译的编码器-解码器架构 ................. 231
7.4.2 注意力机制 ................................ 233
7.4.3 基于注意力机制的编码器-解码器 .................... 234
7.4.4 注意力权重的示例 .................... 235
7.4.5 打分函数的变体 ........................ 236
7.4.6 训练编码器-解码器模型 ........... 237
7.5 Transformer ....................................... 237
7.5.1 自注意力 .................................... 238
7.5.2 多头自注意力 ............................ 240
7.5.3 位置嵌入 .................................... 241
7.5.4 Transformer 块 ............................ 242
7.5.5 编码器-解码器框架 ................... 245
7.5.6 在生产和训练中使用编码器-解码器 .................. 247
注释与参考文献 ........................................ 249
第 8 章 特定架构与范式 ..................... 251
8.1 生成式建模原理 ............................... 251
8.1.1 变分自编码器 ............................ 253
8.1.2 变分自编码器的编码器-解码器架构 ................... 255
8.1.3 与极大似然和 ELBO 的关系 ...... 256
8.1.4 损失函数的细节 ........................ 257
8.1.5 重参数化技巧 ............................ 258
8.2 扩散模型 ........................................... 259
8.2.1 层次变分自编码器 .................... 260
8.2.2 扩散模型假设 ............................ 262
8.2.3 损失函数 .................................... 263
8.2.4 重参数化技巧和损失简化 ........ 264
8.3 GAN .................................................. 266
8.3.1 GAN 生成式建模方法 .............. 267
8.3.2 训练 GAN .................................. 268
8.3.3 最小化 JS 散度 .......................... 269
8.3.4 目标函数的变体 ........................ 270
8.3.5 超越 GAN 数据生成 ................. 275
8.4 强化学习 ........................................... 277
8.4.1 马尔可夫决策过程 .................... 278
8.4.2 贝尔曼方程、价值函数和 Q函数 .................... 281
8.4.3 贝尔曼方程的求解 .................... 282
8.4.4 Q 学习 ........................................ 283
8.4.5 深度强化学习 ............................ 284
8.5 图神经网络 ....................................... 285
8.5.1 GNN 的应用 .............................. 285
8.5.2 图结构 ........................................ 286
8.5.3 输入数据和任务的结构 ............ 289
8.5.4 GNN 模型的一般结构 .............. 290
8.5.5 消息传递方案 ............................ 292
8.5.6 模型变体 .................................... 293
注释与参考文献 ........................................ 296
附录 A 多元微积分初步 ..................... 299
附录 B 交叉熵及其他对数期望 ............ 308
后记 .................................................. 311