一些经典的学习率

首先要了解Momentum概念:

借用了物理中的动量概念,它模拟的是物体运动时的惯性,即更新的时候在一定程度上保留之前更新的方向,同时利用当前batch的梯度微调最终的更新方向。这样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力。


BGD(Batch Gradient Descent):会陷入minibatch-loss的奇点


SGD(随机梯度下降):不会陷入minibatch-loss的奇点,但走的路径比较曲折(震荡),尤其是batch比较小的情况下。


SGDM(SGD with Momentum)


RMSProp:在Adagrad基础上借鉴Momentum。Adagrad会累加之前所有的梯度平方,而RMSprop仅仅是计算对应的平均值,因此可缓解Adagrad算法学习率下降较快的问题。


Adam(训练出很多经典模型,一直未被新的超越):SGDM+RMASProp 


Adam下降的比较快SGDM后期比较稳:前期用Adam后期用SGDM:SWATS


AMSGrad,AdaBound:改进Adam,用一些方法是学习率不会一会儿太大或太小,使其比较稳一些。


Cyclical LR,SGDR:改进SGDM,将学习率设为一大一小周期性变化(原本为越来越小)


神经网络的Warm up机制
warm up的意义在于,在模型训练的初始阶段:该模型对数据还很陌生,需要使用较小的学习率慢慢学习,不断的修正权重分布,如果一开始就使用很大的学习率,方向正确了影响还不大,但是一旦训偏了,可能后续需要很多个epoch才能拉回来,甚至拉不回来,直接导致过拟合。
中间阶段,当使用较小的学习率学习了一段时间后,模型已经把每批数据都看个几遍了,形成了一些先验知识,这时候就可以使用较大的学习率加速学习,前面学习到的先验知识可以使模型的方向正确。
decay阶段:模型训练到一定阶段后,该模型学习到的分布已经大体固定,需要学习的“新知识”较少,这时候如果继续沿用很大的学习率,可能会破坏模型权重分布的稳定性。


Adam need warm up


RAdam:SGDM to RAdam(当vt〈4时不可用,所以先用SGDM)


SWATS:Adam to SGDM(Adam前期的快和SGDM后期的稳)
Lookahead:k step forward, 1 step back

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值