Adam作为一种快速收敛的优化器被广泛采用,但是它较差的收敛性限制了使用范围,为了保证更优的结果,很多情况下我们还在使用SGD。
但SGD较慢的收敛速度也令人头疼,所以人们一直在研究进一步优化Adam的方法。AdaBound、RAdam都是在这方面的尝试。
最近北京大学孙栩课题组提出了一种新的优化器AdaMod。这是一种基于Adam的改进优化器,具有自动预热试探法和长期学习速率缓冲。
AdaMod的名称来自Adaptive(自适应)和Momental Bound(矩限制)。
在训练过程中,AdaMod可以轻松击败Adam,同时对学习率超参数、训练曲线都不那么敏感,并且不需要预热。
AdaMod的原理是,在训练的同时计算自适应学习率的指数长期平均值,并使用该平均值来修剪训练过程中过高的学习率。
这一做法提高了优化器的收敛性,无需进行预热,并且降低了对学习率的敏感性。
在上图中,我们可以看出,SGDM和Adam的训练结果都依赖于初始学习率的选择。而AdaMod即使学习率相差两个数量级,也能收敛到同一结果。
相比Adam优化器,AdaMod只增加了一个超参数β3,用来描述训练中记忆长短的程度。
这种长期记忆解决了自适应学习率的异常过大数值,免于让优化器陷入了不良的状态。
与之前的RAdam优化器类似,AdaMod能够从训练开始就控制自适应学习率的变化,从而确保训练开始时的稳定性,无需预热。
相关报道:
RAdam优化器又进化:与LookAhead强强结合,性能更优速度更快
在3个基于Transformer的神经机器翻译模型上,没有预热的AdaMod显示出了比预热的Adam有着更快的收敛速率和更好的收敛结果。