Lookahead、LazyOptimizer、MaskedAdamOptimizer、AdaBound

本文介绍了优化器的新进展,包括AdaBound算法,它试图结合Adam的快速收敛与SGD的稳定性能。AdaBound通过对学习率动态裁剪,实现了训练早期接近Adam,后期接近SGD的效果。此外,还探讨了Lookahead优化方法,它不是直接的优化器,而是一种结合现有优化器的策略,通过周期性的全局更新提高模型性能。另外,还讨论了LazyAdam和MaskedAdamOptimizer,这两个针对NLU任务优化的Adam变体,旨在解决稀疏更新和过拟合问题。
摘要由CSDN通过智能技术生成

Lookahead、LazyOptimizer、MaskedAdamOptimizer、AdaBound

2019年08月02日 17:15:19 sliderSun 阅读数 103

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_37947156/article/details/98208772

AdaBound算法:像Adam一样快,又像SGD一样好的优化器

论文地址

https://openreview.net/pdf?id=Bkg3g2R9FX

GitHub地址:(Pytorch)

https://github.com/Luolc/AdaBound

GitHub地址:(Tensorflow)

https://github.com/taki0112/AdaBound-Tensorflow

 

SGD的缺点:


SGD现在后期调优时还是经常使用到,但SGD的问题是前期收敛速度慢。SGD前期收敛慢的原因: SGD在更新参数时对各个维度上梯度的放缩是一致的,并且在训练数据分布极不均很时训练效果很差。而因为收敛慢的问题应运而生的自适应优化算法Adam、AdaGrad、RMSprop 等,但这些自适应的优化算法虽然可以在训练早期展现出快速的收敛速度,但其在测试集上的表现却会很快陷入停滞,并最终被 SGD 超过。

Adam等自适应学习率算法缺点:


这就是目前很多大牛任然喜欢SGD的原因。这篇文章对于Adam后期的毛病进行了分析,原因出在自适应方法训练后期不稳定的极端学习率。换句话说,就是自适应学习率训练到后期,学习率出现极端情况,更新参数时有些维度上学习率特别大,有些维度学习率特别小。

 采样参数的学习率,每个单元格包含一个通过对学习率进行数值运算得到的值,颜色越浅代表学习率越小。

我们可以看到,当模型接近收敛时,学习率中有大量的极端值(包含许多小于 0.01 和大于 1000 的情况)。这一现象表明在实际训练中,极端学习率是实际存在的。

发现这个问题怎么解决?如何融合上面两种方法的优点?


那就对自适应学习率加一下限制吧。具体做法是对学习率进行动态裁剪,在这一设置下,在训练早期由于上下界对学习率的影响很小,算法更加接近于 Adam;而随着时间增长裁减区间越来越收紧,模型的学习率逐渐趋于稳定,在末期更加贴近于 SGD。AMSBound 可以对 AMSGrad 采用类似的裁剪得到。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值