4-Learning rate自动调整学习率

本文探讨了在机器学习训练中,自适应学习率如何影响模型优化。AdaptiveLearningRate策略如Adagrad、RMSProp和Adam能根据参数梯度的变化动态调整学习率。Adagrad在初期表现良好,但后期学习率降低可能导致震荡。RMSProp和Adam结合了历史梯度信息,提供更好的适应性。学习率调度如LearningRateDecay和WarmUp策略能进一步优化训练过程。
摘要由CSDN通过智能技术生成

Adaptive Learning Rate

一、问题描述

image-20211202155459837

当分析训练的loss已经不会随着gradient的更新而变化时,不一定就是local minima或者saddle point,分析norm of gradient ,发现在loss几乎不变的时候,gradient 还在保持着较大幅度的更新,很有可能是走到了左边的峡谷,gradient在两边跳跃,却始终不会降低loss。

image-20211202160505115

学习率过大,就会出现上一张ppt所示的情形,在峡谷两侧摆动;学习率过小,在峡谷的腰部位置,表现得会不错,慢慢移动到谷底,但是当进入平缓之后,学习率过小导致始终无法移到点x处。

二、不同的参数需要不同的学习率

1.参数更新公式
image-20211202162821542

我们需要的是,在梯度变化较大的位置用更小的学习率,而梯度较为平缓的地方使用更大的学习率,希望机器可以自动调节。

2.root mean square均方根———used in Adagrad

简单来讲,设置全局学习率之后,每次通过全局学习率逐参数的除以历史梯度平方和的平方根,使得每个参数的学习率不同。

效果:在参数空间更为平缓的方向,会取得更大的进步(因为平缓,所以历史梯度平方和较小,对应学习下降的幅度较小)

缺点:使得学习率过早,过量的减少

image-20211202163506076

对于同一个参数,gradient的大小会被固定的差不多,但是,如果是同一个参数的同一个更新方向,出现陡坡和平坡,需要自动变化学习率,就需要更加高级的更新办法。

3.RMSProp

更近的gradient有着更大的影响,而过去的gradient有着很小的影响。使得对于同一个参数的同一个移动方向也可以自适应调整学习率。

image-20211202165153288 image-20211202165404960
4.最常用的optimization策略是Adam

Adam=RMSProp+Momentum

三、结果

1.without Adaptive Learning Rate

image-20211202170442984

2.Adagrad

刚开始表现得十分不错,但是为什么在圆圈处出现较大幅度纵轴震荡?因为到了平缓区域,学习率降低,但是随着很多次累加,学习率又将变大,后又慢慢减小,出现下图的情况。

image-20211202170547969
3.解决办法:Learning Rate Schedulingimage-20211202171554296
3.1 Learning Rate Decayimage-20211202171142344

随着时间的进行,我们更加接近目标,于是,我们不断减少学习率。

3.2 Warm Upimage-20211202171255139

先变大,后减少(黑科技),可能性解释,刚开始,机器看到的资料不多,因此用更小的更新速度去探索更多的情报。---->please refer RAdam

四、Summary of Optimization

momentum 和image-20211202172538857不会抵消,因为momentum直接加上过去的所有movement,有考虑方向和正负号,而 却只考虑大小,不考虑方向。

raw/master/img/202112021725879.png" style=“zoom:50%;” />却只考虑大小,不考虑方向。

image-20211202172701856
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值