アダム・オプティマイザーが、適応学習率、モメンタム、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)の学習に頻繁に使用されます。例えば、(COCOデータセットのような)画像内のオブジェクトを検出するためのUltralytics YOLOモデルの学習や、インスタンスのセグメンテーションを実行する場合、Adamを活用して学習段階で効率的に収束させることができます。また、腫瘍検出のようなタスクの医療画像解析にも応用されている。
Adamは、BERTや GPTのような大規模な言語モデル(LLM)を学習するための標準的なオプティマイザです。機械翻訳、テキスト要約、センチメント分析などのタスクのモデルを学習する際、Adamは、これらの大規模な(変換器ベースの)モデルに関連する複雑な損失関数のランドスケープを効率的にナビゲートするのに役立ちます。
Ultralyticsのエコシステムでは、Adamとその亜種のAdamW(Adam with decoupled weight decay)は、Ultralytics YOLOモデルのトレーニングに使用できるオプティマイザーです。Adamの適応学習率を活用することで、YOLO11や YOLOv10のようなオブジェクト検出、インスタンス分割、ポーズ推定モデルのトレーニング中の収束を加速させることができます。 SGDは、最終的な汎化(オーバーフィッティングの回避)に優れている可能性があるため、YOLOモデルのデフォルトや推奨のオプティマイザとして使用されることがよくありますが、Adamは、特定のシナリオや最初の実験やモデル評価の際に特に役立つ、堅牢な代替手段を提供します。オプティマイザやその他の学習設定は簡単に設定できます。Ultralytics HUBのようなツールはプロセスを合理化し、ユーザーはローカルまたはクラウドトレーニングを介して、Adamを含む様々なオプティマイザを使用してモデルをトレーニングすることができます。PyTorchや TensorFlowなどのフレームワークは、Adamの標準的な実装を提供しており、Ultralyticsフレームワーク内で利用されている。さらなるパフォーマンス向上のためには、知識の蒸留や異なるモデルアーキテクチャの探索などのテクニックを検討する。