RMSProp

模型究竟是如何学习的——从原始梯度下降到Adam

RMSProp 为每个参数单独调整步长。它跟踪梯度平方的移动平均,然后用这个平均值的平方根去除梯度。

效果很直接:梯度一直较大的坐标,会得到较小的有效步长;梯度较小的坐标,会相对得到较大的步长。当各个梯度的尺度相差悬殊时,这非常有帮助。

想象工厂里的传送带,各自搬运着不同重量的包裹。如果每条传送带都用同样的原始电机指令来驱动,重货的那条线可能会剧烈晃动,轻货的那条线却几乎不受影响。RMSProp 会关注每条传送带的负载,再按每条带子分别调整指令。下面的图展示了 RMSProp 专门用来对付的那种几何形状:一个被拉伸的碗,其中一个坐标的梯度一直比另一个大得多。RMSProp 会缩小陡峭坐标的步长,同时相对提升平坦坐标的步长。

在机器学习中的应用RMSProp 对循环神经网络和非平稳训练很重要,因为它比普通 SGD 更能应对不断变化的梯度尺度。Adam 就是在同样的梯度平方思路上直接搭建起来的。
▶ RMSProp
← 动量Adam →