图书目录

目 录

第1章 引言 1

1.1 监督学习 1

1.1.1 回归和分类问题 2

1.1.2 输入 3

1.1.3 机器学习模型 4

1.1.4 深度神经网络 5

1.1.5 结构化输出 5

1.2 无监督学习 7

1.2.1 生成模型 7

1.2.2 潜变量 9

1.2.3 联系监督学习和无监督学习 10

1.3 强化学习 11

1.4 伦理学 12

1.5 本书编排方式 13

1.6 其他书籍 14

1.7 如何阅读本书 15

第2章 监督学习 16

2.1 监督学习概述 16

2.2 线性回归示例 17

2.2.1 一维(1D)线性回归模型 17

2.2.2 损失 18

2.2.3 训练 20

2.2.4 测试 21

2.3 本章小结 21

2.4 注释 22

2.5 问题 22

第3章 浅层神经网络 24

3.1 神经网络示例 24

3.1.1 神经网络的直观理解 25

3.1.2 描绘神经网络 27

3.2  通用逼近定理 28

3.3 多变量输入和输出 29

3.3.1 可视化多变量输出 29

3.3.2 可视化多变量输入 30

3.4 浅层神经网络:一般情形 33

3.5 术语 33

3.6 本章小结 34

3.7 注释 34

3.8 问题 37

第4章 深度神经网络 40

4.1 组合神经网络 40

4.2 从组合网络到深度网络 43

4.3 深度神经网络 43

4.4 矩阵表示法 46

4.5 浅层与深度神经网络 48

4.5.1 逼近不同函数的能力 48

4.5.2 每参数线性区域数量 48

4.5.3 深度效率 49

4.5.4 大型结构化输入 49

4.5.5 训练和泛化 49

4.6 本章小结 50

4.7 注释 50

4.8 问题 51

第5章 损失函数 54

5.1 最大似然 54

5.1.1 计算输出分布 56

5.1.2 最大似然准则 56

5.1.3 最大化对数似然 56

5.1.4 最小化负对数似然 57

5.1.5 模型推理 58

5.2 构建损失函数 58

5.3 示例1:单变量回归问题 58

5.3.1 最小二乘损失函数 59

5.3.2 模型推理 61

5.3.3 方差估计 61

5.3.4 异方差回归 62

5.4 示例2:二分类问题 63

5.5 示例3:多分类问题 65

5.6 多输出问题 67

5.7 交叉熵损失 68

5.8 本章小结 69

5.9 注释 70

5.10 问题 71

第6章 模型训练 74

6.1 梯度下降法 74

6.1.1 线性回归示例 75

6.1.2 Garbor模型示例 77

6.1.3 局部最小值和鞍点 77

6.2 随机梯度下降 79

6.2.1 批次和epoch 80

6.2.2 随机梯度下降的特性 82

6.3 动量 82

6.4 Adam 优化器 84

6.5 训练算法超参数 86

6.6 本章小结 87

6.7 注释 87

6.8 问题 90

第7章 梯度与参数初始化 93

7.1 问题定义 93

7.2 计算导数 95

7.3 简单示例 96

7.4 反向传播算法 99

7.4.1 反向传播算法总结 102

7.4.2 自动微分 103

7.4.3 扩展到任意计算图 103

7.5 参数初始化 103

7.5.1 正向传播的初始化 104

7.5.2 反向传播的初始化 106

7.5.3 正向和反向传播的初始化 106

7.6 训练代码示例 107

7.7 本章小结 108

7.8 注释 108

7.9 问题 110

第8章 性能评估 114

8.1 训练简单模型 114

8.2 误差来源 116

8.2.1 噪声、偏差和方差 117

8.2.2 测试误差的数学表达 118

8.3 降低误差 120

8.3.1 降低方差 120

8.3.2 降低偏差 122

8.3.3 偏差-方差权衡 122

8.4 选择超参数 127

8.5 本章小结 128

8.6 注释 128

8.7 问题 131

第9章 正则化 133

9.1 显式正则化 133

9.1.1 概率解释 134

9.1.2 L2正则化 134

9.2 隐式正则化 136

9.2.1 梯度下降法中的隐式正则化 136

9.2.2 随机梯度下降法中的隐式正则化 137

9.3 提高性能的启发式算法 139

9.3.1 提前停止 139

9.3.2 集成学习 140

9.3.3 随机丢弃 141

9.3.4 添加噪声 143

9.3.5 贝叶斯推理 144

9.3.6 迁移学习和多任务学习 145

9.3.7 自监督学习 146

9.3.8 数据增广 146

9.4 本章小结 147

9.5 注释 148

9.6 问题 154

第10章 卷积网络 155

10.1 不变性和等变性 156

10.2 用于一维输入的卷积网络 157

10.2.1 一维卷积操作 157

10.2.2 填充 157

10.2.3 步长、核大小和膨胀率 158

10.2.4 卷积层 159

10.2.5 通道 160

10.2.6 卷积网络和感受野 160

