本章では、深層学習における「なぜ学習が収束するのか」「なぜ発散するのか」といった根本的な問いに対して、 数学的・幾何学的な視点からアプローチする。
単なるアルゴリズムの使い方ではなく、最適化の本質を理解し、モデルの挙動を説明・制御できるレベルを目指す。
1. 勾配降下法の基礎と収束理論
機械学習における最適化は、損失関数 L(θ) を最小化する問題として定式化される。 基本となる更新式は以下の通りである。
θ_{t+1} = θ_t - η ∇L(θ_t)
- θ:パラメータ
- η:学習率(Learning Rate)
- ∇L:勾配
この単純な更新則にも関わらず、以下のような重要な性質が存在する。
- 凸関数の場合、適切な学習率でグローバル最適解に収束
- 非凸関数では局所最適解や鞍点に収束する可能性あり
- 学習率が大きすぎると発散、小さすぎると収束が遅い
2. SGD・Adam・LAMBの違いと内部メカニズム
■ SGD(Stochastic Gradient Descent)
最も基本的な手法であり、ミニバッチ単位で勾配を更新する。 ノイズを含む更新が汎化性能を向上させる要因となる。
■ Adam
m_t = β1 m_{t-1} + (1 - β1) g_t
v_t = β2 v_{t-1} + (1 - β2) g_t^2
θ = θ - η * m_t / (√v_t + ε)
Adamは一次モーメントと二次モーメントを利用した適応的最適化手法であり、 学習率の自動調整により高速収束を実現する。
■ LAMB
大規模モデル(例:BERT)に対応するための最適化手法であり、 Layer単位での正規化を行うことで安定した学習を可能にする。
3. Loss Landscapeの幾何学的理解
ニューラルネットワークの損失関数は高次元空間における複雑な曲面として表現される。 この形状(Loss Landscape)を理解することで、学習挙動の本質が見えてくる。
- Sharp minima:鋭い谷 → 汎化性能が低い
- Flat minima:広い谷 → 汎化性能が高い
SGDはノイズによってFlat minimaに到達しやすいという性質を持つ。
4. Sharpnessと汎化性能の関係
モデルの性能は単純な訓練誤差ではなく、パラメータ空間における安定性と密接に関係している。
- Sharp minima:微小な変化で性能が大きく劣化
- Flat minima:パラメータの変動に対してロバスト
このため、最適化は単なる最小値探索ではなく、 「安定な最小値」を探索する問題として捉える必要がある。
5. Hessian解析と2次最適化
2次最適化では、勾配に加えてHessian行列(2階微分)を利用する。
θ = θ - H^{-1} ∇L(θ)
- Hessian:曲率情報を表す行列
- メリット:高速収束
- デメリット:計算コストが非常に高い
そのため実務では、以下のような近似手法が用いられる。
- K-FAC(Kronecker-Factored Approximate Curvature)
- Diagonal Approximation
6. 学習ダイナミクスの実務的理解
実務では理論だけでなく、以下の観点も重要となる。
- Learning Rate Scheduling(Cosine Annealingなど)
- Warmup戦略
- Gradient Clipping
- Batch SizeとGeneralizationの関係
特に大規模モデルでは、これらの設計が収束性と性能を大きく左右する。
まとめ
本章では、最適化アルゴリズムの表面的な違いではなく、 その背後にある数理構造と学習ダイナミクスを理解した。
この理解は、以下の能力に直結する。
- モデルが収束しない原因の特定
- 最適な学習戦略の設計
- 大規模モデルにおける安定したトレーニング