那么,对于这三个神经元而言,它们之间的变换关系就是函数嵌套关系,微积分中称这种嵌套函数为“复合函数”,记作 $( f \circ g ) ( x )$ ,如以下式子所示:
$$
y = f ( u ) , \ u = \ g ( x ) , \ \not \equiv \ y = \ f ( g ( x ) ) \ \not \equiv \not \equiv \not \equiv \not \langle \not { F } ( f \circ g ) ( x )
$$
对于这种复合函数的求导,通常使用微积分中非常经典而且重要的“链式法则”(Chaining Rule)来处理,这条法则的含义是:“由两个函数组成的复合函数,其导数等于内部函数代入外部函数值之导数乘以内部函数的导数。”具体应用到上述讨论的场景中,经过 $f ( )$ 和 $g ( \ u )$ 两层函数变换后,x 对最终输出y施加的影响,可以通过导数 $\cdot \frac { \partial y } { \partial x }$ 体现出来。根据链式法则, $\frac { \partial y } { \partial x }$ 的计算方法为
$$
1 \sharp \vec { \chi } \ : ; \ : \varkappa : \ : y = f ( u ) , u = g ( x )
$$
$$
\mathbb { H } \mathbb { 3 } \textrm { : } \frac { \partial \boldsymbol { y } } { \partial \boldsymbol { x } } = \frac { \partial \boldsymbol { y } } { \partial \boldsymbol { u } } \cdot \frac { \partial \boldsymbol { u } } { \partial \boldsymbol { x } }
$$
基于这个场景的计算过程是最简单的,只涉及三个神经元,而更贴近实际的场景是在全连接前馈神经网络里,输出层的任意一个神经元y 都会受到其前一个隐层所有神经元的共同影响,而每一个隐层神经元 $u _ { i }$ 也都受到所有输入层神经元 $x _ { i }$ 的输入值的共同影响,那对于单独任一个输入值 x 求导数,其计算过程如下所示:
假设: $y = f ( u _ { 1 } , u _ { 2 } , \cdots , u _ { k } ) , ~ u _ { i } = { g } _ { i } ( x ) , ~ i = ~ 1 , \cdots , k$
$$
\mathbb { H } \mathbb { 3 } \ ; \ \underline { { \partial } } \underline { { y } } = \ \sum _ { i = 1 } ^ { k } \frac { \partial { y } } { \partial { u } _ { i } } \ \bullet \ \frac { \partial { u } _ { i } } { \partial { x } }
$$
第 7 章 深度学习时代
251