勾配降下法の
最適化アルゴリズム
(Adagrad, Adadelta, Adam)
2016-10-07
サイボウズ・ラボ
西尾泰和
このスライドの目的
• 勾配降下法はDeep Learningの学習で重要な役
割を果たす最適化手法
• Deep Leaningに限らず応用分野の広いツール
• ここ数年でアルゴリズムの改良が提案されて
いるのでそれについて整理する
2
勾配降下法
最適化(関数の最小値を求めること)の方法の一つ
関数が微分できることが条件
各点での微分(=勾配)をみて、一番勾配が急な方
向に降りていく*
3
* 一番原始的な「最急降下法」の場合
勾配が0の点
3通りある
4
すべての軸で二回微分が負
勾配0の点から遠ざかる
方向に動くので、
この点にハマって動けな
くなることは確率的には
とても起こりにくい。
5
すべての軸で二回微分が正
勾配0の点に近づく方向
に動き、ここに集まる。
この点が関数の定義域
全体で最小値なのかは
わからないのだけど、
それは勾配法ではどう
しようもないので気に
しない*
6
* 対処法:焼きなまし法とか初期値を変えて何度も計算とか
二回微分の符号が異なる
関数の定義域が高次元
の場合、このパターン
が圧倒的に多い。*
これをうまく避けたい
7
* 10次元の時、99.8%ぐらい
Identifying and attacking the saddle point problem in high-dimensional non-convex
optimization
https://arxiv.org/pdf/1406.2572v1.pdf
Alec Radfordによる可視化
8
Alec Radfordによる可視化
9
各アルゴリズム解説
• 最急降下法
• モメンタム
• Nesterov accelerated gradient
• Adagrad
• Adadelta
• Adam
10
最急降下法
1. 現在位置𝑥𝑡での勾配𝑔(𝑥𝑡)を計算
2. その勾配に学習率𝜂を掛けたもので位置を更新
11
𝑥 𝑡+1 = 𝑥 𝑡 − 𝜂𝑔(𝑥 𝑡)
モメンタム
アイデア「慣性を付けたらいいんじゃない?」
1. 現在位置𝑥𝑡での勾配𝑔(𝑥𝑡)に学習率を掛ける
2. 前回の更新量に0.9ぐらいの減衰率を掛ける
3. 両方使って位置を更新
12
𝑥 𝑡+1 = 𝑥 𝑡 + 𝛾(𝑥 𝑡 − 𝑥 𝑡−1) − 𝜂𝑔(𝑥 𝑡)
Nesterov accelerated gradient
アイデア「一歩先の地点の勾配を使おう」
13
上: モメンタム
下: NAG
青矢印が矢印根元
での勾配
図の簡略化のため
学習率や減衰率は
1にした
Nesterov accelerated gradient
数式的には 𝑣𝑡 = 𝛾 𝑥𝑡 − 𝑥𝑡−1 として
モメンタム
𝑥𝑡+1 = 𝑥𝑡 + 𝑣𝑡 − 𝜂𝑔(𝑥𝑡)
NAG
𝑥𝑡+1 = 𝑥𝑡 + 𝑣𝑡 − 𝜂𝑔(𝑥𝑡 + 𝑣𝑡)
14
Adagrad
ここまでの話はいったん全部忘れて
「そもそも学習率がどの軸でも同じって
おかしいんじゃないの?」
特に確率的勾配降下法と組み合わせて
使うことを考えた場合
「まれにしか観測されない特徴」
→「その軸方向の勾配が多くの場合ゼロ」
まれな特徴が観測されたときには
その軸方向には大きく学習したい
15
Adagrad
そこで各軸方向の勾配の二乗和を溜めておいて
学習率をその平方根*で割ることで
まれな特徴に対して学習率を高めにする。
学習率は他の方法と比べて10倍くらい大きくし
ておく。ゼロ除算を避けるために分母に小さい値
を足す。
16
* RMS: Root mean square
Adagradの問題点
勾配の二乗は常に非負なので
学習率は単調非増加。
学習初期に勾配のきついところを通ると
それ以降ずっとその軸方向の学習率が
小さくなってしまう。
これでいいのか?
17
Adadelta
アイデア1「過去の勾配の二乗和全部を使うん
じゃなくて、最近のだけ使おう」
最近n件を取っておくのはメモリ消費が大きいの
で指数平滑移動平均を使う
18
ADADELTA: AN ADAPTIVE LEARNING RATE METHOD
https://arxiv.org/pdf/1212.5701v1.pdf
Adadelta
アイデア2「単位を合わそう」
Adagradに限らず、SGDやモメンタムでも
「単位があっていない」
19
単位とは?
例えば1次元の関数fで、xの単位がメートル(m)
yの単位がキログラム(kg)である場合を考える。
fの勾配の単位はもちろん kg/m
SGDの更新式ではmにkg/mを足していておかし
い。Adagradではkg/mをkg/mで割って無単位量
になっててやっぱりおかしい。
20
ニュートン法
ニュートン法の場合は
「yの値をfの勾配で割ったもの」
をxの更新に使う。
先ほどの例なら「kg を kg/m で割ったもの」
でmの値の更新をすることになる。
これなら単位はおかしくない。
21
Adadeltaの単位合わせ
「過去のxの更新差分の平均」を
「過去の勾配の平均」で割って
今の勾配を掛けたものを
xの更新差分とする。→単位OK
22
* RMS: Root mean square
単位合わせのメリット
単位のあってないSGDでは関数fの最適化と
fを単に10倍した関数の最適化とで
振る舞いが違う(後者が10倍大きい幅で更新する)
この差を吸収するのが「学習率」なる値で
後者の関数の最適化において
更新幅が大きくなりすぎないようにするためには
10倍小さい学習率にする必要がある。
Adadeltaではyの単位が影響しないので、この目
的で学習率をチューニングする必要がない
23
学習率不要
論文中の数式、上から最急降下法、モメンタム、
Adagrad、Adadelta。Adadeltaだけ学習率ηがな
いことに注目。
24
Adam
adaptive moment estimation
勾配の1乗を溜めこむモメンタム
勾配の2乗を溜めこむAdagrad
これって要するに1次と2次のモーメント推定
じゃないか!というのがAdamのアイデア
25
ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION
https://arxiv.org/pdf/1412.6980v8.pdf
アルゴリズム
26
抜粋
𝑚 𝑡 ← 𝛽1 𝑚 𝑡−1 + 1 − 𝛽1 𝑔𝑡
𝑣𝑡 ← 𝛽2 𝑣𝑡−1 + 1 − 𝛽2 𝑔𝑡
2
𝜃𝑡 ← 𝜃𝑡−1 −
𝛼 𝑚 𝑡
𝑣𝑡 + 𝜖
27
mが1次のモーメント(モメンタム相当)
vが2次のモーメント、これの平方を分母に置くのが
Adagradの「勾配のRMSを分母に置く」に相当。
* RMS: Root mean square
Adamは単位おかしい
AdamはAdagradとRMSPropから派生しているの
で、Adadeltaが指摘した「単位おかしい」問題は
そのまま引き継いでしまっている。
28
実験
Adam著者ら「AdaDeltaよりNesterovがよい」
29
Adam筆者らによる解釈
なぜNesterovがAdagradよりよいのか?
CNNの実験では2次のモーメントがゼロにvanish
2次のモーメントしか使ってないAdagradは無力
1次のモーメントが収束の高速化に寄与したので
はないか。
一方1次のモーメントを使っているNesterovより
もさらに性能が良いのは「軸ごとの学習率」が効
いているのではないか
30
疑問点
「 CNNの実験では2次のモーメントがゼロに
vanish」
それβが小さいとかαとεの比がおかしいとかじゃ
ないのか……?
βが小さいと過去のデータを素早く忘れすぎる。
2次のモーメントがεに比べて小さい件は、εを小
さくしてαも同率で小さくすれば済む話。
そもそも初期値依存の激しい問題で1回の実験結
果を見て議論してもアレなので初期値とパラメー
タを変えて何度も実験してほしい。
31
感想
Adamはモメンタム系とAdagradの「各軸ごとの
学習率」の良いとこどりをしているが、Adadelta
の「単位正しく」は取り込んでいない。
そこも取り込んだ手法が今後生まれるのかもしれ
ない。
32

