用語集

確率的勾配降下法 (SGD)

確率的勾配降下がどのように機械学習モデルを最適化し、大規模なデータセットやディープラーニングタスクの効率的な学習を可能にするかをご覧ください。

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

さらに詳しく

一般的にSGDとして知られる確率的勾配降下は、機械学習(ML)、特にディープラーニング(DL)で広く使用されている、一般的で効率的な最適化アルゴリズムです。SGDは、標準的な勾配降下アルゴリズムのバリエーションとして機能しますが、非常に大規模なデータセットを扱う際の速度と効率性を重視して特別に設計されています。SGDは、各ステップでデータセット全体を使用して勾配(損失関数の最急降下方向)を計算する代わりに、ランダムに選択された1つのデータサンプル、またはミニバッチと呼ばれる小さなサブセットに基づいて勾配を近似する。このアプローチにより、計算コストとメモリ要件が大幅に削減され、コンピュータビジョンのような分野で見られる大量のデータで複雑なモデルを学習することが可能になります。

機械学習における関連性

SGDは、大規模な機械学習モデル、特に最新のAIアプリケーションの多くを支える複雑なニューラルネットワーク(NN)を学習するための基礎となるものです。SGDの効率性により、メモリに収まらないほど大きなデータセットや、従来のバッチ勾配降下法では処理に時間がかかりすぎるようなデータセットを扱う場合に不可欠となります。次のようなモデル Ultralytics YOLOのようなモデルは、物体検出画像分類画像セグメンテーションのようなタスクのパターンを学習するために、学習プロセスでSGDやその変種を利用することが多い。次のような主要なディープラーニングフレームワーク PyTorchTensorFlowなどの主要なディープラーニングフレームワークは、SGDの強固な実装を提供しており、AIのエコシステムにおけるSGDの基本的な役割を強調している。

キーコンセプト

SGDを理解するには、いくつかの核となる考え方がある:

  • 損失関数モデルの予測値が実際の目標値とどの程度一致するかの尺度。SGDはこの関数を最小化することを目指す。
  • 学習レート各パラメータ更新時のステップサイズを制御するハイパーパラメータ。効果的な学習には、適切な学習率を見つけることが重要である。学習率スケジュールは、学習中に学習率を調整するためによく使用される。
  • バッチサイズ勾配を推定するために1回の反復で使用するトレーニングサンプルの数。純粋なSGDでは、バッチサイズは1です。小さなサブセットを使用する場合、ミニバッチ勾配降下と呼ばれることがよくあります。
  • トレーニングデータモデルの学習に使用するデータセット。SGD は、このデータをサンプルごとに、またはミニバッチで処理します。高品質のデータが不可欠であり、多くの場合、慎重なデータ収集と注釈付けが必要となります。
  • 勾配:損失関数の最も急峻な増加方向を示すベクトル。SGDは、サンプルまたはミニバッチから計算された勾配の反対方向にパラメータを移動する。
  • エポック: 学習データセット全体を1回完全に通過すること。通常、訓練には複数のエポックが含まれる。

関連概念との違い

SGDはいくつかの最適化アルゴリズムのひとつであり、他のものと区別することが重要です:

  • バッチ勾配降下(BGD)各ステップで学習データセット全体を使用して勾配を計算する。これにより正確な勾配推定が可能になるが、大規模なデータセットでは計算量とメモリ消費量が大きくなる。SGDのノイジーな更新に比べ、よりスムーズな収束経路を導く。
  • ミニバッチ勾配降下法:BGDとSGDの折衷案。データの小さなランダムな部分集合(ミニバッチ)を用いて勾配を計算する。これはBGDの精度とSGDの効率のバランスをとるもので、実際には最も一般的なアプローチである。性能はバッチサイズに依存します
  • アダム・オプティマイザー適応学習率最適化アルゴリズムで、異なるパラメータに対する個々の適応学習率を計算する。標準的なSGDよりも早く収束することが多いが、「機械学習における適応的勾配法の限界値」などの研究で議論されているように、汎化効果が低い場合もある。これら以外にも多くの勾配降下法が存在する。

実世界での応用

SGDの効率性は、数多くの大規模なAIアプリケーションでの使用を可能にしている:

例1:大規模言語モデル(LLM)のトレーニング

自然言語処理(NLP)で使用されるようなモデルの学習には、膨大なテキストデータセット(数十億語)が必要になることがよくあります。SGDとその亜種(Adamのような)は、このようなデータを効率的に反復処理するために不可欠であり、GPT-4のようなモデルや Hugging Faceのようなモデルに文法、文脈、意味論を学習させる。確率的な性質は、複雑な損失ランドスケープにおける貧弱なローカルミニマムから逃れるのに役立つ。

例 2:リアルタイム物体検出トレーニング

リアルタイム推論用に設計されたUltralytics YOLO ようなモデルでは、学習を効率的に行う必要があります。SGDにより、開発者はCOCOのような大規模な画像データセットや、Ultralytics HUBのようなプラットフォームを介して管理されるカスタムデータセットでこれらのモデルをトレーニングすることができます。迅速な更新により、バッチGDと比較して収束が早くなり、モデル開発とハイパーパラメータのチューニング中に迅速に反復するのに重要です。この効率性は、自律走行車や ロボット工学などの分野でのアプリケーションをサポートします。

すべて読む