最適化手法はニューラルネットの学習の肝。SGDから始まる進化系譜を押さえると、論文を読む力もつきます。
学習率の話があったけど、最適化手法って他に何があるの?
最も基本がSGD(Stochastic Gradient Descent, 確率的勾配降下法)。
全データから1つランダムに選んで勾配を計算して更新を繰り返すの。
速いけど振動しやすいわ。
実務ではミニバッチSGD(例: 32, 64, 128サンプル) が主流。
計算効率と勾配の安定性のバランスが良いの。
1つずつより、まとめて使った方がいいんですねぇ♪
SGDに慣性を加えたのがMomentum(モメンタム)。
過去の勾配を加重平均して慣性を作り、振動を抑えながら速く収束するわ。
次にAdaGrad(2011)。
各パラメータごとに過去の勾配の二乗和を蓄積し、よく更新されたパラメータの学習率を下げる適応的学習率手法ね。
パラメータごとに違うんだ!
AdaGradの弱点は学習率が単調減少すること。
これを改善したのがRMSprop。
指数移動平均で過去を忘れていくの。
ヒントンが講義で紹介したわ。
そして現在の定番がAdam(Adaptive Moment Estimation, 2014)。
MomentumとRMSpropを組み合わせた手法で、多くのタスクで良好に動作するの。
Adamが人気なんですねぇ〜♪
Adamの派生でAdamWも有名。
weight decay (重み減衰) の扱いを改善した版で、Transformerの学習でよく使われるわ。
じゃあAdam一択でいいの?
必ずしもそうではなくて、近年は『SGD+Momentum + 適切な学習率スケジュール』が汎化性能で勝ることも知られてきたの。
タスク次第で選び分けるわ。
学習率スケジュールも重要。
学習率減衰(Learning Rate Decay)、ウォームアップ、コサインアニーリングなどが使われるわ。
最適化って、ほんと奥が深いんだなぁ…
G検定では『SGD・Momentum・AdaGrad・RMSprop・Adam』の系譜をしっかり押さえてね!
確認クイズ
Momentum と RMSprop を組み合わせ、現代のディープラーニングで最も広く使われる最適化手法はどれか。
- SGD
- Adam
- AdaGrad
- Newton法
こたえを見る
正解: 2. Adam
Adam (Adaptive Moment Estimation)は2014年に提案された、Momentum (1次モーメント) と RMSprop (2次モーメント) を組み合わせた最適化手法で、現在のディープラーニングの定番です。