SlideShare a Scribd company logo
2013/10/17 PFIセミナー

SGD+α
確率的勾配降下法の現在と未来

東京大学 情報理工学系研究科
大岩 秀和 / @kisa12012
自己紹介

•大岩 秀和 (a.k.a. @kisa12012)
•所属: 東大 数理情報 D2 (中川研)
•研究: 機械学習・言語処理
•オンライン学習/確率的最適化/スパース正
則化 etc...

•前回のセミナー: 能動学習入門
•PFI: インターン(10) -> アルバイト(-12)
2
今日の話 1/2

•みんな大好き(?)確率的勾配降下法
•Stochastic Gradient Descent (SGD)
•オンライン学習の文脈では,Online
Gradient Decent (OGD)と呼ばれる

•SGDは便利だけど,使いにくい所も
•ステップ幅の設定方法とか
3
今日の話 2/2

•SGDに+αで出来る拡張の話をします
•最近提案されたトッピング(研究)を紹介
•ステップ幅設定/自動正規化など

Plain SGD

Topping
4
1. Plain SGD

5
基本問題設定
min f (w)

f (w)

• (損失)最小化問題 w
⇤
• 値が最小となる w を求めたい
f (·) は凸関数
•
⇤
w
関数がN個の関数に分解可能
•
• 必須ではないですが,今回はこの条件で進めます
f (w) =

N
X

n=1
6

ft (w)
Plain SGD
x1

x2

................................ xN

wt
7
Plain SGD
x1

x2

................................ xN

wt
データを一つランダムにピックアップ
8
Plain SGD
x1

x2

................................ xN

wt+1 = wt

⌘t @f2 (wt )

選んだデータに対応する勾配でパラメータ更新
9
Plain SGD
x1

x2

................................ xN

max(0, 1
(wT x

二乗損失 (回帰)

ヒンジ損失 (分類)

y)2

wt+1 = wt

⌘t @f2 (wt )

用いる損失関数は様々
10

ywT x)
Plain SGD

•関数を一つだけサンプルして,勾配を計算
wt+1 = wt

⌘t rfnt (wt )

•

関数 fnt (·) の値が一番小さくなる
方向へパラメータを更新

⌘t でステップの幅を調整
•

•微分不可能な場合も劣勾配で
11
Pros and Cons of Plain SGD
wt+1 = wt

⌘t rfnt (wt )

•長所
•大規模データに有効 (Bottou+ 11)
• そこそこの 解がすぐに欲しい時
•実装・デバッグ・実験サイクルを回すのが楽
•ノウハウ集 (Bottou 12)
•最適解への収束証明あり
12
Pros and Cons of Plain SGD

•短所
•ステップ幅で収束性が大きく変化
•Overshoot, Undershoot
•前処理しないと性能が劇的に悪化
•正規化, TF-IDF
•厳密な最適解が欲しい場合は遅い

損失
(対数)
SGD
GD
時間

13
SGD+α

•時代はビッグデータ
•複雑な最適化よりシンプルで軽いSGD
•しかし,SGDも不便な部分が多い
•SGD+α
•+αで,より効果的なアルゴリズムへ
•+αで,欠点の少ないアルゴリズムへ
•「それ,実はSGD+αで出来るよ?」
14
今日紹介する+α

• Importance-aware Update
• ステップ幅の問題を緩和
• Normalized Online Learning
• 前処理なし,オンラインで特徴量の正規化
• Linear Convergence SGD
• バッチデータに対して,線形収束するSGD
• 他にもAdaGrad/省メモリ化等を紹介したかったで
(Karampatziakis+ 11)

(Stéphane+ 13)

(Le Roux+ 12)

すが,略
15
2. Importance-aware Update

16
Overshoot / Undershoot
SGDはステップ幅設定に失敗すると,劇的に悪化

ステップ幅が大きすぎる

小さすぎる
17
ステップ幅設定は大変
w = (inf, inf, . . . )

•Overshootで生じるnan/infの嵐
•Cross-Validationで最適ステップ幅探しの旅
•つらい
•ステップ幅選択に悩みたくない
•Importance-aware Update
•キーワード: Invariance, Safety
18
Invariance

•ステップ幅設定をh倍 -> データ1個分の更新h回
へ再設定

→

19
Importance-aware Update
(Karampatziakis+ 11)

•Invarianceを満たすステップ幅の再設定法
•線形予測器では変化するのはステップ幅のみ
•主な損失関数のステップ幅は,閉じた式で計
算可能

