优化器
Optimizer常用根据梯度决定每一步如何更新模型参数的算法,如 SGD、Adam、AdamW。
训练神经网络时,反向传播算出损失对每个参数的梯度,优化器负责把梯度变成具体的参数更新:往哪个方向走、走多大一步。最基础的是随机梯度下降(SGD),加动量后更平稳;Adam(Kingma 与 Ba,2014)同时跟踪梯度的均值和平方均值,给每个参数自适应步长,调参少、收敛快;AdamW(Loshchilov 与 Hutter,ICLR 2019)把权重衰减从梯度更新里拆出来,泛化更好,在 Transformer、扩散策略等模型的训练中很常用。优化器通常和学习率调度(预热、余弦退火)、梯度裁剪一起配置。注意:人形机器人公司 PNDbotics 的 Adam 是一款机器人,与 Adam 优化器无关。
例子Diffusion Policy 官方训练配置用 torch.optim.AdamW,学习率 1e-4、权重衰减 1e-6,配 500 步预热加余弦退火;在 PyTorch 里每步训练依次调用 zero_grad()、loss.backward()、optimizer.step()。
- 也叫
- 优化算法、Optimization Algorithm
- 相关
- 梯度下降、反向传播、学习率、AdamW 优化器、学习率调度(预热与余弦退火)、梯度裁剪
- 来源
- Adam: A Method for Stochastic Optimization
Decoupled Weight Decay Regularization (AdamW)
PyTorch Documentation: torch.optim