勾配降下がどのようにUltralytics YOLOようなAIモデルを最適化し、ヘルスケアから自動運転車までのタスクで正確な予測を可能にしているかをご覧ください。
勾配降下は、関数を最小化するために使用される基本的な反復アルゴリズムである。 である。機械学習(ML)や 機械学習(ML)や 機械学習(ML)や深層学習(DL)の文脈では、正確な予測を行うためにモデルを学習させる指導メカニズムとして機能する。 として機能する。主な目的は を最小化する最適なモデル重みのセットを見つけることである。 損失関数 モデルの予測と実際の目標値との差を表す。このプロセスは、ハイカーが谷の底を見つけようとするように視覚化することができる。 ハイカーが濃霧の谷底を見つけようとするようなものです、 ハイカーは最終的に最下点に到達する。この核となる概念は Google 機械学習クラッシュコース。
勾配降下の核となる力学は、各パラメータに関する損失関数の偏導関数のベクトルである勾配を計算することである。 関数の偏導関数のベクトルを計算します。この計算は バックプロパゲーション・アルゴリズムによって効率的に処理されます。勾配が決定されると が決定されると、モデルは勾配の反対方向にステップを踏みながらパラメータを更新する。このステップの大きさは このステップの大きさは、学習率として知られる重要なパラメータによって制御される。 と呼ばれる重要なパラメータによって制御される。学習率が高すぎると アルゴリズムは最小値をオーバーシュートする可能性がある。このサイクル は、エポックと呼ばれるデータセットの通過を何度も繰り返す、 損失が安定するまで。数学的な視点 カーン・アカデミーでは、勾配降下に関するレッスン を参照されたい。
計算効率と収束速度のバランスをとるために、アルゴリズムのさまざまなバリエーションが存在する:
を訓練するためのオプティマイザをどのように設定するかの簡潔な例を示す。 Ultralytics YOLO11モデルを学習するための
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the SGD optimizer with a specific learning rate
# The 'optimizer' argument allows you to select the gradient descent variant
results = model.train(data="coco8.yaml", epochs=50, optimizer="SGD", lr0=0.01)
勾配降下法は、多くの革新的なAIの背後にあるエンジンです。 AIを支えるエンジンです。
勾配降下を完全に理解するためには、関連する用語と区別する必要がある。一方 バックプロパゲーションが勾配を計算する(「方向」を決定する)のに対し、勾配降下は は 最適化アルゴリズムである。 実際にパラメータを更新する("ステップ "をとる)最適化アルゴリズムです。さらに、標準的な勾配降下法では通常 のような適応型アルゴリズムは、固定学習率を使用します。 Adam オプティマイザーのような適応型アルゴリズムは、各パラメータに対して動的に学習 アダム・オプティマイザのような適応型アルゴリズムは、各パラメータに対して学習率を動的に調整します。 Adam 研究論文に記載されているように、多くの場合、より速い収束につながる。以下のような課題がある。 消失勾配問題などの課題が、標準的な のようなアーキテクチャ上の解決策が必要になります。 バッチ正規化や残差接続のようなアーキテクチャ上の解決策が必要になります。 これらの最適化の課題に関する包括的な概要は、以下を参照されたい。 Sebastian Ruderのブログで見ることができる。


