アダム・オプティマイザーが、適応学習率、モメンタム、AIにおける実際のアプリケーションを備えた効率的なニューラルネットワークトレーニングをどのようにパワーアップさせるかを学びます。
Adam(Adaptive Moment Estimation)は、ディープラーニング(DL)や機械学習(ML)で広く採用されている最適化アルゴリズムだ。各パラメータの学習率を個別に適応させることで、学習過程でネットワークの重みを効率的に更新するように設計されている。Diederik P. KingmaとJimmy Baによる論文「Adam: A Method for Stochastic Optimization」で紹介されたAdamは、他の2つの一般的な最適化手法の利点を組み合わせたものだ:AdaGrad (Adaptive Gradient Algorithm) と RMSprop(Root Mean Square Propagation) です。この組み合わせにより、多数のパラメータと複雑なデータセットを持つ大規模なニューラルネットワークの学習に特に効果的です。
Adamは、勾配の1次モーメントと2次モーメントの推定値に基づいて、各パラメータの適応学習率を計算する。基本的には、過去の勾配の指数関数的に減衰する平均(momentumに似ている)と、過去の2乗勾配の指数関数的に減衰する平均(AdaGrad/RMSpropに似ている)を追跡する。
確率的勾配降下法(SGD)のような、単一の固定学習率(またはスケジュールに従って減衰する学習率)を使用する単純なアルゴリズムと比較すると、アダムのパラメータごとの適応は、特に複雑な損失ランドスケープの場合、良い解を見つけるための迅速な進歩をしばしば可能にする。
アダムが人気なのにはいくつかの理由がある:
アダムは多くの最先端モデルのオプティマイザーとして活躍している:
コンピュータビジョンでは、Adamは画像分類、物体検出、画像セグメンテーションのようなタスクのための深い畳み込みニューラルネットワーク(CNN)を訓練するために頻繁に使用される。例えば Ultralytics YOLOモデルをトレーニングしたり、インスタンスのセグメンテーションを実行することで、トレーニング段階で効率的に収束させることができます。また、腫瘍検出のようなタスクの医療画像解析にも応用されている。
Adamは、BERTや GPTのような大規模な言語モデル(LLM)を学習するための標準的なオプティマイザです。機械翻訳、テキスト要約、センチメント分析などのタスクのモデルを学習する際、Adamは、これらの大規模な(変換器ベースの)モデルに関連する複雑な損失関数のランドスケープを効率的にナビゲートするのに役立ちます。
Ultralytics エコシステム内では、Adamとその亜種のAdamW(Adam with decoupled weight decay)は、 Ultralytics YOLO モデルのトレーニングに利用できるオプティマイザーです。Adamの適応学習率を活用することで、物体検出、インスタンス分割、または次のようなポーズ推定モデルのトレーニング中の収束を加速することができます。 YOLO11SGDは、最終的な汎化(オーバーフィッティングの回避)に優れている可能性があるため、YOLO モデルのデフォルトで推奨されるオプティマイザであることが多いのですが、Adamは、特定のシナリオや、最初の実験やモデル評価の際に特に役立つ、ロバストな代替手段を提供します。オプティマイザやその他の学習設定は簡単に設定できます。Ultralytics HUBのようなツールはプロセスを合理化し、ユーザーはローカルまたはクラウドトレーニングを介して、Adamを含む様々なオプティマイザを使用してモデルをトレーニングすることができます。以下のようなフレームワーク PyTorchや TensorFlowなどのフレームワークは、Adamの標準的な実装を提供しており、Ultralytics フレームワーク内で利用されている。さらなるパフォーマンス向上のためには、知識の蒸留や異なるモデルアーキテクチャの探求のようなテクニックを検討する。