自动微分与反向传播理论
自动微分(Automatic Differentiation,AD)是现代深度学习框架的基石技术,它能够精确、高效地计算任意复杂函数的导数。本专题系统地介绍自动微分的数学理论、实现机制与前沿应用。
核心概念
自动微分的本质
自动微分通过将复合函数分解为基本运算序列,利用链式法则精确计算导数,避免了数值微分的截断误差和符号微分的表达式膨胀。
| 微分方法 | 精度 | 效率 | 适用场景 |
|---|---|---|---|
| 数值微分 | 近似 | 快速原型验证 | |
| 符号微分 | 精确 | 表达式膨胀 | 闭式推导 |
| 自动微分 | 精确 | 最优 | 深度学习训练 |
反向传播的本质
反向传播(Backpropagation)是自动微分在神经网络训练中的应用,其核心是反向模式自动微分的计算图实现。
其中 为损失函数, 为网络输出, 为网络参数。
内容导航
理论基础
框架实现
- PyTorch Autograd实现 — PyTorch自动微分引擎的内部机制
- JAX自动微分框架 — JAX函数式微分变换体系
高级主题
- 高阶导数理论 — Taylor模式与Faà di Bruno公式
- 梯度检查点技术 — 内存-计算权衡与实现技巧
- Fisher信息与自然梯度 — 自然梯度优化与Fisher信息矩阵
学习路径
入门路径(推荐顺序)
1. 自动微分数学基础
↓
2. 正向/反向模式详解
↓
3. PyTorch Autograd实现
↓
4. 梯度检查点技术
进阶路径
1. 自动微分数学基础
↓
2. 计算图表示与执行
↓
3. 高阶导数理论
↓
4. Fisher信息与自然梯度
↓
5. JAX自动微分框架
工程实践路径
1. PyTorch Autograd实现
↓
2. 梯度检查点技术
↓
3. 计算图表示与执行
↓
4. JAX自动微分框架
核心公式速查
链式法则
标量形式:
向量形式(雅可比链式):
正向模式
反向模式
对偶数算术
主题关联图
自动微分基础
├── 正向模式 ←→ 对偶数
│ ←→ 正切传播
│ ←→ 雅可比-向量积
│
└── 反向模式 ←→ 反向传播
←→ 伴随模式
←→ 计算图
框架实现
├── PyTorch Autograd
│ ←→ 动态计算图
│ ←→ Function类
│ ←→ Engine执行器
│
└── JAX Autograd
←→ 函数式变换
←→ JAXPR表示
←→ PyTree
高级应用
├── 高阶导数 ←→ Taylor模式
│ ←→ Faà di Bruno
│ ←→ Hessian计算
│
├── 梯度检查点 ←→ 内存优化
│ ←→ 激活重计算
│
└── 自然梯度 ←→ Fisher信息
←→ K-FAC优化器
←→ Adam优化器
参考资源
经典论文
- Baydin et al. (2018). “Automatic Differentiation in Machine Learning: A Survey.” JMLR
- Cockett et al. (2020). “Reverse Derivative Categories.” FoSSaCS 2020
- van den Berg et al. (2023). “Forward- or Reverse-Mode Automatic Differentiation: What’s the Difference?”
框架文档
进阶阅读
- Vákár & Smeding (2021). “CHAD: Combinatory Homomorphic AD”
- Bettencourt et al. (2020). “Taylor-Mode Automatic Differentiation”
- Hwang (2024). “FAdam: Adam is a Natural Gradient Optimizer”
相关主题
本专题最后更新于 2026-06-21