《神经网络和深度学习》系列文章十四:四个基本方程的证明(自选)
出处: Michael Nielsen的《Neural Network and Deep Learning》,点击末尾“阅读原文”即可查看英文原文。
本节译者:哈工大SCIR硕士生 曹东岩
声明:我们将在每周一,周四 定期连载该书的中文翻译,如需转载请联系wechat_editors@ir.hit.edu.cn,未经授权不得转载。
使用神经网络识别手写数字
反向传播算法是如何工作的
热身:一个基于矩阵的快速计算神经网络输出的方法
关于损失函数的两个假设
Hadamard积
反向传播背后的四个基本等式
四个基本等式的证明(选读)
反向传播算法
什么时候反向传播算法高效
反向传播算法再理解
改进神经网络的学习方法
神经网络能够计算任意函数的视觉证明
为什么深度神经网络的训练是困难的
深度学习
现在我们将证明四个基本方程(BP1)-(BP4)。这四个方程都是多元积分链式法则的的结果。如果你对链式法则很熟悉,那我强烈建议你读之前自己推导一遍。
我们从方程(BP1)开始讲解,该方程给出了输出错误量的表达式δL。为证明这个方程,回想下定义
应用链式法则, 我们可以把上述偏导数重新表达成带有输出激活的偏导数形式,
这里的求和是对于输出层的所有神经元k而言的。当然,当k=j时,输出激活 aLK第kth个神经元只依赖于对第jth个神经元的输入权重zLj。并且当k≠j时,∂aLk/∂zLj项就没有了。因此我们可以简化之前的方程为
回想下,aLj=σ(zLj)右边第二项可以写为σ′(zLj),这样方程就变为
这就是以组合形式呈现的 (BP1)。
接下来我们再证 (BP2),它给出了根据下一层的错误量δl+1计算δl的等式。为证明该等式,我们先依据δkl+1=∂C/∂zkl+1重新表达下等式δlj =∂C/∂zlj。这里可以应用链式法则
在最后一行,我们互换了下表达式右侧的两项,并取代了 δkl+1的定义。为了评估最后一行的第一项,注意
区分后,我们得到
代回 (42) 我们得到
这就是以组合形式呈现的 (BP2)。
我们要证明的最后两个方程(BP3)和(BP4)。这些也遵循从链式法则,类似于前两个方程以上的证明的方式。我把他们给你作为练习。
练习
证明方程(BP3)和(BP4)。
至此我们完成了反向传播的四个基本方程的证明。证明看似复杂,但其实就是仔细应用链式法则得到的结果。简洁点说,我们可以把反向传播看作系统地应用多元变量微积分的链式法则计算代价函数梯度的方法。 这就是所有的反向传播内容,剩下的就是一些细节问题了。
下一节我们将介绍“反向传播算法”,敬请关注!
“哈工大SCIR”公众号
编辑部:郭江,李家琦,徐俊,李忠阳,俞霖霖
本期编辑:俞霖霖
长按下图并点击 “识别图中二维码”,即可关注哈尔滨工业大学社会计算与信息检索研究中心微信公共号:”哈工大SCIR” 。点击左下角“阅读原文”,即可查看原文。