ディープラーニングの学習において、モデルの重みを更新するために利用されるのが 最適化手法(Optimization Methods) です。
どのように勾配を利用して重みを更新するか、学習率をどう調整するか、ハイパーパラメータをどう選ぶかによって、学習効率と性能は大きく変わります。
最適化の基本 ― 勾配降下法
勾配降下法(Gradient Descent)
- 誤差関数の勾配に基づいて重みを更新し、損失を最小化する手法。
- 更新式:
wi ← wi - η ∂L/∂wi
- wi:重み
- η:学習率(Learning Rate)
- L:損失関数
👉 学習率 η の設定が重要。大きすぎると発散、小さすぎると収束が遅い。
確率的勾配降下法(SGD)
特徴
- データ全体ではなく「ミニバッチ」に分けて勾配を計算。
- 計算効率が高く、大規模データにも適用可能。
改良手法
- Momentum:過去の勾配方向を考慮し、収束を加速。
- Nesterov Momentum:更新を一歩先読みして精度を高める。
👉 試験ポイント:「SGDは確率的に勾配を更新する」ことを押さえる。
Adam(Adaptive Moment Estimation)
特徴
- SGDの改良版で、現在最も広く使われる最適化手法。
- モーメント推定を用いて学習率を自動調整。
メリット
- 学習が安定しやすい。
- 初期の学習率設定に敏感でない。
- 非定常なデータでも適応的に更新。
デメリット
- 汎化性能がやや低い場合もある(SGDより過学習しやすい)。
👉 試験頻出:「AdamはSGDを改良した最適化手法」。
学習率調整(Learning Rate Scheduling)
学習率は固定せず、状況に応じて変化させることが多い。
主なスケジューリング手法
- ステップ減衰:一定エポックごとに学習率を下げる。
- 指数減衰:学習率を徐々に指数的に減少。
- Cosine Annealing:コサイン曲線のように減少。
- Warm-up:初期学習率を小さくして徐々に上げる。
👉 ポイント:「学習率は固定ではなく調整が重要」。
ハイパーパラメータ探索
最適化手法自体の性能は ハイパーパラメータ設定 に大きく依存する。
主な探索手法
- グリッドサーチ(Grid Search)
- 候補値を網羅的に試す。シンプルだが計算コスト大。
- ランダムサーチ(Random Search)
- 候補範囲からランダムに試行。効率的に良い値を発見しやすい。
- ベイズ最適化(Bayesian Optimization)
- 過去の探索結果を利用して、より良い候補を効率的に探索。
👉 試験で狙われる:「グリッドサーチとランダムサーチの違い」。
まとめ
- 勾配降下法:最適化の基本、学習率の設定が重要。
- SGD:確率的に勾配を更新、Momentumなどで改良。
- Adam:学習率を適応的に調整、安定性が高い。
- 学習率調整:スケジューリングで効率的に収束。
- ハイパーパラメータ探索:Grid, Random, Bayesian Optimization。
出題傾向
- 「SGDとAdamの特徴の違い」
- 「学習率が大きすぎる/小さすぎるとどうなるか?」
- 「ハイパーパラメータ探索手法の代表例」
練習問題(例題)
問題:ハイパーパラメータ探索において、候補範囲からランダムに値を選んで試行する手法はどれか?
- グリッドサーチ
- ランダムサーチ
- ベイズ最適化
- モンテカルロ法
👉 正解:2