Caffe入门:学习率(lr_policy)

学习率是一个非常重要的参数,可以直接影响模型的收敛与否。不同的学习率变更策略也会影响最终的迭代结果。

下面以sgd优化方法,来介绍各种策略。caffe框架中的策略包括fixed,step,exp,inv,multistep,poly,sigmoid。

multistep

基本每次网络训练都使用该策略:非均匀降低策略,指定降低的step间隔,每次降低为原来的一定倍数。

lr_policy: "multistep"
gamma: 0.5
stepvalue: 10000
stepvalue: 30000
stepvalue: 60000

即分别在迭代到10000,30000,60000次的时候将学习率变为前一次的0.5倍,如图所示:

这是比step更加复杂的策略step采用均匀降低策略,也是采用非连续型的变换,但是变换的迭代次数不均匀,也是非常常用的策略,需要经验。

几种学习率变更策略总结:

  • step,multistep方法的收敛效果最好,这也是我们平常用它们最多的原因。虽然学习率的变化是最离散的,但是并不影响模型收敛到比较好的结果。
  • 其次是exp,poly。它们能取得与step,multistep相当的结果,也是因为学习率以比较好的速率下降,操作的确很骚,不过并不见得能干过step和multistep。
  • inv和fixed的收敛结果最差。这是比较好解释的,因为fixed方法始终使用了较大的学习率,而inv方法的学习率下降过程太快,这一点,当我们直接使用0.001固定大小的学习率时可以得到验证,最终收敛结果与inv相当。
参考链接:https://blog.csdn.net/hacker_long/article/details/85054085
发布了207 篇原创文章 · 获赞 890 · 访问量 129万+

猜你喜欢

转载自blog.csdn.net/duan19920101/article/details/104296472