RMSprop¶
RMSProp(Root Mean Square Propagation)
RMSProp 是一种自适应学习率优化算法,用于解决标准梯度下降在处理非平稳目标函数(如深度学习任务)时的困难问题。它通过对梯度平方的指数加权平均动态调整学习率,特别适用于稀疏数据和非平稳损失函数。
核心思想¶
RMSProp 的核心思想是对每个参数的梯度平方进行移动平均,进而调整学习率。
它的主要目标是:
避免学习率因为梯度幅度过大而爆炸。 解决梯度较小参数更新缓慢的问题。
通过动态调整学习率,RMSProp 平衡了收敛速度和稳定性。
公式¶
\[\begin{split}\begin{array}{l}
1. 梯度平方的移动平均:\\
E\left[g^{2}\right]_{t}=\beta E\left[g^{2}\right]_{t-1}+(1-\beta) g_{t}^{2} \\
2. 参数更新 \\
\theta_{t+1}=\theta_{t}-\frac{\eta}{\sqrt{E\left[g^{2}\right]_{t}}+\epsilon} g_{t} \\
\end{array}\end{split}\]
β 是衰减率(通常取 0.9)。
η:学习率。
\(g_t\) :当前梯度。
\(E[g^2]_t\) :梯度平方的移动平均值。
ϵ:一个小常数(通常是 10^−8 ),防止除零。
备注
与标准 SGD 相比,RMSProp 为每个参数动态调整学习率,使得梯度较大的参数学习率更小,梯度较小的参数学习率更大。
优缺点¶
优点:
自适应学习率:
根据梯度平方的移动平均值动态调整学习率,无需手动调节。
收敛更快:
在非平稳目标函数(如深度学习任务)中表现稳定,并能快速收敛。
适用于稀疏数据:
RMSProp 在梯度稀疏的场景中表现良好,如 NLP 和推荐系统。
易于实现:
简单的公式和易调参数使其成为深度学习中的常用优化器。
局限性:
依赖超参数:
尽管 𝛽 和 𝜂 的默认值(如 0.9 和 0.001)适用大多数任务,但特定任务可能需要手动调整。
泛化能力较弱:
RMSProp 的正则化效果不如 SGD,可能导致泛化能力不足。