04 自动调整学习率(Learning Rate)-学习笔记-李宏毅深度学习2021年度

上一篇:03 梯度(Gradient)很小怎么办(Local Minima与Saddle Point)-学习笔记-李宏毅深度学习2021年度

下一篇:05 Classification-学习笔记-李宏毅深度学习2021年度

本节内容及相关链接

自动调整 Learning Rate 的常见策略

课堂笔记

当training陷入瓶颈时,不一定是gradient太小,有可能是由于学习率太大,导致其在山谷之间震荡,无法抵达最小值

在这里插入图片描述
对应到gradient的函数图像如下图:
在这里插入图片描述
x x x 轴为更新次数, y y y 为gradient的大小


要根据迭代次数,当前梯度等因素,自动调整 Learning Rate。 θ \theta θ 的更新公式改为: θ i t + 1 ← θ i t − η σ i t g i t \theta_i^{t+1}\leftarrow \theta_i^t - \frac{\eta}{\sigma_i^t}g^t_i θit+1θitσitηgit

对于Learning Rate的调整,都是通过调整 σ \sigma σ 来实现

常见的调整策略有:

  • Root Mean Square:考虑本次的梯度和过去的所有梯度
  • RMSProp:重点考虑本次的梯度,稍微考虑过去的所有梯度
  • Adam:结合了RMSProp和Momentum
  • Learning Rate Decay:随着更新次数的增多,因为我们就会越接近目标,所以要将Learning Rate调小
  • Warm Up:一开始Learning Rate小一点,然后随着迭代次数增多而增大,然后到某一个点时,再随着迭代次数增多而减小。如图所示:在这里插入图片描述

Root Mean Square公式为: σ i t = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma_{i}^{t}=\sqrt{\frac{1}{t+1} \sum_{i=0}^{t}\left(g_{i}^{t}\right)^{2}} σit=t+11i=0t(git)2


RMSProp公式为: σ i t = α ( σ i t − 1 ) 2 + ( 1 − α ) ( g i t ) 2 \sigma_{i}^{t}=\sqrt{\alpha\left(\sigma_{i}^{t-1}\right)^{2}+(1-\alpha)\left(g_{i}^{t}\right)^{2}} σit=α(σit1)2+(1α)(git)2 其中 α \alpha α 为要调的超参数, 0 < α < 1 0<\alpha<1 0<α<1


Adam 建议采用Pytorch默认的参数。

Adam的调整策略如下:

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/zhaohongfei_358/article/details/123176219