Adam最適化とは?
あだむさいてきか
Adam最適化とは、勾配降下法を改良した機械学習の最適化アルゴリズムで、学習率を自動調整して効率的にモデルを訓練できます。
Adam(Adaptive Moment Estimation)最適化とは、ディープラーニングをはじめとする機械学習モデルの学習において広く使われる最適化アルゴリズムです。2014年にDiederik P. KingmaとJimmy Baによって提案されました。
通常の確率的勾配降下法(SGD)では全パラメータに同一の学習率を適用しますが、Adamは各パラメータに対して個別に学習率を適応的に調整します。具体的には以下の2つの統計量を追跡します。
- 一次モーメント推定:勾配の指数移動平均(平均方向を追跡)
- 二次モーメント推定:勾配の二乗の指数移動平均(勾配の大きさのばらつきを追跡)
これら2つの推定値を組み合わせることで、勾配が大きいパラメータには小さな更新量を、勾配が小さいパラメータには大きな更新量を適用します。また、学習初期のバイアス補正機構も備えており、安定した学習が可能です。
Adamの主な利点は、学習率の手動チューニングが比較的容易で、疎なデータや非定常な目的関数にも対応しやすい点です。画像認識・自然言語処理・強化学習など多くのタスクでデフォルトの選択肢として使われています。一方で、汎化性能ではSGDに劣る場合があるとの研究もあり、AdamW(重み減衰を修正した派生版)なども広く活用されています。
使い方・例文
PyTorchやTensorFlowでニューラルネットワークを学習させる際に optimizer = Adam(lr=0.001) のように設定することで、学習率を細かく調整しなくても比較的安定して損失関数を収束させることができます。
この用語をシェア
最終更新: