SlideShare a Scribd company logo
2
Most read
8
Most read
20
Most read
Optimizer⼊⾨ & 最新動向
⼿塚研究室
本川哲哉
Optimizerとは
• Optimization(最適化)する者
• 機械学習の⽂脈では、損失関数の値をできるだけ⼩さくするパラメータの
値を⾒つけることを最適化(Optimization) といい、その⼿法を指して
Optimizerと呼ぶ。
• 関数の最⼩化と⾔うと、ラグランジュの未定乗数法、ニュートン法、共役
勾配法など⾊々あるが、機械学習タスクに使われているOptimizerは主に
計算量的な観点から1階微分の勾配降下法がベースとなる。
みんな⼤好き確率的勾配降下法
• Stochastic Gradient Descent
• 最近流⾏りのあらゆるOptimizerの基礎
• ミニバッチごとに勾配降下法を適⽤するため、局所解に陥りに
くい!
引⽤:⼿塚先⽣の本
シンプルだけど不便!
• 学習率の初期値を設定しにくい
• 初期値の設定に失敗すると劇的に悪化
・・・SGDを改良していこう!
引⽤:https://www.slideshare.net/kisa12012/sgd-future-best-27314417?next_slideshow=1
Momentum SGD
「慣性付けるか」
下図のように、より収束に関連性のある⽅向にSGDを加速させて、振動を
抑制する。
引⽤: http://postd.cc/optimizing-gradient-descent/#adagrad
Nesterov accelerated gradient (NAG)
「慣性に加えて⼀歩先の位置での勾配を使おう」
現在のパラメータの勾配ではなく、未来のパラメータの推定位置を計算す
ることで効率的な予測が可能になる。
引⽤:http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf
Adaptive Learning Rate(適応学習率法)
今までは全てのパラメータに対して同じ学習率を掛けていた。
稀にしか観測されないパラメータにはより⼤きな更新を、よく観
測されるパラメータにはより⼩さな更新をさせたいよね。
・・・学習率をパラメータ(軸)毎に適応させよう!
Adagrad(Adaptive Gradient)
<⽋点>
• エポックを重ねるごとに過去の学習率が累積していき、やがて0に漸近してしまう
• 学習の初期に勾配の⼤きな場所を通ると、それ以降その軸⽅向の勾配は⼩さいまま
になってしまう
RMSprop
「過去全部ではなく最近の勾配の⼆乗和のみ使おう」
指数関数的に減衰する指数移動平均によって、極めて遠い過去の勾配
は取り除く。
⾮凸の条件下でAdagradの性能を改善.
凸関数・⾮凸関数
引⽤: http://ogyahogya.hatenablog.com/entry/2016/05/19/凸解析
Adagradは凸関数では急速に収束するが、⾮凸関数ではうまく機
能しない。RMSpropでこの⽋点を改善。DNNで表現される多く
の関数は⾮凸。
Adadelta
「過去全部ではなく最近の勾配の⼆乗和のみ使おう、
さらに次元も合わそう。」
Adagrad、 RMSpropなどは全て次元がおかしい.
>次元とは?
横軸t(s)、縦軸x(m)のyという関数を考えるとき,
yの勾配(速度)の単位はm/sである。
勾配降下法では、x(m)を勾配(m/s)で更新
していることになるので、次元が合わない!
ここでの勾配降下法:𝑥"#$ = 𝑥" − 𝜂
()*
("
引⽤: https://physnotes.jp/mechanics/motion_diff/
Adadelta
もはや⾃分で学習率をチューニングする必要がない!!
Adam(Adaptive moment estimation)
「勾配の1次(平均)と2次(分散)のモーメント推定しよう」
結局どれが良いの??
• 今のところ、⼈間が経験的に「このタスクにはこのOptimizer
を使う」のような決め⽅をしている
• ⼊⼒データが疎な場合、適応学習率法のどれかを使うと良い
• Adamが最強というわけではない
むしろタスクによってはSGDの⽅がより良い性能を⾒せることもある…!
最近の流れの1つ:Adamを改良しよう!
Weight decay
• DNNにおいて、多層になるほどモデルの表現⼒は増すが、その
分オーバーフィッティングの危険性も⾼まる
• そこでパラメータの⾃由度を制限するWeight decayが⽤いられ
る
• 重みの⾃由度を制限するという意味で、これはL2正則化と同じ
効果を得ると理解できる
Adam with Weight decay
新しい更新式
⼩さなデータセットやCIFAR-10のデータセットではAdam with
Weight decayの⽅が通常のAdamよりもパフォーマンスが向上.
Fixing the exponential moving average
• 指数移動平均(EMA)とは、指数関数的に減衰する重み付き平
均のことで、Adamのような適応学習率法の基本的な考え⽅
• Adamで最適解を狙う場合、⼀部のミニバッチでは有益な勾配
が得られるが、そのようなミニバッチは稀にしか現れない
→そこでパラメータ更新時に⼆乗勾配に関してはEMAではなく、過去の
⼆乗勾配の最⼤値を⽤いるAMSgradという⼿法が提案された。
Learning rate annealing schedule
• 学習率アニーリング
• annealing:焼きなまし
• ⼀旦⼤きくなりすぎた学習率をもう⼀度⼩さくするイメージ
• つまり、勾配降下法における損失関数の下がり⽅を調整してい
る
興味深い⼀例:Adam+以下の学習率アニーリングによって機械翻訳タスクに成功
Warm Restarts
• cosineなどを⽤いた周期的な学習率アニーリング
• 通常の学習率アニーリングよりも2~4倍のエポックが必要とな
るが、同等以上のパフォーマンスを達成する。
Restart後の⾼い学習率によって、前に収束
した最⼩値から損失関数の異なる領域へと
抜け出せるようになる。
引⽤:http://ruder.io/deep-learning-optimization-2017/index.html#fnref:22
課題と今後の⽅針
• 今のところタスクによって最適なOptimizerは異なる
• ⼈間が経験的にこれ!ってやつを使っている
• Adamのような複雑な最適化よりも、シンプルで軽いSGDが使われることも少なくない
• 最適化理論(局所解の性質、最適化の簡単さ etc...)
• 損失関数の形⾃体が分かれば、勾配が消失するor爆発するタイミングが分かって、⼤幅
な改善につながるのでは
• また、損失関数の構造が分かればどのタスクにどのOptimizerが効くかが分かる?
• 近似理論(表現⼒解析、層とノードの関係 etc...)
• 2階微分まで盛り込んでいるニュートン法(計算量がとてつもなく⼤きいが収束が早い)
と1階微分の通常の勾配降下法を交互に組み合わせる⽅法は⾯⽩そう
• Adadeltaで議論されている次元おかしい問題の突き詰め
参考⽂献
• Sebastian Ruder. “An overview of gradient descent optimization algorithms”. http://ruder.io/optimizing-gradient-descent/.
• Sebastian Ruder. “Optimization for Deep Learning Highlights in 2017”. http://ruder.io/deep-learning-optimization-
2017/index.html.
• Ian Goodfellow and Yoshua Bengio and Aaron Courville. “Deep Learning”. http://www.deeplearningbook.org.
• Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … Polosukhin, I. (2017). Attention Is All You
Need. In Advances in Neural Information Processing Systems.
• Loshchilov, I., & Hutter, F. (2017). SGDR: Stochastic Gradient Descent with Warm Restarts. In Proceedings of ICLR 2017.
• Loshchilov, I., & Hutter, F. (2017). Fixing Weight Decay Regularization in Adam. arXiv Preprint arXi1711.05101. Retrieved
from http://arxiv.org/abs/1711.05101
• Zeiler, M. D. (2012). ADADELTA: An Adaptive Learning Rate Method. Retrieved from http://arxiv.org/abs/1212.5701
• Kingma, D. P., & Ba, J. L. (2015). Adam: a Method for Stochastic Optimization. International Conference on Learning
Representations, 1‒13.
• Masaaki Imaizumi. “深層学習による⾮滑らかな関数の推定”. SlideShare.
https://www.slideshare.net/masaakiimaizumi1/ss-87969960.
• nishio.”勾配降下法の最適化アルゴリズム”. SlideShare. https://www.slideshare.net/nishio/ss-66840545

More Related Content

PDF
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PDF
BERT入門
PDF
[DL輪読会]Understanding Black-box Predictions via Influence Functions
PDF
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
PPTX
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
PDF
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
PDF
道具としての機械学習:直感的概要とその実際
PDF
機械学習の理論と実践
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
BERT入門
[DL輪読会]Understanding Black-box Predictions via Influence Functions
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
道具としての機械学習:直感的概要とその実際
機械学習の理論と実践

What's hot (20)

PDF
Transformerを多層にする際の勾配消失問題と解決法について
PDF
最適化超入門
PDF
ドメイン適応の原理と応用
PDF
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
PPTX
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
PDF
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
PDF
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
PPTX
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
PDF
方策勾配型強化学習の基礎と応用
PPTX
強化学習アルゴリズムPPOの解説と実験
PPTX
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PDF
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
PDF
研究効率化Tips Ver.2
PPTX
[DL輪読会]Pay Attention to MLPs (gMLP)
PDF
Layer Normalization@NIPS+読み会・関西
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
PDF
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
PDF
TensorFlowで逆強化学習
PPTX
Transformerを雰囲気で理解する
PDF
グラフニューラルネットワーク入門
Transformerを多層にする際の勾配消失問題と解決法について
最適化超入門
ドメイン適応の原理と応用
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
方策勾配型強化学習の基礎と応用
強化学習アルゴリズムPPOの解説と実験
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
研究効率化Tips Ver.2
[DL輪読会]Pay Attention to MLPs (gMLP)
Layer Normalization@NIPS+読み会・関西
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
TensorFlowで逆強化学習
Transformerを雰囲気で理解する
グラフニューラルネットワーク入門
Ad

Similar to Optimizer入門&最新動向 (8)

PPTX
Deep learning basics described
PDF
SGD+α: 確率的勾配降下法の現在と未来
PPTX
エンジニアのための機械学習の基礎
PDF
社内機械学習勉強会 #5
PDF
Lookahead Optimizer: k steps forward, 1 step back
PDF
第2回nips+読み会: Learning to learn by gradient decent by gradient decent
PDF
Optimization and simulation with DataRobot
PDF
[読会]Long tail learning via logit adjustment
Deep learning basics described
SGD+α: 確率的勾配降下法の現在と未来
エンジニアのための機械学習の基礎
社内機械学習勉強会 #5
Lookahead Optimizer: k steps forward, 1 step back
第2回nips+読み会: Learning to learn by gradient decent by gradient decent
Optimization and simulation with DataRobot
[読会]Long tail learning via logit adjustment
Ad

Optimizer入門&最新動向