•L2正則化等が入っても大丈夫
•Regret Boundの証明あり
20
Importance-aware step width
ステップ幅の再設定式
Table 1: Importance Weight Aware Updates for Various Loss Functions
Loss
`(p, y)
Update s(h)
⇣
⌘
>
p y
Squared
(y p)2
1 e h⌘x x
x> x
Logistic

log(1 + e

Exponential

e
y log

Logarithmic
Hellinger
Hinge
⌧ -Quantile

p

( p

y
p

p

2

y)

yp

)

yp

+ (1
p

( 1

y) log
p

1 y
1 p

p

1

max(0, 1 yp)
if y > p
⌧ (y p)
if y  p (1 ⌧ )(p y)

(6) gives a di↵erential equation whose solution is the
result of a continuous gradient descent process.
As a sanity check we rederive (5) using (6). For
@`
squared loss @p = p y and we get a linear ODE:

y)2

> x+yp+eyp

) h⌘x> x eyp
for y 2 { 1, 1}
yx> x
py log(h⌘x> x+epy )
for y 2 { 1, 1}
x> xy
p
p 1+ (p 1)2 +2h⌘x> x
if y = 0
p x> x
p
p2 +2h⌘x> x
if y = 1
x> x
>
1
p 1+ 4 (12h⌘x x+8(1 p)3/2 )2/3
if y = 0
x> x
1
p 4 (12h⌘x> x+8p3/2 )2/3
if y = 1
x> x
1 yp
y min h⌘, x> x for y 2 { 1, 1}
if y > p
⌧ min(h⌘, ⌧yx>p )
x
p y
if y  p (1 ⌧ ) min(h⌘, (1 ⌧ )x> x )

