链式法则#
你可能听说过“反向传播”(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 会受到多大的影响?
直接看 w 对 y 的影响有点绕。但我们可以用链式思维把它拆解:
拧一下旋钮
w,会先影响肉饼u的产量。这个影响程度是 \(\frac{\partial u}{\partial w}\)。肉饼
u产量的变化,接着会影响最终汉堡y的产量。这个影响程度是 \(\frac{\partial y}{\partial u}\)。
那么,w 对 y 的总体影响,就是这两步影响的乘积。这就像多米诺骨牌,一环扣一环。
恭喜你,这就是链式法则! 它把一个复杂、间接的影响,拆解成了若干个简单、直接的影响的乘积。