確率的勾配降下がどのように機械学習モデルを最適化し、大規模なデータセットやディープラーニングタスクの効率的な学習を可能にするかをご覧ください。
確率的勾配降下(SGD)は、機械学習(ML)において基本的かつ広く用いられている最適化アルゴリズムである。SGDは、損失関数を最小化するために、ウェイトやバイアスなどの内部パラメータを調整することによってモデルを学習するために使用される反復手法である。更新のたびにデータセット全体を処理する従来の勾配降下法とは異なり、SGDはランダムに選択された1つの訓練サンプルだけを使用してパラメータを更新します。この「確率的」アプローチにより、学習プロセスが大幅に高速化され、スケーラブルになります。また、ノイズの多い更新は、モデルが誤差の局所的な極小値から抜け出し、より良い全体解を見つけるのに役立ちます。
SGDの核となる考え方は、データセット全体にわたって計算される損失関数の真の勾配を、単一サンプルの損失勾配を用いることで近似することである。この単一サンプルの勾配はノイズの多い推定値ですが、計算量が少なく、平均的には正しい方向を向いています。このプロセスでは、各トレーニングサンプルに対して単純な2ステップのサイクルを繰り返す:
このサイクルをエポックと呼ばれるデータセット全体で何度も繰り返し、モデルの性能を徐々に向上させる。SGDの効率性により、最新のディープラーニング(DL)の基礎となっており、PyTorchや TensorFlowなどの主要なフレームワークでサポートされている。
SGDは、いくつかの勾配ベースの最適化手法のひとつであり、それぞれが独自のトレードオフを持つ。
SGDとその亜種は、さまざまな領域にわたる幅広いAIモデルの学習に不可欠である。