弹性反向传播
2017-05-23 20:05
162 查看
弹性反向传播算法学习笔记
Resilient backppropagation
正常使用的反向传播算法有两个缺点待解决,其一为学习过程中学习率的选择较难,一旦学习率选择不当会造成学习效果不好;其二为反向传播算法的梯度弥散作用,即距离输出层越远的神经元学习的速度越慢。Martin Riedmiller也因此提出了弹性反向传播算法(Rprop)
1、学习率
反向传播算法中的学习率为用户提前设定的固定的η,并在整个网络中使用单一的η,因此就会出现学习率选择的问题,而在Rprop中,每一个可优化的权重都对应着一个单独的η,不同的权重的学习率不同,并且这些学习率并不是由用户指定,而是由程序自动的设定,这些学习率在程序执行过程中也并不是静态不变的,而是每一个学习时间点学习率都在不断地更新,即2、权重的更新
在一般的反向传播算法中,学习过程中权重的改变量是由误差函数对该权重的偏导(即梯度)所决定,直观上很有道理,However,We incorporate every jagged feature of the error surface,It is at least questionable.这句看不懂,总之有问题就是了啦啦啦而在Rprop中,权重的变化量
直接等于学习率
,因此误差函数的梯度并不影响权重的变化值,在Rprop中梯度仅仅影响权重变化值的符号,即影响权重变化的方向。
3、算法细节
综上,我们已经知道了训练过程中权重的改变量直接等于每个权重对应的学习率,而权重的改变量的符号则取决于误差函数的梯度的符号,误差函数得梯度只决定权值更新的方向,不决定权值更新的强度,如果误差函数的梯度为正,则我们就需要降低相应的权重,可以使减去
,如果梯度为负数,则就应该增大相应的权重来使误差函数逼近最小值,如下式所示:
至此已经明确了权重如何更新,接下来说明一下学习率
如何更新。
此时首先应当考虑一下如何t和(t-1)两个时间点的梯度的符号会如何变化,总共有两种情况。
如果(t-1)和t两个时间点误差函数的梯度符号不同,说明在t时我们已经越过了最小值,说明上一次权值的更新步跨太大,则
就应当比
更小来使得对于最低值的搜索更加精确,在数学层面上,我们使上一步的学习率和一个大于0小于1的值
相乘来得到当前的学习率。然而,当两次的符号相同,说明还未到达误差函数的最低点,可以使相应的学习率增加一些来加快学习的步伐,因此我们可以使上一步的学习率乘以一个大于一的
来得到当前的学习率。
如下式所示:
相关文章推荐
- 弹性反向传播(RProp)和均方根反向传播(RMSProp)
- 【模式识别】反向传播神经网络 BPNN
- 神经网络反向传播的数学原理
- CS231n作业笔记1.3:SVM的误差函数以及反向传播(非向量及向量算法)
- 反向传播BP算法
- 深度学习入门课程学习笔记06 反向传播
- BP(反向传播)算法和CNN反向传播算法推导(转载)
- (Caffe,LeNet)反向传播(六)
- 反向传播BP算法
- 深度学习笔记(3)——CNN中一些特殊环节的反向传播
- BP 反向传播
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- [深度学习] 反向传播的四个基本公式证明及算法流程
- CNN卷积神经网络和反向传播
- 梯度下降法与反向传播
- 《神经网络和深度学习》系列文章十三:反向传播背后的四个基本等式
- 反向传播(Back propagation)算法推导具体过程
- CNN反向传播和普通神经网络的联系和比较
- 李宏毅机器学习2016 第七讲 反向传播
- TensorFlow如何实现反向传播