10.2.7 示例:MNIST-1D 161

10.3 二维输入的卷积网络 163

10.4 下采样和上采样 165

10.4.1 下采样 165

10.4.2 上采样 165

10.4.3 更改通道数量 166

10.5 应用 167

10.5.1 图像分类 167

10.5.2 目标检测 169

10.5.3 语义分割 170

10.6 本章小结 172

10.7 注释 172

10.8 问题 176

第11章 残差网络 178

11.1 顺序处理 178

11.2 残差连接和残差块 180

11.2.1 残差块中的操作顺序 182

11.2.2 带有残差连接的更深层网络 182

11.3 残差网络中的梯度爆炸 183

11.4 批量归一化 184

11.5 常见的残差架构 185

11.5.1 ResNet 185

11.5.2 DenseNet 187

11.5.3 U-Net和沙漏网络 188

11.6 为什么具有残差连接的网络表现如此出色? 190

11.7 本章小结 190

11.8 注释 191

11.9 问题 195

第12章 变换器 197

12.1 处理文本数据 197

12.2 点积自注意力 198

12.2.1 计算和加权值 199

12.2.2 计算注意力权重 200

12.2.3 自注意力总结 201

12.2.4 矩阵形式 202

12.3 点积自注意力的扩展 203

12.3.1 位置编码 203

12.3.2 缩放点积自注意力 204

12.3.3 多头 204

12.4 变换器 205

12.5 自然语言处理中的变换器 206

12.5.1 分词 206

12.5.2 嵌入 207

12.5.3 变换器模型 208

12.6 编码器模型示例:BERT 208

12.6.1 预训练 209

12.6.2 微调 209

12.7 解码器模型示例:GPT-3 211

12.7.1 语言建模 211

12.7.2 掩码自注意力 211

12.7.3 从解码器生成文本 212

12.7.4 GPT-3与少样本学习 213

12.8 编码器-解码器模型示例:机器翻译 214

12.9 用于长序列的变换器 216

12.10 图像的变换器 217

12.10.1 ImageGPT 218

12.10.2 视觉变换器(ViT) 219

12.10.3 多尺度视觉变换器 219

12.11 本章小结 220

12.12 注释 221

12.13 问题 228

第13章 图神经网络 230

13.1 什么是图 230

13.2 图的表示 233

13.2.1 邻接矩阵的属性 233

13.2.2 节点索引的排列 234

13.3 图神经网络、任务和损失函数 235

13.4 图卷积网络 237

13.4.1 等变性和不变性 238

13.4.2 参数共享 238

13.4.3 GCN层示例 239

13.5 示例:图分类 240

13.6 归纳模型与演绎模型 241

13.7 示例:节点分类 242

13.8 图卷积网络的层 245

13.8.1 结合当前节点和聚合邻居 245

13.8.2 残差连接 245

13.8.3 平均聚合 246

13.8.4 Kipf归一化 246

13.8.5 最大池化聚合 246

13.8.6 注意力聚合 246

13.9 边图 248

13.10 本章小结 249

13.11 注释 249

13.12 问题 254

第14章 无监督学习 257

14.1 无监督学习模型分类 257

14.2 什么是好的生成模型? 259

14.3 量化评估指标 260

14.4 本章小结 263

14.5 注释 263

第15章 生成式对抗网络 264

15.1 判别作为信号 264

15.1.1 GAN 损失函数 265

15.1.2 训练 GAN 266

15.1.3 DCGAN 267

15.1.4 GAN训练的难点 268

15.2 提高稳定性 269

15.2.1 GAN 损失函数分析 269

15.2.2 梯度消失 270

15.2.3 Wasserstein距离 271

15.2.4 离散分布的Wasserstein距离 271

15.2.5 连续分布的Wasserstein距离 273

15.2.6 Wasserstein GAN损失函数 273

15.3 提升生成图像质量的方法 274

15.4 条件生成 276

15.4.1 cGAN 276

15.4.2 ACGAN 277

15.4.3 InfoGAN 278

15.5 图像翻译 279

15.5.1 Pix2Pix 279

15.5.2 对抗性损失 279

15.5.3 CycleGAN 281

15.6 StyleGAN 282

15.7 本章小结 284

15.8 注释 285

15.9 问题 288

第16章 标准化流 290

16.1 一维示例 290

16.1.1 计算概率 291

16.1.2 正向和反向映射 292

16.1.3 学习 292

16.2 一般情况 293

16.2.1 基于深度神经网络的正向映射 293

16.2.2 对网络层的要求 294

16.3 可逆网络层 295

16.3.1 线性流 295

16.3.2 逐元素流 296

16.3.3 耦合流 297

16.3.4 自回归流 298

16.3.5 反向自回归流 299

16.3.6 残差流:iRevNet 300

16.3.7 残差流和收缩映射:iResNet 301

16.4 多尺度流 302

16.5 应用 303

16.5.1 密度建模 303

16.5.2 图像合成 304

16.5.3 近似其他密度模型 305

16.6 本章小结 306