W (eh⌘x

solution to (6) has no simple form for all y 2 [0, 1] but
for y 2 {0, 1} we get the expressions in table 1.
3.1.1

(Karampatziakis+ 11) より

Hinge Loss and Quantile Loss

Two other commonly used loss function are the hinge
loss
21 and the ⌧ -quantile loss where ⌧ 2 [0, 1] is a parameter function. These are di↵erentiable everywhere
Safety

•Importance-aware Updateとなった二乗損失や
ヒンジ損失は,Safetyの性質を持つ
Safety
T
wt+1 x y
T
wt x y

0

が必ず満たされる
領域を超えない
22
No more step width war!

•SafetyによりOvershootの危険性が減る
•初期ステップ幅を大きめにとれる
•ステップ幅の精密化により,精度も改善
•賢いステップ幅選択方法は他にも提案
•(Duchi+ 10), (Schaul+ 13)...
23
3. Normalized Online Learning

24
特徴量の正規化
• 各特徴量のスケールに強い影響を受ける
• スケールの上限/下限の差が大きいほど,理論的にも実
証的にも性能悪化

• バッチ学習の場合は前処理で正規化する場合がほとんど
• オンライン学習では,前処理が不可能な場合がある
• 全部のデータを前もって用意出来ない etc.
x = (1.0, 5.2, . . . )
x = (1000.0, 5.2, . . . )
25

x = (0.001, 5.2, . . . )
Normalized Online Learning
(Stéphane+ 13)

s1

s2

................................

wt = (1.0, 2.0, . . . , 5.0)

各特徴量に,最大値保存用のボックスを設置
26

sD
Normalized Online Learning
s1

s2

................................

x2 = (2.0, 1.0, . . . , 5.0)

wt = (1.0, 2.0, . . . , 5.0)

データを一つランダムにピックアップ
27

sD
Normalized Online Learning
s1

s2

................................

x2 = (2.0, 1.0, . . . , 5.0)

wt = (1.0, 2.0, . . . , 5.0)

選択したデータの各特徴量の値が
最大値を超えていないかチェック
28

sD
Normalized Online Learning
2.0

s2

................................

sD

If 2.0 > s1
x2 = (2.0, 1.0, . . . , 5.0)
1.0 ⇥ s2
1
wt = (
2 , 2.0, . . . , 5.0)
2.0

もし超えていたら,正規化せずに過去データを
処理してしまった分,重みを補正
29
Normalized Online Learning
2.0

................................

s2
wt+1 = wt

sD

⌘t g (@f2 (wt ), s1:D )

x2 = (2.0, 1.0, . . . , 5.0)

あとは,サンプルしてきたデータを使って,
正規化しながら確率的勾配法でアップデート
30
Normalized Online Learning
• オンライン処理しながら自動で正規化
• スケールを(あまり)気にせず,SGDを回せるように!
• スケールも敵対的に設定されるRegret Boundの証明付き
Algorithm 1 NG(learning rate ⌘t )

Algorithm 2 NAG(learning rate ⌘)

1. Initially wi = 0, si = 0, N = 0

1. Initially wi = 0, si = 0, Gi = 0, N

2. For each timestep t observe example (x, y)

2. For each timestep t observe example

(a) For each i, if |xi | > si

(a) For each i, if |xi | > si
wi si
i. wi
|xi |
ii. si
|xi |
P
(b) y = i wi xi
ˆ
P x2
i
(c) N
N + i s2

wi s2
i
|xi |2

i. wi
ii. si
|xi |
P
(b) y = i wi xi
ˆ
P
(c) N
N+ i
(d) For each i,
i. wi
wi

x2
i
2
si

(d) For each i,

y ,y)
t
⌘t N s1 @L(ˆi
2
@w
i

31

i. Gi

Gi +

ii. wi

wi

i

⇣

@L(ˆ,y)
y
@wi

(Stéphane+ 13)より q t
⌘

N si

⌘2

1
p

@L
Gi @
4. Linear Convergence SGD

32
線形収束するSGD

•Plain SGDの収束速度
p
一般的な条件の下で凸関数 O(1/ T )
•
O(1/T )
滑らかで強凸
•
•使用データが予め固定されている場合
SGD+αで線形収束が可能に O(c )
•
•厳密な最適解を得たい場合もSGD+α
¯
f (w)

f (w⇤ )

T

33
Stochastic Average Gradient
(Le Roux+ 12)

x1

x2

................................ xN

wt
34
Stochastic Average Gradient
x1

x2

@f1 (·) @f2 (·)

................................ xN

................................ @fN (·)

wt
各データに,勾配保存用のボックスを一つ用意
35
Stochastic Average Gradient
x1

x2

@f1 (·) @f2 (·)

................................ xN

................................ @fN (·)

wt
データを一つランダムにピックアップ
36
Stochastic Average Gradient
x1

x2

@f2 (wold )
@f1 (·)

................................ xN

昔の勾配はステル

@f2 (wt )

................................ @fN (·)

wt
選んだデータに対応する勾配情報を更新
37
Stochastic Average Gradient
x1

x2

................................ xN

新しい勾配もあれば

@f1 (·)

古い勾配もある

................................ @fN (·)

@f2 (wt )

wt+1 = wt

N
X
⌘t
@fn (·)
N n=1

全勾配情報を使って,重みベクトルを更新
38
線形収束するSGD

•
•線形予測器ならば,一データにつきスカラー
f が強凸かつ各 fn (·) が滑らかな時,線形収束

(float/double)を一つ持てば良い

•正則化項を加えたい場合
•SAGでは,L1を使ったスパース化の収束性は
未証明 (近接勾配法)

•SDCA [Shalev+ 13], MISO[Mairal 13]
39
まとめ
• SGD+α
• ステップ幅設定/自動正規化/線形収束化
• その他,特徴適応型のステップ幅調整/省メモリ化
等,SGD拡張はまだまだ終わらない

• フルスタックなSGDピザが出来る..?
• 近いうちに,ソルバーの裏側でよしなに動いてくれ
る..はず?

• そんなソルバーを募集中
40
参考文献
•

L. Bottou, O.Bousquet, The Tradeoffs of Large-Scale Learning , Optimization for
Machine Learning, 2011.

•
•

L. Bottou, Stochastic Gradient Descent Tricks , Neural Networks, 2012.
Nikos Karampatziakis, John Langford, "Online Importance Weight Aware Updates", UAI,
2011.

•

John C. Duchi, Elad Hazan, Yoram Singer, "Adaptive Subgradient Methods for Online
Learning and Stochastic Optimization", JMLR, 2011.

•

Tom Schaul, Sixin Zhang and Yann LeCun., "No more Pesky Learning Rates", ICML,
2013.

•
•

Stéphane Ross, Paul Mineiro, John Langford, "Normalized Online Learning", UAI, 2013.
Nicolas Le Roux, Mark Schmidt, Francis Bach, Stochastic Gradient Method with an
Exponential Convergence Rate for Finite Training Sets , NIPS, 2012.

•

Shai Shalev-Shwartz, Tong Zhang, Stochastic Dual Coordinate Ascent Methods for
Regularized Loss Minimization , JMLR, 2013.

•

Julien Mairal, Optimization with First-Order Surrogate Functions , ICML, 2013.
41

More Related Content

PDF
PDF
Crfと素性テンプレート
PPTX
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
PPTX
[DL輪読会]逆強化学習とGANs
PDF
最適輸送の解き方
PDF
変分推論法(変分ベイズ法)(PRML第10章)
PPTX
【DL輪読会】時系列予測 Transfomers の精度向上手法
PDF
不均衡データのクラス分類
Crfと素性テンプレート
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]逆強化学習とGANs
最適輸送の解き方
変分推論法(変分ベイズ法)(PRML第10章)
【DL輪読会】時系列予測 Transfomers の精度向上手法
不均衡データのクラス分類

