Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Gradient Descent

勾配降下法では、損失の勾配に沿って重みを繰り返し更新し、モデルを学習させます。学習率、SGD、モメンタム、Adamについて解説します。

勾配降下法は、線形回帰から大規模なニューラルネットワークまで、ほとんどの機械学習モデルを学習する反復的な最適化アルゴリズムです。各ステップで、損失関数の各モデルの重みに対する勾配を計算し、損失が最も速く減少する方向、つまり勾配と反対の方向へ各重みを少し移動させます。更新則はw ← w − η∇L(w)で、ηは学習率です。よく使われるたとえは、濃い霧の中で山を下るハイカーです。谷が見えないため、足元の傾斜を感じながら下り坂へ何度も歩みを進め、地面が平らになるまで進みます。

勾配降下法の仕組み#

各反復は3つの部分から成ります。フォワードパスで予測と損失を計算し、逆伝播で損失の各重みに対する勾配を計算し、オプティマイザーで重みを更新します。勾配は損失曲面の上り方向を示します。これは多変数微積分における勾配の定義に従うため、勾配を引くと重みは下り方向へ移動します。

各ステップで使うデータ量によって、手法は異なります。バッチ勾配降下法は学習データセット全体で正確な勾配を計算します。精度は高いものの、大規模なデータセットでは低速です。確率的勾配降下法(SGD)は1つのサンプルから勾配を推定し、ディープラーニングの標準であるミニバッチ勾配降下法は、数十から数千のサンプルを含むバッチサイズで平均し、GPUを稼働させ続けます。ミニバッチ勾配のノイズは、重みが鞍点や鋭い極小値を抜ける助けにもなります。学習セット全体を1回処理することをエポックと呼びます。

学習率の選択#

学習率はステップ幅を定め、通常、勾配降下法で最初に調整するハイパーパラメーターです。学習率が小さすぎると、最小値に少しずつ近づくために計算資源が無駄になります。大きすぎると最小値を通り越します。二次損失関数では、損失の曲率の2倍を超える学習率を使うと、各ステップで最小値から前のステップより遠ざかります。以下のスニペットは、曲率が2の(w − 2)²を、PyTorchで3種類の学習率を使って最小化します。

import torch

# Minimize loss(w) = (w - 2)^2, whose minimum is at w = 2, with three learning rates
for lr in [0.1, 0.5, 1.1]:
    w = torch.tensor(5.0, requires_grad=True)
    for step in range(20):
        loss = (w - 2) ** 2
        loss.backward()  # w.grad now holds the slope 2 * (w - 2)
        with torch.no_grad():
            w -= lr * w.grad  # step against the gradient
        w.grad.zero_()
    print(f"Learning rate {lr}: w = {w.item():.4f} after 20 steps")

学習率が0.1の場合、20ステップ後の重みはまだ2.0346です。0.5では曲率の逆数に等しいため、ちょうど2.0000に到達します。1.1ではステップごとに通り越す幅が大きくなり、wは117.0129に達します。実際の学習スケジュールでは、短いウォームアップの後に学習率を減衰させます。多くの場合、コサイン曲線を用いて、序盤のステップを安定させ、終盤のステップで正確に収束させます。

モメンタム、Adam、最新のオプティマイザー#

通常の勾配降下法は損失曲面の狭い谷をジグザグに進むため、学習では改良された更新則を使用することがほとんどです。モメンタムは過去の勾配の移動平均を蓄積してその方向に進むため、振動を抑え、一定方向への進行を速めます。Adamオプティマイザーは、各パラメーターの勾配の二乗も追跡し、各重みに適応的なステップサイズを設定します。AdamWは、この更新から重み減衰を分離します。Muonは、Newton-Schulz反復を使って2次元の重み行列ごとのモメンタム更新を直交化し、特定の方向がステップを支配しないようにします。optimizer="auto"を指定したUltralytics YOLO26の学習では、クラス数に合わせた学習率を持つAdamWが選択され、最大10,000イテレーションの実行に使われます。より長い学習では、畳み込み重みと線形重みにMuon方式の直交化更新をSGDに加えたMuSGDが使用されます。

実際のアプリケーション#

勾配降下法は、ほぼすべてのディープラーニングシステムを支える学習エンジンです。自動運転車では、何百万ものフレームにわたって歩行者、標識、車両の予測ボックスとラベル付きボックスの差を縮めるよう、物体検出ネットワークを調整します。医用画像解析では、MRIやCTスキャンで腫瘍と正常組織を区別する畳み込みニューラルネットワークを学習します。大規模言語モデルも同じ方法で学習し、通常は数兆のトークンを使ってAdamWを適用します。

  • 逆伝播:逆伝播は連鎖律を使って勾配を計算し、勾配降下法はその勾配を使って重みを更新します。2つは学習ステップごとに連続して実行され、しばしば一緒に言及されます。
  • 損失関数:損失関数はモデルの予測がどれだけ間違っているかを評価し、勾配降下法はそのスコアを下げる手順です。
  • 勾配爆発:深いネットワークで勾配が制御不能なほど大きくなると、勾配降下法によって破壊的なステップが生じます。勾配クリッピングは、各更新前に勾配ノルムに上限を設けてこれを防ぎます。
  • 進化アルゴリズム:これらの勾配を使わない手法は、勾配を計算せずに候補をサンプリングして選択することで探索します。そのため、ハイパーパラメーターの選択など、微分不可能な目的に適しています。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう