关于BP的一些注记

误差反向传播(BP)是神经网络中一个比较经典的训练算法,在上世纪80年代由Rumelhart和Hinton提出。

关于BP算法的推导
BP算法的推导并不是很复杂(可以参考一些文献,例如UFLDL教程),主要抓住以下两个要点即可理解:

  1. 梯度下降算法
  2. 求导链式法则

BP主要是通过梯度下降的方式进行权值更新的,所以需要计算目标函数的梯度。而函数求导的链式法则保证了误差能够逐层反向传播。

BP中最重要的概念是局部误差(有些文献中称为灵敏度),其定义为当前层激活值的导数与后一层局部误差反向传播到该层的值之积。

下面引入公式进行描述。
假设第 i 层的线性输出为ui,激活函数为 g() ,激活输出为 vi ,即 vi=g(ui) 。另设第 i 层与第i+1层之间连接的权值矩阵为 Wi 。则对于神经网络,有如下关系(对应感知器模型):

ui=Wi1vi1

用希腊字母 δ 表示局部误差,设第 i 层的局部误差为δi,第 i+1 层的局部误差为 δi+1 ,则在BP算法中有如下递推关系:

δi=Wiδi+1.g(ui)

上式体现了BP算法的精髓。

误差反向传播算法中反向传播的是什么?是局部误差。局部误差与我们通常意义上所指的误差不同。通常意义上的误差一般在输出层,基于一定的准则构造一个误差函数,例如,均方误差函数,交叉熵误差函数等等。而局部误差的定义与这些误差函数的定义不同。

最后重申一次,在BP中反向传播的是局部误差,而不是输出层定义的误差。不过这二者确实有一些联系。即:在输出层,其局部误差就是误差函数定义的误差与该层激活函数导数值的乘积。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值