アダム(Adam)は、ディープラーニングなどの機械学習モデルの訓練で広く使われる最適化アルゴリズムの一つです。勾配のモーメント推定を利用して学習率を自動調整し、効率的かつ安定したパラメータ更新を実現します。
アダムとは
アダムとは、ニューラルネットワークの学習において、モデルのパラメータを効率よく最適化するための勾配降下法の一種です。
詳しく解説
アダムは、モメンタム法の「過去の勾配の方向を考慮して振動を抑える機能」と、RMSpropの「パラメータごとに学習率を適応的に調整する機能」の2つの利点を組み合わせて開発されました。1次モーメントと2次モーメントの移動平均を計算し、それぞれのバイアスを補正しながら学習率を動的に変化させます。これにより、スパースな勾配を持つ問題や非定常な目的関数に対しても優れたパフォーマンスを発揮し、初期の学習率の設定に対する感度が比較的低いという特徴を持ちます。
具体例・使われ方
画像認識のための畳み込みニューラルネットワーク(CNN)や、自然言語処理のトランスフォーマーモデルなど、さまざまなディープラーニングの訓練において標準的なオプティマイザとして利用されています。
似た用語との違い
従来の確率的勾配降下法(SGD)や、モメンタム法、RMSpropといった他の最適化アルゴリズムと比較して、アダムはハイパーパラメータの調整の手間が少なく、多くのタスクで高速に収束する傾向があります。ただし、特定のタスクや最終的な汎化性能においては、丁寧にチューニングされたSGDの方が優れた結果を出す場合もあります。
注意点
アダムは非常に万能で広く使われていますが、学習の初期段階や特定の状況において過剰に学習率が大きくなり不安定になることや、局所最適解に陥るリスクが完全にゼロになるわけではありません。また、問題によってはSGDと比較して汎化性能がわずかに劣る場合があるため、タスクに応じた比較検証が推奨されます。