More Related Content

PPTX
[DL輪読会]相互情報量最大化による表現学習
PDF
方策勾配型強化学習の基礎と応用
PPTX
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
PPTX
報酬設計と逆強化学習
PDF
グラフィカルモデル入門
PDF
強化学習と逆強化学習を組み合わせた模倣学習
PDF
機械学習モデルの判断根拠の説明
PDF
PCAの最終形態GPLVMの解説
[DL輪読会]相互情報量最大化による表現学習
方策勾配型強化学習の基礎と応用
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
報酬設計と逆強化学習
グラフィカルモデル入門
強化学習と逆強化学習を組み合わせた模倣学習
機械学習モデルの判断根拠の説明
PCAの最終形態GPLVMの解説

What's hot (20)

PDF
深層生成モデルと世界モデル
PPTX
強化学習 DQNからPPOまで
PDF
Control as Inference (強化学習とベイズ統計)
PDF
TensorFlowで逆強化学習
PDF
深層生成モデルと世界モデル(2020/11/20版)
PDF
HiPPO/S4解説
PDF
負の二項分布について
PPTX
海鳥の経路予測のための逆強化学習
PDF
強化学習その2
PDF
強化学習その3
PDF
生成モデルの Deep Learning
PDF
バンディットアルゴリズム入門と実践
PDF
[DL輪読会]近年のエネルギーベースモデルの進展
PDF
ICML 2020 最適輸送まとめ
PPTX
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
PDF
【メタサーベイ】基盤モデル / Foundation Models
PDF
全力解説!Transformer
PDF
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
PDF
パンでも分かるVariational Autoencoder
深層生成モデルと世界モデル
強化学習 DQNからPPOまで
Control as Inference (強化学習とベイズ統計)
TensorFlowで逆強化学習
深層生成モデルと世界モデル(2020/11/20版)
HiPPO/S4解説
負の二項分布について
海鳥の経路予測のための逆強化学習
強化学習その2
強化学習その3
生成モデルの Deep Learning
バンディットアルゴリズム入門と実践
[DL輪読会]近年のエネルギーベースモデルの進展
ICML 2020 最適輸送まとめ
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
【メタサーベイ】基盤モデル / Foundation Models
全力解説!Transformer
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
パンでも分かるVariational Autoencoder
Ad

