引言
RMSProp(Root Mean Square Propagation)是对 AdaGrad 的改进,旨在解决 AdaGrad 在训练过程中学习率迅速下降的问题。
AdaGrad 会根据历史梯度的累积平方来调整学习率,导致在训练的后期,学习率变得过小,导致模型无法继续有效地学习。而 RMSProp 通过引入指数衰减平均来计算梯度平方的平均值,使得历史梯度的影响逐渐减小,避免了学习率过快下降的问题。

原理
RMSProp 通过对梯度的平方进行加权平均,来调整每个参数的学习率。它的关键思想是使用梯度的平方的移动平均来规范化每个参数的梯度,使得具有较大梯度的参数获得较小的更新步长,而具有较小梯度的参数则获得较大的更新步长。
RMSProp 的更新规则如下:
-
对每个参数的梯度平方计算指数加权平均: 其中, 是当前时刻的平方梯度的加权平均, 是衰减率(通常接近 1,如 0.9), 是当前时刻的梯度。
-
使用加权平均来规范化梯度,更新参数: 其中, 是学习率, 是为了防止除以零的微小常数(通常设置为 )。
优缺点
优点
-
自适应学习率:RMSProp 通过自适应调整每个参数的学习率,能够在训练过程中自动调整步长,从而避免了手动调整学习率的麻烦。
-
加速收敛:通过对梯度的平方进行加权平均,RMSProp 能够加速训练的收敛速度,尤其适用于具有稀疏梯度的情况。
-
适应不同参数的更新速率:RMSProp 对每个参数的梯度进行规范化,可以有效处理梯度大小不一致的情况,使得所有参数都能以适合的速率更新。
缺点
-
依赖超参数:RMSProp 依赖于衰减率 和学习率 ,这些超参数的选择可能会影响最终的训练效果。
-
对初始值敏感:尽管 RMSProp 自动调整学习率,但初始的学习率和衰减率仍然会影响训练的稳定性。
-
无法保证全局最优:虽然 RMSProp 可以加速收敛,但它也有可能陷入局部最优解,特别是在复杂的非凸优化问题中。