马春杰杰博客
致力于深度学习经验分享!

深度学习中的学习率衰减

最新目录

1 为什么要学习率衰减?

  PyTorch中的学习率并不总是一成不变的,而是可以随着epoch或者迭代次数的变化而有规律地更新,称之为scheduler
  在神经网络的训练过程中,当accuracy出现震荡或loss不再下降时,进行适当的学习率衰减是一个行之有效的手段,很多时候能明显提高accuracy
  学习率衰减的大致步骤为:

2 学习率衰减策略

1.2 Step学习率

  Step学习率以固定间隔乘以一个系数gamma(一般为0.1)。

2.2 Multi-Step学习率

  Multi-Step学习率同样是每次乘以一个系数gamma,不过需要给定学习率衰减的epoch列表。

2.3 指数衰减学习率

  指数衰减学习率的公式为lr = base_lr * gamma ^ epoch。gamma一般为0.99

2.4 Cos学习率

  Cos学习率在初始学习率base_lr和最小值eta_min之间以余弦形式调整,在MAX_Tepochs时衰减到最小值。

2.5 动态周期的Cos学习率

  动态周期的Cos学习率在衰减到最小值以后重新回到最大值,然后以更慢的速度衰减。

2.6 Cyclic学习率

  Cyclic学习率在最大值和最小值之间来回弹跳。

2.7 Lambda学习率

  顾名思义,Lambda学习率就是自定义一个学习率关于epoch的函数来调整学习率。定义Lambda函数时给出初始学习率乘以的系数即可。

# 参考资料

https://blog.csdn.net/junqing_wu/article/details/93248190
https://www.jianshu.com/p/26a7dbc15246

 

赞(249) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《深度学习中的学习率衰减》
文章链接:https://www.machunjie.com/deeplearning/pytorch/941.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: