5.1 链式法则
理解反向传播的关键是链式法则(连锁律)。链(chain)可以理解为链条、锁链等,在这里表示多个函数连接在一起使用。链式法则意为连接起来的多个函数(复合函数)的导数可以分解为各组成函数的导数的乘积。
下面看一个链式法则的具体例子。假设有一个函数 y=F(x) ,这个函数 F 由3个函数组成: a=A(x),b=B(a) 和 y=C(b) 。该函数的计算图如图5-1所示。

图5-1 复合函数的例子
这时, y 对 x 的导数可以用式子5.1表示。
dxdy=dbdydadbdxda(5.1) 如式子5.1所示, y 对 x 的导数可以表示为各函数的导数的乘积。换言之,复合函数的导数可以分解为各组成函数导数的乘积。这就是链式法则。式子5.1所表示的链式法则也可以像下面这样写成包含 dydy 的形式。
dxdy=dydydbdydadbdxda(5.2) dydy 是对自身求导,导数值永远为1。计算时通常省略 dydy 这种针对自身的导数,但考虑到反向传播的实现,这里特意加上了这一项。

dydy 是 y 对 y 的导数。即使 y 变化的幅度很小, y 自身也会变化同样大小的值。因此,不管对于什么函数,变化率总是 1。