学习率是神经网络优化时的重要超参数.在梯度下降法中,学习率𝛼的取值非常关键,如果过大就不会收敛,如果过小则收敛速度太慢.常用的学习率调整方法包括 学习率衰减、学习率预热、周期性学习率调整以及一些自适应调整学习率的方法,比如AdaGrad、RMSprop、AdaDelta等.自适应学习率方法可以针对每个参数设置不同的学习率
从经验上看,学习率在一开始要保持大些来保证收敛速度,在收敛到最优点附近时要小些以避免来回振荡.比较简单的学习率调整可以通过 学习率衰减(Learning Rate Decay)的方式来实现,也称为学习率退火(Learning Rate An-nealing).不失一般性,这里的衰减方式设置为按迭代次数进行衰减.假设初始化学习率为𝛼0,在第𝑡次迭代时的学习率𝛼𝑡.常见的衰减方法有以下几种:
即每经过𝑇1,𝑇2,⋯,𝑇𝑚次迭代将学习率衰减为原来的𝛽1,𝛽2,⋯,𝛽𝑚倍,其中𝑇𝑚和𝛽𝑚< 1为根据经验设置的超参数.分段常数衰减也称为阶梯衰减(Step Decay)
在小批量梯度下降法中,当批量大小的设置比较大时,通常需要比较大的学习率.但在刚开始训练时,由于参数是随机初始化的,梯度往往也比较大,再加上比较大的初始学习率,会使得训练不稳定.
为了提高训练稳定性,我们可以在最初几轮迭代时,采用比较小的学习率,等梯度下降到一定程度后再恢复到初始的学习率,这种方法称为 学习率预热(Learning Rate Warmup)
一个常用的学习率预热方法是逐渐预热(Gradual Warmup.假设预热的迭代次数为𝑇′,初始学习率为𝛼0,在预热过程中,每次更新的学习率为
当预热过程结束,再选择一种学习率衰减方法来逐渐降低学习率.
为了使得梯度下降法能够逃离鞍点或尖锐最小值,一种经验性的方式是在训练过程中周期性地增大学习率.当参数处于尖锐最小值附近时,增大学习率有助于逃离尖锐最小值;当参数处于平坦最小值附近时,增大学习率依然有可能在该平坦最小值的吸引域(Basin of Attraction)内.因此,周期性地增大学习率虽然可能短期内损害优化过程,使得网络收敛的稳定性变差,但从长期来看有助于找到更好的局部最优解
本文发布于:2024-01-29 00:17:29,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170645865411341.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |