momentum

​ 梯度下降或随机梯度下降都是目标函数在自变量当前位置下降最快的方向,然而,每次迭代都沿着最陡方向并且只考虑当前位置,会使得目标函数很容易陷入局部最小值和鞍点。
优化算法--momentum
​ 可以看到,同一位置上,目标函数在竖直方向(x2x_2轴方向)比在水平方向(x1x_1轴方向)的斜率的绝对值更大。因此,给定学习率,梯度下降迭代自变量时会使自变量在竖直方向比在水平方向移动幅度更大。那么,我们需要一个较小的学习率从而避免自变量在竖直方向上越过目标函数最优解。然而,这会造成自变量在水平方向上朝最优解移动变慢。
优化算法--momentum
​ 然而当我们将学习率变大,此时自变量在竖直方向不断越过最优解并逐渐发散。

动量法

​ 动量法可以很好的解决梯度下降“鼠目寸光”只关注当前位置的弊端,设时间步tt的自变量为xt\boldsymbol{x}_t,学习率为ηt\eta_t,小批量随机梯度gt\boldsymbol{g}_t。在时间步00,动量法创建速度变量v0\boldsymbol{v}_0,并将其元素初始化成0。在时间步t>0t>0,动量法对每次迭代的步骤做如下修改:
vtγvt1+ηtgt,xtxt1vt, \begin{aligned} \boldsymbol{v}_t &\leftarrow \gamma \boldsymbol{v}_{t-1} + \eta_t \boldsymbol{g}_t, \\ \boldsymbol{x}_t &\leftarrow \boldsymbol{x}_{t-1} - \boldsymbol{v}_t, \end{aligned}
其中,动量超参数γ\gamma满足0γ<10 \leq \gamma < 1。当γ=0\gamma=0时,动量法等价于小批量随机梯度下降。

优化算法--momentum
可以看到使用较小的学习率η=0.4\eta=0.4和动量超参数γ=0.5\gamma=0.5时,动量法在竖直方向上的移动更加平滑,且在水平方向上更快逼近最优解。下面使用较大的学习率η=0.6\eta=0.6,此时自变量也不再发散。
优化算法--momentum

指数加权移动平均

​ 给定超参数0γ<10 \leq \gamma < 1,当前时间步tt的变量yty_t是上一时间步t1t-1的变量yt1y_{t-1}和当前时间步另一变量xtx_t的线性组合:

yt=γyt1+(1γ)xt.y_t = \gamma y_{t-1} + (1-\gamma) x_t.

我们可以对yty_t展开:

yt=(1γ)xt+γyt1=(1γ)xt+(1γ)γxt1+γ2yt2=(1γ)xt+(1γ)γxt1+(1γ)γ2xt2+γ3yt3\begin{aligned} y_t &= (1-\gamma) x_t + \gamma y_{t-1}\\ ​ &= (1-\gamma)x_t + (1-\gamma) \cdot \gamma x_{t-1} + \gamma^2y_{t-2}\\ ​ &= (1-\gamma)x_t + (1-\gamma) \cdot \gamma x_{t-1} + (1-\gamma) \cdot \gamma^2x_{t-2} + \gamma^3y_{t-3}\\ ​ &\ldots \end{aligned}

例如,当γ=0.95\gamma=0.95时,

yt0.05i=0190.95ixti.y_t \approx 0.05 \sum_{i=0}^{19} 0.95^i x_{t-i}.

​ 在实际中,我们常常将yty_t看作是对最近1/(1γ)1/(1-\gamma)个时间步的xtx_t值的加权平均。由0.9520exp(1)0.95^{20} \approx \exp(-1),得到当γ=0.95\gamma = 0.95时,yty_t可以被看作对最近20个时间步的xtx_t值的加权平均;当γ=0.9\gamma = 0.9时,yty_t可以看作是对最近10个时间步的xtx_t值的加权平均。而且,离当前时间步tt越近的xtx_t值获得的权重越大(越接近1)。

由指数加权移动平均理解动量法

​ 我们对动量法的速度变量做变形:

vtγvt1+(1γ)(ηt1γgt).\boldsymbol{v}_t \leftarrow \gamma \boldsymbol{v}_{t-1} + (1 - \gamma) \left(\frac{\eta_t}{1 - \gamma} \boldsymbol{g}_t\right).

​ 相比于小批量随机梯度下降,动量法在每个时间步的自变量更新量近似于将最近1/(1γ)1/(1-\gamma)个时间步的普通更新量(即学习率乘以梯度)做了指数加权移动平均后再除以1γ1-\gamma。所以,在动量法中,自变量在各个方向上的移动幅度不仅取决当前梯度,还取决于过去的各个梯度在各个方向上是否一致。

看完这系列,就可吟诗一首

梯度下降可沉甸,随机降低方差难。

引入动量别弯慢,Adagrad梯方贪。

Adadelta学率换,RMSProp梯方权。

Adam动量RMS伴,优化还需己调参。

注释

梯方:梯度按元素平方

贪:因贪婪故而不断累加

学率:学习率

相关文章:

  • 2021-10-18
  • 2021-11-02
  • 2022-12-23
  • 2022-01-11
  • 2021-11-29
  • 2021-05-28
  • 2022-12-23
  • 2021-04-28
猜你喜欢
  • 2021-04-26
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案