【アダム】

Adam(最適化アルゴリズム) とは?

💡 学習率を自動チューニングする「賢い下山ガイド」──迷わず最短ルートで谷底へ
📌 このページのポイント
Adam vs SGD の最適化経路の違い 最適解 SGD (ジグザグ) Adam (滑らか) Adam: モーメント+適応学習率で滑らかに収束 SGD: 等方的な更新でジグザグ 損失関数の等高線
Adam最適化アルゴリズムのイメージ
ひよこ ひよこ

Adamって、普通の勾配降下法と何が違うの?

ペンギン先生 ペンギン先生

普通の確率的勾配降下法はすべてのパラメータに同じ学習率を使うけど、Adamはパラメータごとに学習率を自動調整するんだ。さらに勾配の「勢い」も考慮するから、谷底に向かって効率的に進めるよ。山登りで言えば、SGDが一定ペースで歩く人で、Adamは地形に合わせて速度を変えるベテランガイドみたいなものだね。

ひよこ ひよこ

具体的にはどうやって学習率を調整しているの?

ペンギン先生 ペンギン先生

Adamは2つの情報を記憶しているよ。1つ目は勾配の移動平均(一次モーメント)で、これは「最近どっちの方向に進んでいたか」という情報。2つ目は勾配の二乗の移動平均(二次モーメント)で、「最近どのくらい勾配が揺れていたか」という情報だよ。勾配が安定している方向には大きく進み、揺れが大きい方向には慎重に進むんだ。

ひよこ ひよこ

ハイパーパラメータはどう設定するの?

ペンギン先生 ペンギン先生

Adamの嬉しいところは、デフォルト値がほとんどの場面でうまく機能することだよ。学習率は0.001、一次モーメントの減衰率は0.9、二次モーメントの減衰率は0.999が標準的な設定で、多くの論文やフレームワークがこの値を採用しているんだ。SGDほど学習率のチューニングに苦労しないのが大きなメリットだね。

ひよこ ひよこ

Adamが最強なら他のオプティマイザーは要らないんじゃないの?

ペンギン先生 ペンギン先生

実はそうでもないんだ。画像認識の分野では、きちんとチューニングしたSGD+モメンタムのほうがAdamより汎化性能が高いことが知られているよ。Adamは学習が速い反面、最終的な精度ではSGDに負けるケースがあるんだ。これは「Adamの汎化ギャップ」と呼ばれていて、その問題を解決するためにAdamWやAMSGradなどの改良版が生まれたよ。

ひよこ ひよこ

AdamWってどういう改良なの?

ペンギン先生 ペンギン先生

AdamWは重み減衰の適用方法を修正した改良版だよ。元のAdamではL2正則化重み減衰が混同されていて、適応学習率と組み合わせると正則化の効果が弱まってしまう問題があったんだ。AdamWはこれを分離して正しく適用するよ。BERTGPTなどのTransformer系モデルの学習では、ほぼ100%AdamWが使われているね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Adam」って出てきたら「勾配の動きを見ながら学習率を自動調整してくれる、ディープラーニングの定番オプティマイザー」と思えればだいたいOK!
📖 おまけ:英語の意味
「Adaptive Moment Estimation」 = 適応的モーメント推定
💬 「Adaptive Moment」の略でAdamだよ。勾配のモーメント(慣性のようなもの)を適応的に使うことから名付けられたんだ
← 用語集にもどる