优化方法

学习率衰减

  1. 等间隔调整学习率 StepLR
  2. 多间隔调整学习率 MultiStepLR
  3. 指数衰减调整学习率 ExponentialLR
  4. 余弦退火函数调整学习率:CosineAnnealingLR
  5. 根据指标调整学习率 ReduceLROnPlateau
    当某指标(loss或accuracy)在最近几个epoch中都没有变化(下降或升高超过给定阈值)时,调整学习率。

自适应学习率调整(学习率优化)

传统SGD的缺点,为什么提出学习率优化

  1. 学习率大小和策略选择困难
  2. 学习率不够智能,对所有参数一视同仁。
  3. 同时面临局部极值和鞍点的问题。

Momentum 动量法

协同参考之前累积的的梯度方向
学习率优化方式
学习率优化方式

Nesterov牛顿动量法(根据累计梯度计算提前点)

先按照动量方向前进到点C,再根据C点的梯度进行梯度下降,相比动量法
学习率优化方式学习率优化方式

Adagrad(累计梯度反比)

对于不同的参数动态的采取不同的学习率,让目标函数更快的收敛。
将每一个参数的累计梯度平方和开方,用基础学习率除以这个数,来做学习率的动态更新。
adagrad算法一开始是激励收敛,到了后面就慢慢变成惩罚收敛,速度越来越慢。
why?
不同维度变量的梯度变化率不一致,更新的步长不仅要与函数值变化率(一次微分)成正比,还要与导数变化率(二次微分)成反比,因为曲线曲率越大,那么导数变得快,到极值点的距离就越小,曲线曲率越小,导数变得慢,到极值点的距离越大。
这里用累计梯度平方和来近似二次微分。

学习率优化方式
学习率优化方式

RMSprop(滑动窗口)

上述Adagrad 分母项为前序梯度的累加值,会出现学习率越来越小,造成学习停滞问题。很可能出现早期迭代到不好的极值点之后,由于学习率太小而无法冲出这个极值点导致最后收敛到的解不优。RMSprop采用指数加权移动平均的方法解决。(滑动窗口思想)
学习率优化方式

AdaDelta(自适应学习率)

使用上次的近似变化量来近似学习率

学习率优化方式学习率优化方式

Adam算法

= 动量法+RMSProp
学习率优化方式

相关文章:

  • 2021-08-21
  • 2021-07-27
  • 2022-12-23
  • 2021-09-30
  • 2021-07-13
  • 2022-01-20
猜你喜欢
  • 2021-05-14
  • 2022-12-23
  • 2021-07-26
  • 2021-11-23
  • 2021-09-05
相关资源
相似解决方案