16.7 注释 307

16.8 问题 310

第17章 变分自编码器 312

17.1 隐变量模型 312

17.2 非线性隐变量模型 314

17.3 训练 315

17.3.1 证据下界 (ELBO) 315

17.3.2 Jensen 不等式 316

17.3.3 推导下界 317

17.4 ELBO 的性质 318

17.4.1 下界的紧密性 318

17.4.2 ELBO的第三种表示方式 319

17.5 变分近似 320

17.6 变分自编码器 320

17.7 重参数化技巧 323

17.8 应用 323

17.8.1 估计样本概率 323

17.8.2 生成 324

17.8.3 重合成 325

17.8.4 解耦 326

17.9 本章小结 327

17.10 注释 328

17.11 问题 331

第18章 扩散模型 333

18.1 概述 333

18.2 编码器(前向过程) 334

18.2.1 扩散核 335

18.2.2 边缘分布 337

18.2.3 条件分布 338

18.2.4 条件扩散分布 338

18.3 解码器模型(反向过程) 340

18.4 训练 340

18.4.1 证据下界 (ELBO) 341

18.4.2 简化 ELBO 341

18.4.3 分析ELBO 342

18.4.4 扩散损失函数 343

18.4.5 训练过程 343

18.5 损失函数的重参数化 344

18.5.1 目标值的参数化 345

18.5.2 网络的重参数化 346

18.6 实现 347

18.6.1 应用于图像 347

18.6.2 提高生成速度 348

18.6.3 条件生成 349

18.6.4 提高生成质量 350

18.7 本章小结 352

18.8 注释 352

18.9 问题 355

第19章 强化学习 357

19.1 马尔可夫决策过程、回报和策略 357

19.1.1 马尔可夫过程 358

19.1.2 马尔可夫奖励过程 358

19.1.3 马尔可夫决策过程 359

19.1.4 部分可观测马尔可夫决策过程 359

19.1.5 策略 360

19.2 预期回报 361

19.2.1 状态和动作价值 362

19.2.2 最优策略 363

19.2.3 贝尔曼式 363

19.3 表格型强化学习 365

19.3.1 动态规划 365

19.3.2 蒙特卡罗方法 366

19.3.3 时间差分方法 367

19.4 拟合Q学习 368

19.4.1 用于玩ATARI游戏的深度Q网络 369

19.4.2 双Q学习和双深度Q网络 370

19.5 策略梯度方法 371

19.5.1 梯度更新的推导 372

19.5.2 REINFORCE算法 374

19.5.3 基线 374

19.5.4 状态依赖的基线 375

19.6 演员-评论家方法 376

19.7 离线强化学习 377

19.8 本章小结 378

19.9 注释 378

19.10 问题 382

第20章 为什么深度网络有效 385

20.1 质疑深度学习的案例 385

20.1.1 训练 385

20.1.2 泛化 386

20.1.3 看似不合理的有效性 386

20.2 影响拟合性能的因素 387

20.2.1 数据集 387

20.2.2 正则化 387

20.2.3 随机训练算法 388

20.2.4 过度参数化 388

20.2.5 激活函数 389

20.2.6 初始化 390

20.2.7 网络深度 390

20.3 损失函数的性质 391

20.3.1 多个全局最小值 391

20.3.2 到达最小值的路径 391

20.3.3 最小值之间的联系 392

20.3.4 损失面的曲率 393

20.4 决定泛化的因素 394

20.4.1 训练算法 394

20.4.2 最小值的平坦度 395

20.4.3 架构 396

20.4.4 权重的范数 396

20.4.5 过度参数化 397

20.4.6 离开数据流形 397

20.5 我们需要这么多参数吗 398

20.5.1 剪枝 399

20.5.2 知识蒸馏 400

20.5.3 讨论 400

20.6 网络必须很深吗? 401

20.6.1 建模函数的复杂性 401

20.6.2 训练的可行性 402

20.6.3 归纳偏差 402

20.7 本章小结 402

20.8 问题 403

第21章 深度学习和伦理 404

21.1 价值一致性 405

21.1.1 偏见与公平性 406

21.1.2 人工道德代理 408

21.1.3 透明度与不透明度 409

21.1.4 可解释性 409

21.2 故意滥用 410

21.2.1 面部识别和分析 410

21.2.2 军事化和政治干预 410

21.2.3 欺诈 411

21.2.4 数据隐私 411

21.3 其他社会、伦理和专业问题 412

21.3.1 知识产权 412

21.3.2 自动化偏见和道德技能退化 412

21.3.3 环境影响 413

21.3.4 就业和社会 413

21.3.5 权力集中 413

21.4 案例研究 414

21.5 科学的价值中立理想 414

21.6 负责任的人工智能研究作为集体行动问题 415

21.6.1 科学沟通 416

21.6.2 多样性和异质性 416

21.7 未来的方向 416

21.8 本章小结 417

21.9 问题 418

附录A 符号表示 420

附录B 数学 423

附录C 概率 432