深度学习时代的计算机视觉算法
上QQ阅读APP看书,第一时间看更新

1.3.2 反向传播算法

反向传播算法的思路如下,假设样本集为{(x(1)y(1)),…,(xmym)},共m个样例,首先进行前向传播运算,计算出网络中所有的激活值,输出值记为hWbx)。之后,针对第l层的每一个节点i,计算出其残差,该残差表明了该节点对最终输出值的残差产生了多少影响。对于最终的输出节点,可以直接计算出网络产生的激活值与实际值之间的差距,将这个差距定义为。对于网络中将作为输入的隐藏单元,利用第l+1层节点残差的加权平均值计算,由此,反向传播算法的具体细节如下所示:

(1)进行前馈传播计算,利用前向传播计算式,得到L2L3,…直到输出层的激活值;

(2)对于第nl层(输出层)的每个输出单元i,根据式(1-5)计算残差(J为代价函数):

(3)对于l=nl-1,nl-2,nl-3,…,2的各个网络层,第l层的第i个节点的残差计算式为:

根据推导过程,将nl-1与nl的关系替换为ll+1,可以得到:

通过逐层的迭代求导计算,实现了算法的反向传播。

(4)偏导数的计算如下: