首页 > 编程语言 > 详细

反向传播算法推导过程

时间:2019-10-23 15:18:46      阅读:98      评论:0      收藏:0      [点我收藏+]

转自:https://www.zhihu.com/question/24827633/answer/91489990

技术分享图片

 

 

1. 前向传播

对于节点 技术分享图片 来说, 技术分享图片 的净输入 技术分享图片 如下:

技术分享图片
接着对 技术分享图片 做一个sigmoid函数得到节点 技术分享图片 的输出:
技术分享图片
类似的,我们能得到节点 技术分享图片 、 技术分享图片 、 技术分享图片 的输出 技术分享图片 、 技术分享图片 、 技术分享图片 。

2. 误差

得到结果后,整个神经网络的输出误差可以表示为:
技术分享图片
其中 技术分享图片 就是刚刚通过前向传播算出来的 技术分享图片 、 技术分享图片 ; 技术分享图片 是节点 技术分享图片 、 技术分享图片 的目标值。 技术分享图片 用来衡量二者的误差。
这个 技术分享图片 也可以认为是cost function,不过这里省略了防止overfit的regularization term( 技术分享图片 )
展开得到
技术分享图片

3. 后向传播

3.1. 对输出层的 技术分享图片

通过梯度下降调整 技术分享图片 ,需要求 技术分享图片 ,由链式法则:
技术分享图片 ,
如下图所示:

技术分享图片

 

 

技术分享图片

技术分享图片
技术分享图片
以上3个相乘得到梯度 技术分享图片 ,之后就可以用这个梯度训练了:
技术分享图片
很多教材比如Stanford的课程,会把中间结果 技术分享图片 记做 技术分享图片 ,表示这个节点对最终的误差需要负多少责任。。所以有 技术分享图片 。

3.2. 对隐藏层的 技术分享图片

通过梯度下降调整 技术分享图片 ,需要求 技术分享图片 ,由链式法则:
技术分享图片 ,

如下图所示:

技术分享图片

 

 

参数 技术分享图片 影响了 技术分享图片 ,进而影响了 技术分享图片 ,之后又影响到 技术分享图片 、 技术分享图片 。
求解每个部分:

技术分享图片 ,

其中

技术分享图片 ,这里 技术分享图片 之前计算过

技术分享图片 的计算也类似,所以得到
技术分享图片
技术分享图片 的链式中其他两项如下:
技术分享图片 ,
技术分享图片

相乘得到

技术分享图片

得到梯度后,就可以对 技术分享图片 迭代了:

技术分享图片 。

在前一个式子里同样可以对 技术分享图片 进行定义,

技术分享图片

所以整个梯度可以写成

技术分享图片

反向传播算法推导过程

原文:https://www.cnblogs.com/scarecrow-blog/p/11726089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!