AdamW 优化器简介 | AI生成和翻译

Home 2025.12

Question: 什么是 AdamW Optimizer 的详细介绍?

Answer:

AdamW Optimizer 简介

AdamW 是深度学习中广泛使用的 Adam (Adaptive Moment Estimation) optimizer 的变体。它的引入是为了解决标准 Adam 在处理 weight regularization 时的局限性,从而提高模型的 generalization 能力和性能,特别是在像 transformers 这样的大规模模型中。

AdamW 代表 “Adam with decoupled Weight decay”,基于 Ilya Loshchilov 和 Frank Hutter (2019) 撰写的论文 “Decoupled Weight Decay Regularization”

背景:Adam Optimizer

要理解 AdamW,首先回顾一下 Adam:

典型 hyperparameters:\( \eta = 0.001 \),\( \beta_1 = 0.9 \),\( \beta_2 = 0.999 \),\( \epsilon = 10^{-8} \)。

Adam 非常高效且几乎不需要 hyperparameter tuning,但它有时在 generalization 方面不如传统的 SGD with momentum,尤其是在需要强 regularization 的情况下。

Adam 中 Weight Decay 的问题

Weight decay 是一种常见的 regularization 技术,通过惩罚过大的 weights 来防止 overfitting(在 SGD 中等同于 L2 regularization)。

AdamW 的核心创新:Decoupled Weight Decay

AdamW 通过将 weight decay 从 gradient 更新中解耦 (decoupling) 来修复这个问题:

参数更新变为:

\[ \theta_{t+1} = \theta_t - \eta_t \cdot \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} - \lambda \eta_t \cdot \theta_t \]

(或者等效地,先执行 decay:\( \theta_t \leftarrow \theta_t (1 - \lambda \eta_t) \),然后再进行 Adam 步骤)。

这使得 weight decay 的行为就像真正的 SGD weight decay 一样:独立于 adaptive 机制,且最优的 \( \lambda \) 与 learning rate \( \eta \) 的相关性更低。

AdamW 的优势

使用方法与 Hyperparameters

在 PyTorch 和 TensorFlow/Keras 等库中:

PyTorch 示例:

optimizer = torch.optim.AdamW(model.parameters(), lr=3e-4, weight_decay=0.01)

何时使用 AdamW

总之,AdamW 是对 Adam 的一个简单却强大的改进,已成为许多 state-of-the-art 深度学习流程中的默认 optimizer。

参考文献:


Back

x-ai/grok-4.1-fast

Donate