自动微分与反向传播理论

自动微分(Automatic Differentiation,AD)是现代深度学习框架的基石技术,它能够精确、高效地计算任意复杂函数的导数。本专题系统地介绍自动微分的数学理论、实现机制与前沿应用。

核心概念

自动微分的本质

自动微分通过将复合函数分解为基本运算序列,利用链式法则精确计算导数,避免了数值微分的截断误差和符号微分的表达式膨胀。

微分方法精度效率适用场景
数值微分 近似快速原型验证
符号微分精确表达式膨胀闭式推导
自动微分精确最优深度学习训练

反向传播的本质

反向传播(Backpropagation)是自动微分在神经网络训练中的应用,其核心是反向模式自动微分的计算图实现。

其中 为损失函数, 为网络输出, 为网络参数。

内容导航

理论基础

  1. 自动微分数学基础 — 正向模式与反向模式的核心数学原理
  2. 反向模式详解 — 两种自动微分模式的深度对比
  3. 计算图表示与执行 — 计算图的构建、执行与优化

框架实现

  1. PyTorch Autograd实现 — PyTorch自动微分引擎的内部机制
  2. JAX自动微分框架 — JAX函数式微分变换体系

高级主题

  1. 高阶导数理论 — Taylor模式与Faà di Bruno公式
  2. 梯度检查点技术 — 内存-计算权衡与实现技巧
  3. 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优化器

参考资源

经典论文

  1. Baydin et al. (2018). “Automatic Differentiation in Machine Learning: A Survey.” JMLR
  2. Cockett et al. (2020). “Reverse Derivative Categories.” FoSSaCS 2020
  3. 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