链式法则
概述 (50-200字符)
链式法则是微积分中复合函数求导的基本法则:若 y = f(g(x)),则 dy/dx = f'(g(x))·g'(x)。在深度学习中,它是反向传播算法的数学基础,用于计算损失函数对网络中每个权重的梯度。
关键内容 (≥300字符, 用双链)
- 数学定义:对于复合函数 L = f(g(h(x))),其对 x 的导数为 ∂L/∂x = (∂L/∂f)·(∂f/∂g)·(∂g/∂h)·(∂h/∂x)。每一层只需计算局部导数并相乘,即可得到全局梯度。
- 在神经网络中的应用:设两层网络的损失 L 关于第一层权重 W₁ 的梯度:∂L/∂W₁ = (∂L/∂ŷ)·(∂ŷ/∂h)·(∂h/∂W₁),分别对应输出误差、输出层向后传的梯度、局部梯度。这正是反向传播的核心机制。
- 计算效率:链式法则使梯度的计算可以复用中间结果,避免了数值微分中对每个参数独立做前向传播的 O(N) 复杂度,将整体计算量降至 O(1) 次前向传播。自动微分系统(如 PyTorch 的 Autograd)本质上是对链式法则的工程化实现。
- 反向模式 vs 前向模式:深度学习使用反向模式(reverse-mode)自动微分,即先做前向传播记录计算图,再从输出向输入反向传播梯度。当输出维度远小于输入维度时(如标量损失对百万参数),反向模式比前向模式高效得多。
来源
- [Learning Representations by Back-propagating Errors] — Rumelhart, Hinton & Williams, Nature 1986
- [raw/articles/ai-papers/machine-learning/02_backpropagation_1986.md] — 源文件