Adam

Adaptive Moment Estimation

Adam(Adaptive Moment Estimation)とは、2014年にKingmaとBaにより提案された適応的学習率を持つ最適化アルゴリズムです。モメンタムとRMSpropの長所を組み合わせ、深層学習において最も広く使われているオプティマイザです。

Adamの仕組み

Adamは勾配の1次モーメント(平均)と2次モーメント(分散)の移動平均を推定し、各パラメータに適応的な学習率を割り当てます。さらにバイアス補正により、学習初期のモーメント推定の偏りを修正します。

表:Adamの要点まとめ
ひとことで言うと勢い(モメンタム)と、パラメータごとの歩幅調整を組み合わせた定番の最適化手法。
何がうれしいか設定をあまり調整しなくても安定して速く学習できる。まず選ぶべき標準。
注意点最終的な汎化性能ではSGD+モメンタムが勝る場合もある。

デフォルトのハイパーパラメータ

学習率α=0.001、β₁=0.9(1次モーメントの減衰率)、β₂=0.999(2次モーメントの減衰率)、ε=1e-8(ゼロ除算防止)が標準的な設定で、多くの場合これらの値で良好な結果が得られます。

図:Adamのしくみ
1勾配を計算今の下り方向
▶
2平均を保持モメンタム的な勢い
▶
3ばらつきも保持勾配の大きさの履歴
▶
4歩幅を個別調整よく動く軸は控えめに
▶
5更新安定して速く進む

AdamWとの違い

AdamW(Adamに正しい重み減衰を導入した改良版)は、元のAdamのL2正則化の問題を修正し、より良い汎化性能を達成します。TransformerベースのモデルではAdamWが標準的に使用されています。