链式法则#

你可能听说过“反向传播”(Backpropagation)是神经网络学习的魔法。而这个魔法的核心咒语,就是我们今天要讲的链式法则(Chain Rule)

别怕,这东西听起来数学,但它的思想非常直观。我们将通过开办一家“汉堡工厂”来彻底征服它。

第一站:开一家全自动汉堡工厂#

想象一下,你开了一家汉堡工厂,生产流程环环相扣:

  • 机器A:接收原材料“牛肉”(\(x\)),通过调节旋钮 w,生产出中间产品“肉饼”(\(u\))。

  • 机器B:接收“肉饼”(\(u\)),通过调节旋钮 v,生产出最终产品“汉堡”(\(y\))。

整个流程可以表示为: 牛肉(\(x\)) \(\xrightarrow[\text{旋钮 w}]{\text{机器 A}}\) 肉饼(\(u\)) \(\xrightarrow[\text{旋钮 v}]{\text{机器 B}}\) 汉堡(\(y\))

第二站:从生产到数学——链式法则的诞生#

我们用数学来描述这个工厂。

  • 机器A的功能:\(u = w \cdot x\)

  • 机器B的功能:\(y = v \cdot u\)

整个流程合起来,就是一个复合函数:\(y = v \cdot (w \cdot x)\)

现在,老板(你)最关心的问题是:如果我稍微拧一下最开始的旋钮 w,最终的汉堡产量 y 会受到多大的影响?

直接看 wy 的影响有点绕。但我们可以用链式思维把它拆解:

  1. 拧一下旋钮 w,会先影响肉饼 u 的产量。这个影响程度是 \(\frac{\partial u}{\partial w}\)

  2. 肉饼 u 产量的变化,接着会影响最终汉堡 y 的产量。这个影响程度是 \(\frac{\partial y}{\partial u}\)

那么,wy 的总体影响,就是这两步影响的乘积。这就像多米诺骨牌,一环扣一环。

\[ \frac{\partial y}{\partial w} = \frac{\partial y}{\partial u} \cdot \frac{\partial u}{\partial w} \]

恭喜你,这就是链式法则! 它把一个复杂、间接的影响,拆解成了若干个简单、直接的影响的乘积。