RMSprop

1. 简介

RMSprop 算法是 AdaGrad 算法的改进,可以在有些情况下避免 AdaGrad 算法中学习率不断单调下降以至于过早衰减的缺点。

2. 原理

tt 次迭代时:

  • RMSprop 算法首先计算每次迭代梯度 LW\frac{\partial L}{\partial \boldsymbol{W}} 平方的指数衰减移动平均:

ht=βht1+(1β)LWt1LWt1\begin{array}{c} \boldsymbol{h}_t = \beta \boldsymbol{h}_{t-1} + (1-\beta)\frac{\partial L}{\partial \boldsymbol{W}_{t-1}} \odot \frac{\partial L}{\partial \boldsymbol{W}_{t-1}} \end{array}

其中,β\beta 为衰减率,一般取指为 0.90.9

  • RMSprop 算法的参数更新公式为:

Wt=Wt1η1ht+εLWt1\begin{array}{c} \boldsymbol{W}_t = \boldsymbol{W}_{t-1} - \eta \frac{1}{\sqrt{\boldsymbol{h}_t+\boldsymbol{\varepsilon}}} \frac{\partial L}{\partial \boldsymbol{W}_{t-1}} \end{array}

其中,W\boldsymbol{W} 为需要更新的参数,LL 为损失函数,LW\frac{\partial L}{\partial \boldsymbol{W}}LL 关于 W\boldsymbol{W} 的梯度,η\eta 为学习率,\odot 表示对应矩阵元素的乘法,ε\boldsymbol{\varepsilon} 是为了保持数值稳定而设置的非常小的常数(一般取 e7e^{-7}e10e^{-10})。