M1-022M1: Mathematics & Statistics FundamentalsCalculus & Taylor ExpansionEasy
Mastery:

Calculus & Taylor Expansion: 解释链式法则与反向传播的关系。

📐 Mathematical Definition
∂L∂x=∑i∂L∂yi∂yi∂x\frac{\partial L}{\partial x}=\sum_i\frac{\partial L}{\partial y_i}\frac{\partial y_i}{\partial x}
⚡ Executive Summary
Core Concept: 反向传播是链式法则在计算图上的高效实现:前向存中间值,反向按拓扑逆序累乘局部梯度。

📌 Key Takeaways

  • •
    时间复杂度与前向同阶(一次前向+一次反向)
  • •
    空间换时间:需保存中间激活(可用 checkpointing 省)

📐 Mathematical Derivations

链式法则的多元形式给出:若 x→y₁,…,y_k→L,则 ∂L/∂x=Σᵢ(∂L/∂yᵢ)(∂yᵢ/∂x)。反向传播把它组织成<strong>动态规划</strong>:从损失出发,按计算图的<strong>拓扑逆序</strong>逐节点计算 ∂L/∂node,每个节点只需把'上游传来的梯度'乘以'本节点的局部雅可比'再传给下游。关键效率来源是<strong>梯度复用</strong>——每个中间量的梯度只算一次,被所有消费者共享,因此总代价与前向传播同阶(常数因子约 2–3 倍),而朴素地对每个参数单独做数值微分需要 O(n) 次前向,代价 O(n·cost_forward)。

🏭 Production Trade-offs

两个必须理解的权衡:① <strong>空间换时间</strong>——反向传播需要保存前向的中间激活(否则无法计算局部雅可比),这是训练显存的主要占用(远超参数本身,尤其在长序列/大 batch 时)。缓解手段是<strong>梯度检查点</strong>(activation checkpointing):只保存部分中间值,反向时重算其余,显存从 O(n) 降到 O(√n),代价是约 30% 额外计算。② <strong>自动微分 vs 数值微分 vs 符号微分</strong>——数值微分(有限差分)有截断误差且慢;符号微分会表达式膨胀;自动微分(AD)精确且高效,反向模式(VJP)适合'多输入单输出'(损失是标量),前向模式(JVP)适合'少输入多输出',这是所有深度学习框架的核心。
⚠️ Common Interview Pitfalls
  • ✕
    认为反向传播是独立算法(它就是链式法则 + 拓扑排序 + 梯度复用)
  • ✕
    忽略激活存储是训练显存瓶颈
🎯 Interviewer Follow-ups
  • ?
    为什么反向传播比数值微分快?
  • ?
    激活重计算的权衡是什么?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM1-021: Calculus & Taylor Expansion: 写出泰勒展开,并说明梯度、海森矩阵在优化中的角色。📋Back to BankNext →M1-023: Calculus & Taylor Expansion: 什么是雅可比矩阵与向量-雅可比积(VJP)?为什么框架都用 VJP。