用語集

アダム・オプティマイザー

アダム・オプティマイザーが、適応学習率、モメンタム、AIにおける実際のアプリケーションを備えた効率的なニューラルネットワークトレーニングをどのようにパワーアップさせるかを学びます。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

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)のような、単一の固定学習率(またはスケジュールに従って減衰する学習率)を使用する単純なアルゴリズムと比較すると、アダムのパラメータごとの適応は、特に複雑な損失ランドスケープの場合、良い解を見つけるための迅速な進歩をしばしば可能にする。

アダムの利点

アダムが人気なのにはいくつかの理由がある:

  • 計算効率:比較的少ないメモリで済み、計算効率が高い。
  • 優れたデフォルト性能:デフォルトのハイパーパラメータは、多くの場合、広範囲の問題でうまく機能し、大規模なハイパーパラメータのチューニングの必要性を低減します。
  • 大規模問題への適性: コンピュータ・ビジョン(CV)自然言語処理(NLP)で一般的な、大規模なデータセットや高次元のパラメータ空間を持つ問題で優れた性能を発揮する。
  • 非定常目的関数を扱う:目的関数が時間とともに変化する問題に適しています。
  • 疎な勾配に効果的:適応的な学習率により、勾配が疎なシナリオに適している。

実例

アダムは多くの最先端モデルのオプティマイザーとして活躍している:

例1:コンピュータ・ビジョン

コンピュータビジョンでは、Adamは画像分類物体検出画像セグメンテーションのようなタスクのための深い畳み込みニューラルネットワーク(CNN)を訓練するために頻繁に使用される。例えば Ultralytics YOLOモデルをトレーニングしたり、インスタンスのセグメンテーションを実行することで、トレーニング段階で効率的に収束させることができます。また、腫瘍検出のようなタスクの医療画像解析にも応用されている。

例2:自然言語処理

Adamは、BERTや GPTのような大規模な言語モデル(LLM)を学習するための標準的なオプティマイザです。機械翻訳テキスト要約センチメント分析などのタスクのモデルを学習する際、Adamは、これらの大規模な(変換器ベースの)モデルに関連する複雑な損失関数のランドスケープを効率的にナビゲートするのに役立ちます。

用途Ultralytics YOLO

Ultralytics エコシステム内では、Adamとその亜種のAdamW(Adam with decoupled weight decay)は、 Ultralytics YOLO モデルのトレーニングに利用できるオプティマイザーです。Adamの適応学習率を活用することで、物体検出、インスタンス分割、または次のようなポーズ推定モデルのトレーニング中の収束を加速することができます。 YOLO11SGDは、最終的な汎化(オーバーフィッティングの回避)に優れている可能性があるため、YOLO モデルのデフォルトで推奨されるオプティマイザであることが多いのですが、Adamは、特定のシナリオや、最初の実験やモデル評価の際に特に役立つ、ロバストな代替手段を提供します。オプティマイザやその他の学習設定は簡単に設定できます。Ultralytics HUBのようなツールはプロセスを合理化し、ユーザーはローカルまたはクラウドトレーニングを介して、Adamを含む様々なオプティマイザを使用してモデルをトレーニングすることができます。以下のようなフレームワーク PyTorchTensorFlowなどのフレームワークは、Adamの標準的な実装を提供しており、Ultralytics フレームワーク内で利用されている。さらなるパフォーマンス向上のためには、知識の蒸留や異なるモデルアーキテクチャの探求のようなテクニックを検討する。

すべて読む