AdamW 优化器
AdamW (Adam with Decoupled Weight Decay)常用把权重衰减从梯度更新里拆出来单独做的 Adam,训练大模型最常用的优化器之一。
AdamW 由 Ilya Loshchilov 和 Frank Hutter 在论文《Decoupled Weight Decay Regularization》中提出(ICLR 2019)。优化器负责按梯度更新参数,Adam 会给每个参数自适应调整步长。以往给 Adam 加正则是把 L2 惩罚并进梯度,但它会被自适应步长一起缩放,效果打折。作者指出这对 SGD 等价于权重衰减(每步把参数按比例缩小一点),对 Adam 却不等价,于是把衰减从梯度计算中拆出来单独执行。这样泛化更好,最优衰减系数也不再和学习率绑定。如今它是训练 Transformer 类模型最常用的优化器之一。
例子在 PyTorch 里写 torch.optim.AdamW(model.parameters(), lr=1e-4, weight_decay=0.01) 即可使用;PyTorch 中它的默认参数为学习率 1e-3、betas (0.9, 0.999)、weight_decay 0.01。
- 也叫
- AdamW、解耦权重衰减的 Adam
- 相关
- 优化器、梯度下降、学习率、正则化、学习率调度(预热与余弦退火)
- 来源
- Decoupled Weight Decay Regularization (arXiv 1711.05101)
PyTorch docs: torch.optim.AdamW