Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
確率的勾配法のはなし
Search
Yamaguchi Takahiro
April 17, 2019
Science
8.5k
18
Share
確率的勾配法のはなし
プレーンなSGDから最近のアルゴリズム(Adabound)までの流れをまとめています。
Yamaguchi Takahiro
April 17, 2019
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.4k
Django のセキュリティリリースを見る
nyk510
0
120
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1.2k
硬派で真面目なグラフを描く
nyk510
0
560
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
440
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.8k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
1k
AWS CPU Credit を完全に理解する
nyk510
0
490
atmaCup#8 Opening
nyk510
0
300
Other Decks in Science
See All in Science
コンピュータビジョンによるロボットの視覚と判断:宇宙空間での適応と課題
hf149
1
610
論文紹介 音源分離:SCNET SPARSE COMPRESSION NETWORK FOR MUSIC SOURCE SEPARATION
kenmatsu4
0
600
データマイニング - グラフ埋め込み入門
trycycle
PRO
1
200
白金鉱業Meetup_Vol.20 効果検証ことはじめ / Introduction to Impact Evaluation
brainpadpr
2
1.8k
PPIのみを用いたAIによる薬剤–遺伝子–疾患 相互作用の同定
tagtag
PRO
0
210
ハミルトン・ヤコビ方程式の解の性質と物理的意味
enakai00
0
210
データマイニング - グラフ構造の諸指標
trycycle
PRO
0
290
凸最適化からDC最適化まで
santana_hammer
1
380
MATSUO Makiko
genomethica
0
130
イロレーティングを活用した関東大学サッカーの定量的実力評価 / A quantitative performance evaluation of Kanto University Football Association using Elo rating
konakalab
0
240
やるべきときにMLをやる AIエージェント開発
fufufukakaka
2
1.3k
アクシズを探せ! 各勢力の位置関係についての考察
miu_crescent
PRO
1
210
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
250
Why Our Code Smells
bkeepers
PRO
340
58k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Transcript
確率的勾配法のはなし 2019/04/17 Kaggle もくもくかい @nyker_goto
じこしょうかい @nyker_goto (twitter) 京都大学院, 最適化数理 (修論は確率的勾配法関連) 零細ベンチャー Atmaでデータサイエンティスト (新卒二年目) 人大募集中です!!!
今日は確率的勾配法の歴史と最近の論文 Adabound を ざっくり紹介します 2
はじめにおことわり このスライドの数式は若干適当です 3
なんで適当か • 数式追いかけてもあんまりおもしろくない ◦ 正直あまり本質的でもなかったり(変形すればいいだけなので ◦ なので収束性とかの込み入った話はしないです • SGD の「ノリ」をちょっとでも知ってほしいという気持です
◦ SGD は楽しいのです 以上のねらいのため, 出来る限り一般化を避けた表記に変えています。 そのため論文の数式よりも具体的になっていて表記が若干違います。 4
早速ですが Deep の optimizer って 何使ってますか !? 5
Optimizer なにつかってますか !? • SGD ◦ Nesterov の加速法 ◦ Momentum
• Adagrad • RMSProp • Adadelta • Adam • Adabound (NEW!) … 僕は SGD + Nesterov + Momentum (0.8) とかが好きです 6 図1. 勝手にとってきた Nesterov 先生
しんぷるなSGD t ステップ目で全体のうちひとつのデータの勾配 g を使って更新。たんじゅん。 Gradient Descent (最急降下法) だと全データ N
使うのがちがうとこ SGD (Stochastic Gradient Descent ちなみに: Gradient Descent 7
ちょっと一般化 今後の議論のため天下り的にちょっと一般化します。 SGD は毎回勾配(やそれに似た方向) m に対してあるステップサイズと補正ベクトル Vt をかけたような動きをすりゃいいので… と表せます。これを基本形と呼ぶことにします (V
と m はアダマール積) 8
SGD再掲 この基本形で SGD を書き直すと以下のような感じ。 基本形 SGD 9 • SGD は学習率をいじると収束が早いことが実験的に知られている
◦ 最初大きくあとで小さくとかがポピュラー • できれば人がいじらずに勝手に良い学習率で更新してほしい
適合的 (adaptive) なアルゴリズム • Adagrad (2010) • ADAM (2015) •
Adabound (2019) 10
Q. 適合的 (adaptive) って何? 11
A. いい感じに学習率(や勾配)を 変えてくれるような方法のこと 12
Adagrad (2010) Adaptive Subgradient Methods for Online Learning and Stochastic
Optimization (2010) 発想 • 学習率がすべての要素で同じなのは不自然なのでは? ◦ 毎回大きな勾配を持っているような要素ではあまり大きな学習率をとりたくない ◦ 反対にほとんど毎回ゼロの勾配を持つものはたまに勾配があるとき大きく更新し たい • 要素ごとにいい感じの学習率で更新させたい 13
Adagrad (2010) うごく方向 m は SGD と同じ SGD のときとの 差分は
Vt にあり 過去の勾配の二乗を足したもの平均値で割り算 • 過去に大きな勾配を持っている要素はステップ サイズが小さくなる。 • 要素ごとにいい感じの lr を選べる。 基本形 Adagrad 14 [note] 実は Vt は BFGS などの準ニュートン法的な発想で導入 されていたりします
Adagrad の問題点 • よーく V を見ると過去の値すべての平均をとっ ている • 一度とても大きい勾配に遭遇すると再度 V
が 小さくなる (= lr が大きくなる)ことはなかなか無 い ◦ Deep のような非凸関数だと局所解に捕 まったりする。そのときは step size を大 きくして抜けだしたい。けどできない。 基本形 Adagrad 15
みんなだいすき ADAM 先生 (2015) 16 発想 • V の計算を指数で重み付けするので最近の勾 配が小さいと大きい
lr を取れる • 勾配も過去の情報も使うようにしたらいいん じゃない? (Momentum的な発想) • 単に足して平均取るんじゃなくてついでに期待 値でも一致するよう 1- β を掛け算しとくといい のでは?
ADAM の問題点 • 実は どんな lr をとったとしても, 凸な問題で収束しないような場合があります(SGD だと収束します)。 ◦
ニューラルネットワークは非凸関数なので直接的には影響しませんが 解のごく近傍では凸に近似できるのでちょっと気持ちがわるい ◦ Adabound 論文中では学習が進んだ終盤で SGD にくらべ adam の性能が わるくなるのはこのためではないか? と指摘されています 要するに最初は adam 的な更新が良いけれど学習終盤(解近傍)の挙動は微妙 むしろ適合的でない SGD のほうが理論的にも良い (余計なことしないほうが良い) 17
じゃあ ADAM から SGD にかわるようなアルゴリズムに すればよくない? 18
Adabound (NEW! 2019) • V, m (補正項と方向) は adam と一緒
• 違うのは学習率を Clip しているとこ ◦ 最大最小を決めることで極端な学習率に ならなくなる ◦ 最大最小を特定の値に収束させるような 関数を使えば学習終盤でスムーズに SGD に置きかわる (左の例なら lr=0.1 の SGD ) 最大最小の一例@論文中 19
数値実験 • DenseNet121 で CIFAR-10 • 強いよね。序盤、中盤、終盤、隙がない。 (終盤で SGD Momentum
に追いつかれているものの序盤は圧倒的) 20
まとめ • 適合的な手法の発想はどれも似ている。割とシンプル。 • Adabound は SGD と Adam のいいとこ取り。これから流行りそう
21
参考文献 • Duchi, John and Hazan, Elad and Singer, Yoram
/ Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. https://dl.acm.org/citation.cfm?id=2021068 adagrad の論文。結構最適化よりなのでむずい。 • Sebastian Ruder. An overview of gradient descent optimization algorithms. https://arxiv.org/abs/1609.04747 勾配法とか確率的勾配法のサーベイ。わかりよい。 • Liangchen Luo, Yuanhao Xiong, Yan Liu, Xu Sun. Adaptive Gradient Methods with Dynamic Bound of Learning Rate. https://openreview.net/forum?id=Bkg3g2R9FX adabound 論文 22