Chapter 07
链式法则
对「函数套函数」求导时,用外导数 × 内导数相乘即可。这是反向传播的核心。
home.mathDiagramTitle
home.mathDiagramDescription
复合函数是 → 内层 → 外层 → 的链条。外导数 × 内导数相乘就得到总导数。
用例子看计算顺序(一次强调一步)
1.例:与上图一致,设 ,,则 。对 求导。
2.① 内层导数(左图): 对 求导 →
3.② 外层导数(右图): 对 求导 →
4.③ 相乘: → 答案
像点沿链条移动一样,变化率会乘在一起传下去。反向传播也是这样的乘法结构。
什么是链式法则
一句话:函数套在一起就是复合函数。先把 代入里层,再把结果代入外层,得到最终结果。对这种套在一起的函数求导,用的规则就是链式法则。
深度学习里网络是多层的。输入经过第 1 层、第 2 层…最后得到损失。要对损失关于每个权重求导才能训练。
反向传播是从损失往输入方向一步一步传导数。每一步把「后面传过来的」乘上「这一步的导数」再往前传。这个乘法就是链式法则。
所以链式法则是反向传播的骨架。学过 Ch06 导数的话,这里只要学会在复合函数上用它就行。
一般当「改一个量会连锁地改另一个量」时,总变化率就是把链上每一段的变化率乘起来。下表是各领域用同一方式的例子。
| 情境 | 求什么 | 链式法则(总变化率) |
|---|---|---|
| 成本依赖产量、产量依赖时间时 | 成本随时间变化多快 | (成本/产量) (产量/时间) |
| 气球半径随时间变化时 | 体积随时间变化多快 | (体积/半径) (半径/时间) |
| 速度依赖位置、位置依赖时间时 | 与加速度的关系 | (速度/位置) (位置/时间) |
AI 训练里损失经过很多层才出来,所以对每个权重求导时,每一层都用链式法则乘一次。学完本章就能自然过渡到 Ch08 偏导数与梯度。
复合函数求导时,把内层当成一块,用外层的导数乘以内层的导数即可。内层本身也是复合的话,就在那里再套一次链式法则。提示:先设内层=某式,只对外层求导,再乘上内层对 的导数即可。