Back Propagation
给定一个神经网络,我们想通过Back Propagation的方法来求解图中任意节点的误差值(
图中,我将input unit定义为红色,并将output unit定义为绿色。这样很容易理解, input layer中只存在有 input unit,而输出层中也就只有绿色的 output unit。
我们假设有,
其中
首先考虑 output layer (L层),有如下关系式,
即其 input unit == output unit。另外根据链式法则,有如下的求导关系:
所以有,
这样也能够解释为什么选用偏微分的形式来表示
那么对于其中任意个 node 上的任意一个 unit 又如何来计算误差值呢?
例如以求解图中黄色的
又因为由 forword propagation 可以得到,
代入
再来观察关于
由链式法则,
$$ \frac{\partial L}{\theta_{ij}^{(l)}} = \sum_k^{s_{(l)}}\frac{\partial L}{\partial z_j^{(l+1)}}\cdot \frac{\partial z_k^{(l+1)}}{\partial \theta_{ij}^{(l)}}= \sum_k^{s_{(l)}} \delta_j^{(l+1)}\cdot \frac{\partial z_k^{(l+1)}}{\partial \theta_{ij}^{(l)}}
$$
当