为啥adam不需要太大的学习率
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥adam不需要太大的学习率相关的知识,希望对你有一定的参考价值。
参考技术A 因为adam损失下降特别快,不用设置那么大的初始学习率 参考技术B 我们利用TensorFlow提供的tf.train.AdamOptimizer来控制学习速度。AdamOptimizer通过使用动量(参数的移动平均数)来改善传统梯度下降,促进超参数动态调整本回答被提问者采纳机器学习笔记:学习率预热 warmup
1 学习率预热介绍
- 在mini-batch 梯度下降方法中,如果batch比较大的话,通常需要比较大的学习率
- 但在一开始的训练中,由于参数是随机初始化的,所以此时的梯度往往也很大
- 如果此时学习率也很大的话,训练将变得很不稳定
- ——>为了提高训练的稳定性,我们在最初几轮迭代时,采用较小的学习率,等梯度下降到一定程度之后,再恢复到初始的学习率
- 这种方法称为学习率预热 learning rate warmup
- 当预热过程结束的时候,再选择一种学习率衰减的方式来降低学习率
2 逐渐预热 gradual warmup
一种常见的方法是逐渐预热。假设预热的迭代次数为T‘,初始学习率为α0,那么在预热的过程中,每次更新的学习率为
以上是关于为啥adam不需要太大的学习率的主要内容,如果未能解决你的问题,请参考以下文章
在 ADAM 优化器的 CNTK 实现中,参数 alpha、beta1、beta2 和 epsilon 如何与学习率和动量相关