【机器学习300问】85、Adam梯度下降优化算法的原理是什么?

Adam优化算法取了两个算法名称的首字母------Adaptive Moment Estimation的缩写,**结合了Momentum算法和RMSprop算法的优点。**在Momentum中,会计算前一时刻的梯度,并将其用于当前时刻的梯度更新;而RMSprop会对梯度的大小进行自适应调整。Adam算法将这两种思想汇集于一体,通过计算梯度的一阶矩(即均值)和二阶矩(即方差),来调整参数更新的步长。

​​​​​​​​​​​​​​【机器学习300问】81、什么是动量梯度下降算法?http://t.csdnimg.cn/Kw6cf

【机器学习300问】82、RMSprop梯度下降优化算法的原理是什么?http://t.csdnimg.cn/pTxlo

一、 Adam算法的原理

Adam算法的更新规则如下

(1)计算梯度的一阶矩和二阶矩的指数移动平均值

  • 一阶矩估计(动量项)

类似于动量梯度下降,Adam跟踪了梯度(即一阶导数)的指数加权移动平均,记作。这有助于捕捉梯度的方向并加速学习过程。其中是当前梯度,是衰减因子(通常设置接近于0.9)

  • 二阶矩估计(方差项)

Adam还计算了梯度平方的指数加权移动平均,记作,用来估计每个参数的方差,帮助调整学习率。这类似于RMSprop中的做法。其中​是另一个衰减因子(通常设置接近于0.999)

(2)对m和v进行偏差修正

由于在算法初期会有较大的偏置,为了应对算法在初始阶段的梯度估计不准确的问题在实际应用中通常会对其进行偏置修正。通过偏差修正,可以使得算法在初始阶段更快地适应真实的梯度均值和方差,从而避免了由于偏差造成的过小更新步长问题。随着迭代次数的增加,修正项趋于1,其影响逐渐减小,保证算法长期的稳定性和收敛性。

(3)更新参数

是一个非常小的数,防止除以零,默认为

|------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 符号 | 解释 |
| | 在时刻的模型参数 |
| | 在时刻的一阶矩估计,即过去梯度的指数移动平均值,可以视为动量项,初始值通常设为0 |
| | 在时刻的二阶矩估计,即过去梯度平方的指数移动平均值,与RMSprop中的梯度平方累积相似,初始值通常设为0 |
| | 偏差校正后的一阶矩估计 |
| | 偏差校正后的二阶矩估计 |
| | 一阶矩的指数衰减率,用于控制一阶矩估计的滑动更新,常设为0.9 |
| | 二阶矩的指数衰减率,用于控制二阶矩估计的滑动更新,常设为0.999 |
| | 在时刻的梯度,即损失函数对参数的导数 |
| | 学习率,控制参数更新的步长 |
| | 一个非常小的数值,用以防止在除法操作中分母为零,为了数值稳定性,常设为 |
| | 当前迭代次数或时刻 |

二、Adam算法的优点

(1)Adam在实际中广泛应用

它在多种深度学习网络和任务中表现较为稳健,尤其是在大数据集和高维空间的问题上。

(2)自适应学习率

每个参数都有自己的学习率,这意味着它能很好地处理特征尺度不同的问题,且不需要手动调整学习率。

(3)稳定且高效

即使在高维空间中也能快速收敛。通过结合动量和RMSprop的优点,Adam在多种类型的优化问题中表现稳定。

相关推荐
小白狮ww2 小时前
Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled 蒸馏模型,27B 参数也能做强推理
人工智能·自然语言处理·claude·通义千问·opus·推理·qwen3.5
w_t_y_y2 小时前
python类库(一)模板
人工智能
Nova_AI2 小时前
014、AI开源生态:模型、工具与社区的盈利之道
人工智能·开源
weixin_513449962 小时前
walk_these_ways项目学习记录第八篇(通过行为多样性 (MoB) 实现地形泛化)--策略网络
开发语言·人工智能·python·学习
大熊背2 小时前
如何利用Lv值实现三级降帧
算法·自动曝光·lv·isppipeline
管二狗赶快去工作!2 小时前
体系结构论文(九十八):NPUEval: Optimizing NPU Kernels with LLMs and Open Source Compilers
人工智能·深度学习·自然语言处理·体系结构
zhangshuang-peta2 小时前
通过 MCP 控制平面引入技能
人工智能·机器学习·ai agent·mcp·peta
LX567772 小时前
传统编辑如何考取AI内容编辑师认证?学习路径详解
人工智能·学习
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-04-10
人工智能·经验分享·深度学习·神经网络·产品运营
数据知道2 小时前
claw-code 源码分析:OmX `$team` / `$ralph`——把 AI 辅助开发从偶发灵感变成可重复流水线
数据库·人工智能·mysql·ai·claude code·claw code