山の頂上から谷底へ下りたい。最も急な坂を探し、その方向に一歩進む。これを繰り返す。勾配降下法はこのシンプルなアイデアである。100年以上前から知られていた手法が、なぜか巨大なニューラルネットワークで驚くほどうまく機能する。

勾配降下法 学習率 SGD Adam 最適化

勾配降下法の基本

勾配降下法(Gradient Descent)

パラメータ θ の更新則:

θ ← θ - η∇L(θ)

η: 学習率(ステップサイズ)

∇L(θ): 損失関数の勾配

勾配の逆方向(最も減少する方向)にパラメータを動かす。

学習率の重要性

学習率 挙動 問題
小さすぎる 少しずつ進む 収束が遅い、局所最適に陥りやすい
大きすぎる 大きく飛ぶ 発散する、最適解を飛び越える
適切 バランスよく進む 試行錯誤で見つける必要あり

勾配降下法の変種

バッチ勾配降下法

全データを使って勾配を計算。正確だが計算コストが高い。

確率的勾配降下法(SGD)

SGD(Stochastic Gradient Descent)

1サンプル(またはミニバッチ)ごとに更新。

ノイズが入るが、局所最適から脱出しやすい。

計算効率が良い。現代の標準。

モメンタム

モメンタム(Momentum)

v ← βv + ∇L(θ)

θ ← θ - ηv

過去の勾配を「慣性」として蓄積。振動を抑え、収束を加速。

Adam

Adam(Adaptive Moment Estimation)

モメンタム + 学習率の適応的調整。

パラメータごとに学習率を自動調整。

現在最も広く使われるオプティマイザの一つ。

主要なオプティマイザ比較

名前 特徴 用途
SGD シンプル、汎化性能が良いことも 画像分類など
SGD + Momentum 収束が速い 一般的
Adam 適応的、チューニングが楽 NLP、Transformerなど
AdamW Adam + 正しい重み減衰 大規模モデル

実務での応用

WEB開発での応用

A/Bテスト最適化:多腕バンディットで探索と活用のバランス。

パラメータチューニング:システムの設定値を最適化。

数値最適化:コスト関数の最小化(物流、価格設定)。

AI/MLでの応用

ニューラルネットワーク訓練:すべての学習は勾配降下法の変種。

学習率スケジューリング:訓練の進行に応じて学習率を調整。

ウォームアップ:最初は小さい学習率から始める。

勾配クリッピング:勾配爆発を防ぐため上限を設定。

深掘りリンク

  • Wikipedia: 勾配降下法
  • 論文:Kingma & Ba (2014) "Adam: A Method for Stochastic Optimization"
  • 動画:Sebastian Ruder "An overview of gradient descent optimization algorithms"
  • 次のステップ:2次最適化、ベイズ最適化