モデル・技術

AdamWとは?正則化と更新を分離——Adamに足した重み減衰の設計

読み:アダムダブリュー / 英:AdamW(Adam with decoupled weight decay)

更新日: 読了目安:約6分

AdamWは、Adamの適応的更新に重み減衰(weight decay)を正しく組み合わせた最適化アルゴリズムです。本記事はモーメント推定の数式の暗記ではなく、「正則化の罰を勾配に混ぜるのか、重みの縮小として分離するのか」——更新設計の分岐——に焦点を当てます。

AdamにL2を足すと何が起きるか

L2正則化は、重みの二乗和にペナルティを課して重みが大きくなりすぎるのを抑える手法です(G-167)。古典的な勾配降下法では、損失にL2項を足して勾配を計算すれば、更新と正則化が一貫します。

しかしAdamのようにパラメータごとに歩幅を変える最適化では、L2ペナルティを勾配に混ぜ込むと、正則化の効き方が意図とずれる——という問題が指摘されました。適応的学習率が、正則化まで「歪めて」しまうイメージです。

AdamWはこのズレを直すため、重み減衰をAdamのモーメント更新から切り離す設計です。名前の WWeight decay(重み減衰)を表します。

分離(decouple)の意味

試験向けに、AdamとAdamWの違いを次の表で整理します。

観点AdamAdamW
更新の核一次・二次モーメントによる適応的更新(TF-079)Adamと同じ適応的更新
重み減衰L2を損失に足して勾配経由で効かせる実装が多かった重み減衰を更新から分離して直接適用
試験での整理適応的最適化の代表Adam+正しく分離した重み減衰
用途深層学習全般LLM学習で特に定番

直感としては、Adamが「地形に合わせて歩幅を変えながら下る」最適化だとすれば、AdamWはその一歩のあとに重みを少し縮める——正則化を別チャンネルで入れる——イメージです。

L2正則化との関係

重み減衰とL2正則化は、「重みを小さく保つ」という目的で近い概念です。SGDでは実質的に同等の効果として語られることもあります。

ただしAdam系では、実装の仕方によって正則化の効き方が変わります。試験では次の2層で覚えると混乱しにくいです。

  • 概念層 — L2正則化=損失にペナルティを足して過学習を抑える(G-167)
  • 最適化層 — AdamW=Adamの更新と重み減衰を分離した改良版

ドロップアウト早期終了のように、損失にペナルティを足さない正則化もあります。AdamWは重みの大きさを直接抑える系の話です。

学習パイプラインでの位置

  • 順伝播・損失 — 予測誤差を損失関数で計算
  • 勾配誤差逆伝播法で各重みへの勾配を求める
  • 更新AdamWが勾配とモーメントから重みを動かし、重み減衰を適用

ベース学習率や重み減衰係数はハイパーパラメータとして人が設定します(TF-052)。AdamWが「すべて自動」とは答えません。

試験で押さえるポイント

  • Adamの延長 — 一次・二次モーメントの適応的更新はAdamと同じ系統(TF-079)
  • Wの意味Weight decay。重み減衰を更新から分離(decouple)した改良版
  • 正則化との接続 — L2正則化の目的(重み抑制・過学習防止)と関連(G-167)
  • すり替え回避 — AdamW=逆伝播、AdamW=ドロップアウト、などは×

演習で確認する

G検定:TF-079G-167TF-052TF-075ディープラーニングの概要

すり替えに注意

誤った説明正しい理解
AdamW=誤差逆伝播法逆伝播は勾配計算、AdamWは更新
AdamW=L2正則化と完全同一目的は近いが、Adam系では実装の分離がポイント
AdamW=ドロップアウトドロップアウトはユニットの無効化。AdamWは最適化
重み減衰係数も勾配で自動学習ハイパーパラメータとして設定する(TF-052)
AdamW=推論時のTemperature学習時の最適化。推論設定とは無関係

よくある質問

AdamWとAdamの違いは?

Adamは一次・二次モーメントで適応的に更新します。AdamWはそのAdam更新に加え、重み減衰(weight decay)を勾配に混ぜ込まず、重みそのものを縮める処理として分離して適用します。L2正則化をAdamにそのまま足す実装との挙動の違いを意識した改良版です。

AdamWとL2正則化は同じですか?

目的は近く、重みが大きくなりすぎるのを抑えて過学習を防ぐ点で正則化の一族です。ただしAdam系ではL2ペナルティを損失に足して勾配に混ぜる方法と、重み減衰を更新から分離する方法で効き方が異なります。試験ではL2正則化の概念(G-167)とAdamの概念(TF-079)を別々に押さえ、AdamWはその組み合わせ改良として整理します。

LLMの学習でも使われますか?

はい。大規模言語モデルの事前学習・ファインチューニングではAdamWが広く使われます。勾配計算は誤差逆伝播、更新はAdamWという骨格は小規模モデルと同じです。