Nesterov 动量(NAG)、AdaGrad、RMSprop、Adam 是深度学习中最常用的四种优化算法,分别从 “加速收敛”“自适应学习率”“平衡历史与近期信息” 等角度改进了基础梯度下降。
普通动量方法的思想相当于在最近几步的平均梯度方向上移动参数,而基于 “动量累积 + 前瞻梯度”,解决普通动量中 “梯度滞后” 问题。通过先预估参数的下一步位置(基于当前动量),再用这个 “未来位置” 的梯度更新动量,让参数更新更具 “预见性”,减少过冲(参数越过最小值)。
解决的问题普通动量用当前参数的梯度更新动量,但参数可能因历史惯性已移动一段距离,导致梯度计算滞后(类似开车只看当前位置打方向盘,没考虑惯性冲出去的距离)。Nesterov 通过 “前瞻” 提前调整方向,减少滞后。
数学公式设参数为,动量变量为v(初始为 0),动量因子(通常取 0.9),学习率:
预估下一步位置:(基于当前动量预判参数移动后的位置);计算前瞻位置的梯度:(用预判位置的梯度,避免滞后);更新动量:;更新参数:。优缺点优点:收敛速度快,减少过冲,比普通动量更稳定;缺点:学习率固定,无法适配不同参数的更新需求(如稀疏参数需要更大学习率)。适用场景损失函数较平滑、需要快速收敛的场景(如神经网络训练的中后期,接近最优值时减少震荡)。
二、AdaGrad(Adaptive Gradient)(艾达格拉德)核心思想首个 “自适应学习率” 算法:为每个参数动态调整学习率 —— 频繁更新(准确的说是累积大,梯度分量变化剧烈,就是坡比较陡的方向)的参数用小学习率(避免震荡),稀疏更新的参数用大学习率(加速收敛),通过累积参数的历史梯度平方和实现。
解决的问题基础梯度下降用全局统一学习率,无法适配不同参数的更新频率(如稀疏数据中,低频特征参数更新少,需要大步长;高频特征参数更新频繁,需要小步长)。实际效果就是通过调整针对每一个梯度分量的学习率绕开梯度剧烈变化的陡坡,减少过冲和震荡。
数学公式设参数为(第i个参数),历史梯度平方和为(初始为 0),学习率(通常取 0.01),极小值(,避免分母为 0):
计算当前梯度:;累积梯度平方和:;更新参数:。其中,是参数i的动态学习率(越大,学习率越小)。
优缺点优点:自动适配稀疏数据(如自然语言处理中的低频词),无需手动调参;缺点:随迭代累积单调递增,导致学习率逐渐趋近于 0,可能提前停滞(不适合长期训练)。适用场景稀疏数据场景(如文本分类、推荐系统),或短期训练任务(学习率不会过早衰减)。
三、RMSprop(Root Mean Square Propagation)(阿姆斯普洛浦)核心思想改进 AdaGrad 的 “学习率单调衰减” 问题:用指数平均替代 “累积梯度平方和”,让历史梯度的影响随时间指数衰减(更关注近期梯度),避免学习率过快趋近于 0。
解决的问题AdaGrad 的是 “无遗忘的累积”,导致学习率必然衰减;RMSprop 通过指数平均 “遗忘” 远期梯度,让学习率更稳定(既能抑制高频参数的步长,又不会因长期累积导致步长消失)。
数学公式设参数为,指数平均的梯度平方和为(初始为 0),平滑系数(通常取 0.99),学习率,:
计算当前梯度:;指数平均梯度平方和:(近期梯度平方权重更高);更新参数:。优缺点优点:解决 AdaGrad 的学习率停滞问题,学习率更稳定,适合长期训练;缺点:仅优化学习率,未考虑动量(收敛速度可能慢于动量类算法)。适用场景需要长期训练的深度学习任务(如神经网络、深度学习模型),尤其适合非稀疏数据(补充了动量类算法的自适应学习率能力)。
四、Adam(Adaptive Moment Estimation)(亚当)核心思想“动量 + RMSprop” 的结合体:同时计算梯度的一阶矩(动量,反映方向) 和二阶矩(RMSprop,反映幅度) 的指数平均,既用动量加速收敛,又用自适应学习率适配参数差异,是目前最流行的优化算法。
解决的问题单独的动量算法(如 Nesterov)缺乏自适应学习率,单独的 RMSprop 缺乏动量加速。Adam 融合两者优势,兼顾 “加速收敛” 和 “自适应步长”。
数学公式设参数为,一阶矩(动量,指数平滑后的梯度)(初始为 0),二阶矩(一个指数平均后的学习率调节参数)(初始为 0),一阶矩平滑系数(通常 0.9),二阶矩平滑系数(通常 0.999),学习率,,且需对一阶矩做 “偏差修正”(因初始值为 0,早期估计偏小):
计算当前梯度:;更新一阶矩(动量):;更新二阶矩(RMSprop):;偏差修正(抵消初始 0 值的影响):;
更新参数:。优缺点优点:收敛快、稳定,兼顾动量加速和自适应学习率,对学习率不敏感,适用场景广;缺点:在某些极端场景(如生成对抗网络)可能收敛到局部最优,但实际应用中表现几乎最优。适用场景绝大多数深度学习任务(如图像分类、自然语言处理、强化学习),是默认的 “开箱即用” 优化算法。
总结:四者的关联与差异算法
核心机制
关键改进目标
典型场景
Nesterov
动量 + 前瞻梯度
减少过冲,加速收敛
平滑损失函数、快速收敛
AdaGrad
累积梯度平方和→自适应学习率
适配稀疏数据,无需调参
稀疏数据(文本、推荐)
RMSprop
指数平均梯度平方和→稳定学习率
解决 AdaGrad 的学习率停滞
长期训练、非稀疏数据
Adam
动量(一阶矩)+ RMSprop(二阶矩)
融合加速与自适应,兼顾稳定性
绝大多数深度学习任务
演进逻辑:从 “加速收敛”(Nesterov)到 “自适应学习率”(AdaGrad),再到 “稳定自适应学习率”(RMSprop),最终融合为 “全能型”(Adam)。实际应用中,Adam 因综合性能最优,成为首选;仅在特殊场景(如稀疏数据且短期训练)考虑 AdaGrad,或需极致加速时考虑 Nesterov。
转载请注明来自海坡下载,本文标题:《优化算法参数(020针对基础梯度下降的四种改进算法简介)》
京公网安备11000000000001号
京ICP备11000001号
还没有评论,来说两句吧...