You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Adam优化器是否与SGD一样在MLP各层更新权重?

Adam优化器权重更新的常见疑问解答

1. Adam和SGD的权重更新范围是否一致?

完全一致——不管是Adam还是SGD,都会在反向传播过程中对神经网络的每一层权重进行更新。两者的核心区别是权重更新的计算方式:SGD用当前梯度直接调整权重,而Adam额外引入了一阶动量(梯度的指数移动平均)和二阶动量(梯度平方的指数移动平均)来自适应调整学习率,但更新的覆盖范围是全网络所有层的参数,没有区别。

2. 关于MLP权重更新次数的误解

你提到的“输出层到隐藏层2有2次更新”这种说法是错误的,正确的理解是:每一轮迭代(或每处理一个batch的数据)中,每一层的所有权重参数都会被更新一次。
以你的MLP为例:

  • 输出层到隐藏层2的权重是一个(输出神经元数×隐藏层2神经元数)的矩阵,矩阵里的每一个元素(权重参数)都会在一次更新中得到调整;
  • 隐藏层2到隐藏层1、隐藏层1到输入层的权重矩阵,同理,所有参数都会被更新一次。
    不存在“几次更新”的说法,是每一层的全部参数都参与一次更新。

3. 为什么有些示例只展示输出层的权重更新?

那些示例一般是简化演示用的:可能是为了聚焦讲解反向传播的核心逻辑,只截取了输出层的更新代码;或者是教学案例里刻意简化了流程,只展示最后一层的计算。但实际训练中,Adam(包括所有标准优化器)必须更新所有层的权重——如果只更新输出层参数,前面的隐藏层参数固定不动,模型无法学习到输入到输出之间的复杂特征映射,根本达不到训练目的。

内容的提问来源于stack exchange,提问作者andryan86

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:15:37