[BP系列]-误差反向传导算法中的一些问题思考
在神经网络算法的探索历程中,BP算法占据着举足轻重的地位,除了很好地解决了NN前馈神经网络的权重计算问题,其误差反向传导的思想还被广泛应用于其他类型的神经网络。
本文主要针对BP算法,整理一些资料,并探讨几个问题:
- BP算法的相关文献
- 误差反向传导,其中误差体现在哪儿?
- 与优化理论中,梯度下降法的主要区别是什么?
BP算法的相关文献
BP算法由[Werbos,1974]首先提出,此后[Rumelhart et al. 1986a/1986b]重新发明。BP算法实质是LMS(Least Mean Square)算法的推广。LMS试图使网络的输出均方误差最小化,可用于神经网络函数可微的感知机学习;将LMS推广到由非线性可微神经元组成的多层前馈网络,就得到BP算法,因此BP算法亦称广义 δ \delta δ 规则。
[Mackay, 1992]在贝叶斯框架下提出了自动确定神经网络正则化参数的方法。[Gori and Tesi, 1992] 对BP网络的局部极小问题进行了详细的讨论。对于BP算法的改进研究有很多,例如为了提速,可在训练过程中自适应缩小学习率,更多训练技巧可参阅[Reed and Marks, 1998; Orr and Muller, 1998].
神经网络是一种难解释的黑箱模型,但已有一些工作尝试改善神经网络的可解释性,主要途径是从神经网络中抽取易于理解的符号规则,可参阅[Tickle et al., 1998; Zhou, 2004].
“误差” 的体现
在推导Back-propagation的过程中,使用链式法则,能够得到误差关于每两层之间权值 w i j w_{ij} wij的偏导,从而借助于梯度下降的方法,实现权值的迭代更新。误差反向传递的含义在于,从输出层开始,依次向前进行传递。推导过程已在上一篇博客中呈现,现给出UFLDL中关于BP的描述,来理解其中的某些细节:
- δ \delta δ的内涵
- 这样的表示将会带来哪些便利
δ \delta δ的内涵
误差的定义十分明确,首先需要分析的是 δ i ( n l ) \delta_i^{(n_l)} δi(nl)。
δ i ( n l ) \delta_i^{(n_l)} δi(nl)的定义是 ∂ E ∂ z i ( n l ) \dfrac{\partial E}{\partial z_i^{(n_l)}} ∂zi(n