深度学习笔记(三)back propagation(BP) 原理和求解过程

上一章分析基本神经网络以及怎么训练网络过程。里面有用到提到BP (反向传播的求解)

1)BP 其实是一种思想

首先我们看一个计算式子 e = ( a + b ) ( b + 1 )的 图模型:如下左图所示,   其中, c , d 表示中间结果,边的方向表示一个结点是另一个结点的输入。  假设输入变量 a = 2 , b = 1 时,图中各结点的偏导计算结果如下: 

这里写图片描述 这里写图片描述
利用正向微分算法,我们得到 关于变量b 的偏导计算结果如下左: 
而利用反向微分算法,我们得到的偏导计算结果如下右:

这里写图片描述 这里写图片描述

 对比两张图,发现第二张图都已经求出离e对各变量的导数,而第一张图,如果需要求出变量是需要重复步骤。BP算法只是减少了计算,并不是说正向传播不能解决问题。

2)为啥需要BP

需要BP的原因是需要训练参数w,怎么求w

3)代价函数

我们希望对于输入x ,产生的y尽可能与期望的y相等。或者说我们希望下面的表达式最小。

求解最小问题就需要求导。

4)完整BP过程

Calculus on Computational Graphs: Backpropagation

http://colah.github.io/posts/2015-08-Backprop/

5)基于sigmoid的BP过程

对于目标函数:代价函数

 需要求解,如下η表示步长,由用户设定,右边wji表示前一次的参数,初始值为0,
发现是不是都是关于E对w的求导。符号第一点的要求。
定义变量&4,,,&8


观察上图,我们发现权重 wji仅能通过 影响节点j 的输入值影响网络的其它部分( 前面只能影响后面),设 netj是节点 j 的加权输入,即
 
链式求导
 
1) 输出层权值训练
有:

 分别求解:
 
 则:

有:

得到输出层的方程
 
2)隐藏层权值训练
 
隐含层: 

3)结论:

当输出层时:
 当隐含层时:
 

 到此推导过程结束
最后推荐一篇文章,里面包含更详细的说明:

 




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值