批量梯度下降用全量数据算梯度,稳定但慢;随机梯度下降(SGD)每次用一个样本,快但噪声大;Mini-batch SGD 是折中,也是实际标准。Momentum 引入速度累积,梯度方向一致时加速、震荡方向相互抵消,类似带摩擦的小球下坡,更新为 v = βv + g,w -= lr·v。Adam 在此基础上为每个参数维护梯度的一阶矩(动量)和二阶矩(自适应学习率)估计,并做偏差修正,相当于给每个参数单独调步长。
实践差异:SGD+Momentum 在 CV 任务上精心调参常比 Adam 泛化更好;Adam 收敛快、对初始学习率鲁棒,是 Transformer 训练的默认选择。
易错点:Adam 的自适应步长在数据稀疏时有效,但可能收敛到尖锐极小值;学习率衰减依然必要。追问方向:AdamW 与 Adam 的 weight decay 区别?为什么大模型训练要 warmup?