弹性反向传播(RProp)和均方根反向传播(RMSProp)
来源:互联网 发布:淘宝卖了换钱什么意思 编辑:程序博客网 时间:2024/06/05 15:21
都是一种权值更新算法,类似于SGD算法,其中,RMSProp是RProp算法的改良版。
RProp算法
- 首先为各权重变化赋一个初始值,设定权重变化加速因子与减速因子。
- 在网络前馈迭代中当连续误差梯度符号不变时,采用加速策略,加快训练速度;当连续误差梯度符号变化时,采用减速策略,以期稳定收敛。
- 网络结合当前误差梯度符号与变化步长实现BP,同时,为了避免网络学习发生振荡或下溢,算法要求设定权重变化的上下限。
不同权值参数的梯度的数量级可能相差很大,因此很难找到一个全局的学习步长。
靠参数梯度的符号,动态的调节学习步长
适用于full-batch learning,不适用于mini-batch learning
缺点:不能应用于mini-batch learning中。
原因:
假设有一个在线学习系统,batch==1,初始的学习步长较小,在其上应用prop算法。这里有十组训练数据,前九组都使得梯度符号与之前的梯度符号相同,那么学习步长就会增加九次;而第十次得来的梯度符号与之前的相反,那么学习步长就会减小一次。这样一个过程下来,学习步长会增长很多(增大了9次学习步长,只减小了一次学习步长),如果系统的训练数据集非常之大,那学习步长可能频繁的来回波动,这样肯定是不利于学习的。
改进版,rmsprop算法:
rmsprop算法不再孤立地更新学习步长,而是联系之前的每一次梯度变化情况,具体如下。
- rmsprop算法给每一个权值一个变量MeanSquare(w,t)用来记录第t次更新步长时前t次的梯度平方的平均值。
- 然后再用第t次的梯度除上前t次的梯度的平方的平均值,得到学习步长的更新比例。
- 根据此比例去得到新的学习步长。如果当前得到的梯度为负,那学习步长就会减小一点点;如果当前得到的梯度为正,那学习步长就会增大一点点。
这样看来,rmsprop算法步长的更新更加缓和。
这些算法并不能完全解决局部最小值问题,只是使得参数收敛的速度更快。针对是否能收敛到全局最优解,还与模型的初始化有关。
为了得到所需的全局优化算法。两种流行的全局优化算法是粒子群优化算法(PSO)和遗传算法(GA)。
阅读全文
0 0
- 弹性反向传播(RProp)和均方根反向传播(RMSProp)
- 弹性反向传播
- 反向传播
- 反向传播
- 反向传播
- 反向传播
- 梯度下降和反向传播
- 神经网络和反向传播算法
- 反向传播网络实现
- 反向传播BP算法
- BP反向传播算法
- [BP]反向传播
- 反向传播BP算法
- 反向传播BP算法
- 反向传播BP算法
- 反向传播算法
- 反向传播算法
- 反向传播神经网络 BPNN
- 用内核链表提供的双向循环链表标准实现功能
- jvm 查看当前java进程的启动参数
- Mac安装Maven
- HelloWorld
- Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)
- 弹性反向传播(RProp)和均方根反向传播(RMSProp)
- HDOJ 2086 A1 = ?
- iOS开发之UI篇(5)—— 添加手势
- Android四大组件--BroadCastReceiver介绍
- JDBC封装DAO原理
- 内核链表list.h
- Convolution model---StepbyStep
- 171123-数组动态存储及冒泡排序算法【连续第三十一天】
- 常用IDEA快捷键 不定时更新