What's hot (20)

PPTX
深層学習の数理:カーネル法, スパース推定との接点
PDF
機械学習モデルのハイパパラメータ最適化
PPTX
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
PDF
Newman アルゴリズムによるソーシャルグラフのクラスタリング
PDF
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
PDF
PRML8章
PPTX
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
PPTX
[DL輪読会]A closer look at few shot classification
PDF
最適輸送入門
PPTX
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
PPTX
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
PDF
ノンパラベイズ入門の入門
PDF
cvpaper.challenge 研究効率化 Tips
PDF
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
PPTX
【DL輪読会】Scaling Laws for Neural Language Models
PDF
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
PDF
グラフニューラルネットワーク入門
PDF
トピックモデルの評価指標 Perplexity とは何なのか?
深層学習の数理:カーネル法, スパース推定との接点
機械学習モデルのハイパパラメータ最適化
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
Newman アルゴリズムによるソーシャルグラフのクラスタリング
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
PRML8章
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
機械学習による統計的実験計画(ベイズ最適化を中心に)
[DL輪読会]A closer look at few shot classification
最適輸送入門
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【論文紹介】How Powerful are Graph Neural Networks?
ノンパラベイズ入門の入門
cvpaper.challenge 研究効率化 Tips
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
【DL輪読会】Scaling Laws for Neural Language Models
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
グラフニューラルネットワーク入門
トピックモデルの評価指標 Perplexity とは何なのか?
Ad

Viewers also liked (8)

PPTX
勾配降下法の 最適化アルゴリズム
PDF
PPTX
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
PDF
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
PDF
20151112 kutech lecture_ishizaki_public
PDF
PRMLの線形回帰モデル(線形基底関数モデル)
PDF
線形?非線形?
PDF
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
勾配降下法の 最適化アルゴリズム
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
20151112 kutech lecture_ishizaki_public
PRMLの線形回帰モデル(線形基底関数モデル)
線形?非線形?
機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法
Ad

Similar to SGD+α: 確率的勾配降下法の現在と未来 (20)

PDF
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
PDF
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
PDF
Rパッケージ“KFAS”を使った時系列データの解析方法
PDF
OutLookAR for EKF_SLAM_Model
PDF
代数的実数とCADの実装紹介
PPT
CEDEC 2008 Imagire Day レンダリスト養成講座 2.0
PDF
HPC Phys-20201203
PPTX
Rによる富士山関数の描き方
PDF
動的計画法の並列化
ODP
ggplot2 110129
PDF
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
PDF
130604 fpgax kibayos
PDF
分割表の作図・GLM・ベイズモデル http://goo.gl/qQ1Ok
PDF
130727 nagoyar presentation
PDF
東京都市大学 データ解析入門 7 回帰分析とモデル選択 2
PDF
PPTX
TopCoder SRM614 解説
PDF
20170422 数学カフェ Part1
PDF
ggplot2 110129
PDF
行列計算を利用したデータ解析技術
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
Rパッケージ“KFAS”を使った時系列データの解析方法
OutLookAR for EKF_SLAM_Model
代数的実数とCADの実装紹介
CEDEC 2008 Imagire Day レンダリスト養成講座 2.0
HPC Phys-20201203
Rによる富士山関数の描き方
動的計画法の並列化
ggplot2 110129
[DLHacks]PyTorch, PixyzによるGenerative Query Networkの実装
130604 fpgax kibayos
分割表の作図・GLM・ベイズモデル http://goo.gl/qQ1Ok
130727 nagoyar presentation
東京都市大学 データ解析入門 7 回帰分析とモデル選択 2
TopCoder SRM614 解説
20170422 数学カフェ Part1
ggplot2 110129
行列計算を利用したデータ解析技術

More from Hidekazu Oiwa (11)

PDF
NIPS2014読み会 NIPS参加報告
PDF
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
PDF
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
PDF
PoisoningAttackSVM (ICMLreading2012)
PDF
OnlineClassifiers
PDF
PDF
IBMModel2
PDF
Pfi last seminar
PDF
NLPforml5
PDF
PPTX
NIPS2014読み会 NIPS参加報告
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
PoisoningAttackSVM (ICMLreading2012)
OnlineClassifiers
IBMModel2
Pfi last seminar
NLPforml5

SGD+α: 確率的勾配降下法の現在と未来