首页 > 技术文章 > Pytorch学习笔记09----SGD的参数几个重要的参数:学习率 (learning rate)、Weight Decay 权值衰减、Momentum 动量

luckyplj 2020-07-30 17:04 原文

1.学习率 (learning rate)

学习率 (learning rate),控制模型的学习进度 :

学习率(Learning Rate,常用η表示。)是一个超参数,考虑到损失梯度,它控制着我们在多大程度上调整网络的权重。值越低,沿着向下的斜率就越慢。虽然这可能是一个好主意(使用低学习率),以确保我们不会错过任何局部最小值;但也有可能意味着我,将耗费很久的时间来收敛——特别是当我们陷入平坦区(plateau region)的时候。

通常,学习率是由用户随机配置的。在最好的情况下,用户可以利用过去的经验(或者其他类型的学习材料)来获得关于设置学习率最佳值的直觉。

因此,很难做到这一点。下图演示了配置学习率时可能会遇到的不同场景。

 

此外,学习率会影响模型收敛到局部最小值的速度(也就是达到最佳的精度)。因此,在正确的方向做出正确的选择,意味着我们只需更少的时间来训练模型。

训练时,学习率的下降过程:

学习率大小的影响:

 学习率 大学习率 小
学习速度
使用时间点 刚开始训练时 一定轮数过后
副作用 1.易损失值爆炸;2.易振荡。 1.易过拟合;2.收敛速度慢。

学习率设置

在训练过程中,一般根据训练轮数设置动态变化的学习率。

  • 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
  • 一定轮数过后:逐渐减缓。
  • 接近训练结束:学习速率的衰减应该在100倍以上。

 

 

推荐阅读