Adam オプティマイザーが、適応学習率、モメンタム、AIにおける実際のアプリケーションを備えた効率的なニューラルネットワークのトレーニングをどのようにパワーアップさせるかを学びます。
Adam (Adaptive Moment Estimation) は、洗練され、広く使われている最適化アルゴリズムです。 最適化アルゴリズムである。 は、学習プロセス中にニューラルネットワークのパラメータを更新するために設計された洗練された最適化アルゴリズムである。他の2つの一般的な の拡張 適応的勾配アルゴリズム(AdaGrad)と二乗平均平方根伝搬法(RMSProp)の最良の特性を組み合わせることで、Adam 各パラメータに対して適応的な学習率を計算します。 学習率を計算する。この この機能により、ノイズの多い問題でも疎な勾配を効率的に扱うことができ、複雑なディープラーニング(DL)アーキテクチャの学習に最適です。 複雑なディープラーニング(DL)アーキテクチャのトレーニングに最適です、 最新のYOLO11 モデルを含む
Adam 中核となるメカニズムは、勾配の1次モーメントと2次モーメントを計算することである。 学習率を適応させる。 を計算する。第一モーメント」は、最適化を正しい方向に進めるための勢いであり、重いボールのようなものだと考えることができる。 最初のモーメント」は、最適化が正しい方向に進むよう維持する勢いであり、重いボールが坂を転がり落ちるのと同じようなものだ。 坂を転がり落ちる重いボールのようなものです。第二のモーメント」は非中心分散を追跡し、効果的にステップサイズをスケーリングします。 勾配の過去の大きさに基づいて、ステップサイズを効果的にスケーリングします。
バックプロパゲーションの間、アルゴリズムは以下を計算する に対する損失関数の勾配を計算する。 を計算する。そしてAdam 勾配(運動量)と勾配の2乗(分散)の指数移動平均を更新します。 これらの移動平均は、現在の勾配をスケーリングするために使用され、モデルが一貫した勾配を持つ方向に大きなステップを取り、勾配を持つ方向に小さなステップを取ることを保証します。 勾配が一貫している方向ではモデルが大きなステップを踏み、分散が大きい方向では小さなステップを踏むようにします。このプロセスは Adam Ba.
Adam いつ使うべきかを理解するには、機械学習(ML)フレームワークで見られる他の一般的なアルゴリズムと比較する必要がある。 機械学習(ML)フレームワークと比較する必要がある。
そのロバスト性と、ハイパーパラメータのチューニングの必要性が最小限であることから ハイパーパラメータのチューニングが最小限であるため、Adam 様々なインパクトの大きい領域で利用されている。
Ultralytics Python APIを使用すると、物体検出やポーズ推定モデルのトレーニングで Adam 簡単に選択できます。多くのYOLO構成ではSGD デフォルトですが SGDは多くのYOLO 構成でデフォルトですが、Adam 小規模なデータセットや高速な収束が優先される場合に優れた代替手段となります。 優先されます。
以下の例では YOLO11モデルの学習方法を示します:
from ultralytics import YOLO
# Load a generic YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset using the 'Adam' optimizer
# The 'optimizer' argument creates the specific PyTorch optimizer instance internally
results = model.train(data="coco8.yaml", epochs=5, optimizer="Adam")
この柔軟性により、研究者やエンジニアは 研究者やエンジニアは、オプティマイザの設定を試して、特定のカスタムデータセットに最適な設定を見つけることができます。 を見つけることができます。