Viewers also liked (14)

PDF
SGD+α: 確率的勾配降下法の現在と未来
PDF
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
PDF
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
PDF
20151112 kutech lecture_ishizaki_public
PDF
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
PDF
Prml4.4 ラプラス近似~ベイズロジスティック回帰
PDF
PRMLの線形回帰モデル(線形基底関数モデル)
PDF
線形?非線形?
PDF
Deep learning実装の基礎と実践
PDF
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
PDF
Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料
PDF
IIBMP2016 深層生成モデルによる表現学習
PPTX
猫でも分かるVariational AutoEncoder
PDF
機械学習の理論と実践
SGD+α: 確率的勾配降下法の現在と未来
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
20151112 kutech lecture_ishizaki_public
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
Prml4.4 ラプラス近似~ベイズロジスティック回帰
PRMLの線形回帰モデル(線形基底関数モデル)
線形?非線形?
Deep learning実装の基礎と実践
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料
IIBMP2016 深層生成モデルによる表現学習
猫でも分かるVariational AutoEncoder
機械学習の理論と実践
Ad

More from nishio (20)

PDF
量子アニーリングマシンのプログラミング
PDF
夏プロ報告
PDF
ITと経営
PDF
部分観測モンテカルロ計画法を用いたガイスターAI
PDF
交渉力について
PDF
If文から機械学習への道
PDF
組織横断型研究室構想
PDF
2017首都大学東京情報通信特別講義
PDF
強化学習その5
PDF
良いアイデアを出すための方法
PDF
強化学習その4
PDF
強化学習その1
PDF
機械学習キャンバス0.1
PDF
首都大学東京「情報通信特別講義」2016年西尾担当分
PDF
Wifiで位置推定
PDF
ESP8266EXで位置推定
PDF
Raspberry Piで Wifiルータを作る
PDF
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
PDF
「ネットワークを作る」 ってどういうこと?
PDF
「ネットワークを作ることで イノベーションを加速」 ってどういうこと?
量子アニーリングマシンのプログラミング
夏プロ報告
ITと経営
部分観測モンテカルロ計画法を用いたガイスターAI
交渉力について
If文から機械学習への道
組織横断型研究室構想
2017首都大学東京情報通信特別講義
強化学習その5
良いアイデアを出すための方法
強化学習その4
強化学習その1
機械学習キャンバス0.1
首都大学東京「情報通信特別講義」2016年西尾担当分
Wifiで位置推定
ESP8266EXで位置推定
Raspberry Piで Wifiルータを作る
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
「ネットワークを作る」 ってどういうこと?
「ネットワークを作ることで イノベーションを加速」 ってどういうこと?

勾配降下法の 最適化アルゴリズム