勾配降下法は、損失関数を最小化するために、モデルのパラメータを勾配、すなわち損失の最も急な増加方向を指す偏微分のベクトル、の反対方向に繰り返し調整する反復最適化アルゴリズムである。これは、現代のほとんどの機械学習および深層学習システムがデータから学習するための基本的な仕組みであり、単純な線形回帰から数千億のパラメータを持つモデルまで、あらゆるものの訓練の基盤となっている。
歴史
この手法はコンピューティングより古く、フランスの数学者オーギュスタン=ルイ・コーシーは1847年に勾配に基づく最小化の一形態を記述した。その統計的形態である確率近似は、1951年にハーバート・ロビンスとサットン・モンローによって形式化された。勾配降下法は、1980年代に誤差逆伝播法と組み合わされ、多層ニューラルネットワークを通じて勾配を効率的に計算する標準的な方法となってからAIの中心的な役割を担い、大規模データセットと、この手法が必要とする多数の小さな更新ステップを実行できるGPUハードウェアの利用可能性が高まるにつれて、その実用的な支配力は拡大した。
変種
バッチ勾配降下法は、各更新の前にデータセット全体に対する勾配を計算する。これは正確だが、大規模データセットでは遅く、メモリを多く消費する。確率的勾配降下法(SGD)は、一度に1つの例、より一般的には小さな「ミニバッチ」を用いてパラメータを更新し、ステップごとの精度をいくらか犠牲にする代わりに、はるかに頻繁な更新と優れたスケーラビリティを実現する。モメンタム法は、過去の勾配の移動平均を蓄積してノイズの多い更新を平滑化し、一貫した方向への収束を加速する。適応的手法、特に2014年にディーデリク・キングマとジミー・バによって導入されたAdamは、勾配の一次モーメントと二次モーメントの推定に基づいてパラメータごとの学習率を維持し、Adamまたはその変種は、ほぼすべての現代の大規模言語モデルを訓練するためのデフォルトの最適化手法となっている。
実践上の考慮事項
各更新ステップの大きさを調整する学習率は、勾配降下法において最も重要なハイパーパラメータである。高すぎると訓練が発散または振動し、低すぎると訓練が非現実的に遅くなるか、損失の地形の悪い領域に陥る。現代の訓練実行では通常、徐々にウォームアップし、訓練の過程で減衰する学習率スケジュールを使用する。深層ネットワークの損失曲面は非常に高次元で非凸であるため、実際の勾配降下法は真の大域的最小値を見つけることはない。代わりに、過剰パラメータ化されたネットワークにおいて勾配降下法が見つける多くの局所的最小値が良好に汎化するという経験的観察に依存しており、この現象は理論的にはまだ完全に説明されていない。勾配降下法はまた、非常に深いまたは再帰的なアーキテクチャにおける勾配消失や勾配爆発といった問題に対して脆弱であり、これがLSTMのゲーティング機構や、後にTransformerアーキテクチャ全体で使用される残差接続などの革新を動機付けた。
他の概念との関係
勾配降下法は、ネットワークの損失関数を最小化するために使用されるが、それだけでは有用なモデルを生成するのに十分ではない。正則化などの技法がなければ、勾配降下法は訓練セットを記憶することによって訓練損失をゼロに向かって喜んで減少させ、これは過学習として知られる失敗モードである。強化学習では、勾配ベースの手法が、固定されたラベル付き損失ではなくエージェントの期待報酬を最適化するように適応され、RLHFで訓練されたシステムなどで使用される方策勾配アルゴリズムの基礎を形成している。