icml2013読み会: distributed training of large-scale logistic models

33
ICML2013読み会: Distributed training of Large- scale Logistic models 2013-07-09 読む人: Yoshihiko Suhara @sleepy_yoshi 1

Upload: sleepyyoshi

Post on 04-Jul-2015

6.268 views

Category:

Technology


3 download

DESCRIPTION

ICML2013読み会 Distributed training of Large-scale Logistic models の発表資料

TRANSCRIPT

Page 1: ICML2013読み会: Distributed training of Large-scale Logistic models

ICML2013読み会: Distributed training of Large-

scale Logistic models

2013-07-09

読む人: Yoshihiko Suhara

@sleepy_yoshi

1

Page 2: ICML2013読み会: Distributed training of Large-scale Logistic models

Distributed training of Large-scale Logistic models by SiddharthGopal and Yiming Yang (Carnegie Mellon Univ.)

• タスク: クラス数が大規模な多クラスロジスティック回帰の分散学習 – 損失関数を分割できないため,そのままでは分散学習ができない

• 本研究では3つの上界,拡張ラグランジュ法の適用を検討

– (A) Piece-wise Bounds (・A・)イクナイ!! – (B) Log-concavity bound (・∀・)イイ!!

• 上界の最適解が元の損失関数の最適解に一致することを証明 [貢献] • Block-coordinate descent を用いて収束することを証明 [貢献]

– (C) Double majorization bound (・A・)イクナイ!! – (D) 拡張ラグランジュ法 (ADMM) は? (・A・)イクナイ!!

• 実データにおいてLog-concavity boundを用いた方法によって比較手法に比べて最も高速に最適解に収束することを検証 [貢献]

2

1枚概要

Page 3: ICML2013読み会: Distributed training of Large-scale Logistic models

イントロ

3

Page 4: ICML2013読み会: Distributed training of Large-scale Logistic models

クラス数が大規模な多クラス分類問題

• 世の中にはクラス数が大規模な多クラス分類問題がけっこうごろごろしている – e.g., Open Directory Project (100万規模のカテゴリ), Wikipedia

• 正則化付き多クラスロジスティック回帰 (Regularized Multinomial Logistic Regression; RMLR) – マルチクラス分類のひとつの選択肢 – メリット:

• 出力が確率値 • ちゃんとしたマルチクラス分類 (cf. SVMのMaxWins)

– 補足: ロジスティック回帰の場合には線形分離が可能な場合,重みベクトルが無限に大きくなってしまうため,正則化が必要

4

Page 5: ICML2013読み会: Distributed training of Large-scale Logistic models

多クラスロジスティック回帰の学習

• 以下のような選択肢がある – (1) first order method (e.g., 最急降下法)

• ステップサイズの調整が大変 • 収束が遅い

– (2) second order methods (e.g., Newton法) • 収束が速い • ヘッセ行列の逆行列を求めるのが困難 (無理)

– (3) 準ニュートン法 (e.g., BFGS, LBFGS) • 少ない計算コストでそこそこ収束が速い • 速度,メモリの観点からLogistic modelsにおけるbest choiceな最適化手法 ([Daume III 04]など)

5 Daume III, H. Notes on cg and lm-bfgs optimization of logistic regression. 2004.

Page 6: ICML2013読み会: Distributed training of Large-scale Logistic models

注意: 東大計数の近くで大きな声で逆行列と 発言しない方がいいかもしれません

※(正確には逆行列をそのまま求める,ですが)

6

Page 7: ICML2013読み会: Distributed training of Large-scale Logistic models

LBFGSの限界

• しかしながら大規模なデータセットにおいてはLBFGSの適用には限界

– 理由1. パラメータ分散の並列計算が不可能 • ※勾配計算を並列化することは可能.これは実験で検証

– 理由2. 直線探索と損失関数評価の繰り返しが必要であるため,パラメータを全て保持しておく必要 • 今回の実験ではパラメータだけで最大17GBのものに適用

– 理由3. L-BFGSでは過去の勾配情報を保持しておく必要 • たとえば過去5回分を保持するだけで17GBx5=85GB必要

7

Page 8: ICML2013読み会: Distributed training of Large-scale Logistic models

オンライン学習は?

• もちろん適用可能

– e.g., Stochastic Gradient Descent

• ただ,今回はクラス数が大規模な状況において全データを用いたバッチ学習を想定するので比較はしない

8

Page 9: ICML2013読み会: Distributed training of Large-scale Logistic models

Large-scale RMLRの学習

9

Page 10: ICML2013読み会: Distributed training of Large-scale Logistic models

RMLRの学習 • 多クラスロジスティック回帰

– 特徴次元長の重みベクトル𝒘𝒌(𝒌 = 𝟏,… ,𝑲) をKクラス分保持

• 尤度と損失関数は以下のとおり

10

(1) log-partition function (log-sum-exp) を並列可能な関数に置き換えられるだろうか? (2) その関数はlog-partition function の上界になるのだろうか?

logの中にKクラス分のexpが入っているため, このままでは並列計算不可能

Research question

※ 𝑦𝑖𝑘 = 𝐼(𝑡𝑖 = 𝑘)

負の対数尤度↓ ↓正則化

全クラス分を併せて 対数を取る

なんかコレを並列計算したいナー

Page 11: ICML2013読み会: Distributed training of Large-scale Logistic models

補足: log-sum-exp は凸関数

• こんな感じにパラメータに対して凸関数 (証明略) – 例) log exp 𝑥 + exp 2𝑥 + exp 3𝑥

11

-4 -2 0 2 4

-50

510

15

x

logsum

exp(x

)

Page 12: ICML2013読み会: Distributed training of Large-scale Logistic models

(A) Piece-wise bounds

• Piece-wise bound [Hsiung 08]

• 適用が困難な理由 – 理由1. パラメータ探索が困難 – 理由2. クラス単位のパラメータに分散不可能 – 理由3. 目的関数が微分不可能

12 (・A・)イクナイ!!

-4 -2 0 2 4

-50

510

15

x

logsum

exp(x

)

こんな感じに線形関数の 組み合わせでbound

※ 下の方だけ maxとる前の関数を表示

Page 13: ICML2013読み会: Distributed training of Large-scale Logistic models

(B) Log-concavity bound (1/2)

• 凹関数の1次の条件により log(𝛾) ≤ 𝑎𝛾 − log 𝑎 − 1 ∀𝛾, 𝑎 > 0

– 補足: 凹関数の1次の条件 𝑓 𝑦 ≤ 𝑓 𝑥 + 𝛻𝑥𝑓 𝑥 𝑦 − 𝑥 において

𝑦 = 𝛾, 𝑥 =1

𝑎 とする

• 𝛾を exp 𝑤𝑘𝑇𝑥𝑖

𝐾𝑘=1 に置き換えるとi番目のデータに対する

log-sum-exp部分は以下の上界で抑えられる

log exp 𝑤𝑘𝑇𝑥𝑖

𝐾

𝑘=1

≤ 𝑎𝑖 exp 𝑤𝑘𝑇𝑥𝑖

𝐾

𝑘=1

− log 𝑎𝑖 − 1

13

𝑥 𝑦

𝛻𝑥𝑓 𝑥 𝑦 − 𝑥

kクラスの和で計算並列化可能!

今回のイチオシ!

Page 14: ICML2013読み会: Distributed training of Large-scale Logistic models

図解: Log-concavity bound

• こんな感じ (𝑎 = 1,… , 5)

– i.e., 𝑎 =1

𝛾 のとき一致

14

0 1 2 3 4 5

-20

24

x

log(x

)

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

0 1 2 3 4 5

-20

24

Page 15: ICML2013読み会: Distributed training of Large-scale Logistic models

(B) Log-concavity bound (2/2)

• この上界を用いる場合,各クラスのパラメータ𝑤𝑘は以下の最適化問題となる

argmin𝑤𝑘 𝜆

2𝑤𝑘2 − 𝑦𝑖𝑘

𝑁

𝑖=1

𝑤𝑘𝑇𝑥𝑖 + 𝑎𝑖 exp(𝑤𝑘

𝑇𝑥𝑖)

𝑁

𝑖=1

• 利点

– 理由1. 𝑤𝑘で並列化可能 • 𝑎𝑖が固定されていれば,クラス数K個の損失関数に分解できる

– 理由2. 閉形式で𝑎𝑖を求めることができる – 理由3. 微分可能

• ただひとつの欠点 – 凸じゃない 凸じゃない 凸じゃない...

15 そんな上界で大丈夫か? 大丈夫だ,問題ない

𝑤𝑘に関係のない部分は無視

Page 16: ICML2013読み会: Distributed training of Large-scale Logistic models

Log-concavity boundを用いた損失関数と それが大丈夫な理由

• 以下の3つを示すことによって保証 (詳しい証明は略) – 1. OPT2の停留点がただひとつであること – 2. その停留点がOPT1の最適解と一致すること – 3. Block coordinate descentによって停留点に収束すること

16

本研究のポイント

(・∀・)イイ!!

• Log-concavity bound を用いた損失関数

Page 17: ICML2013読み会: Distributed training of Large-scale Logistic models

OPT2の停留点を求める

• 2. の導出 – 停留点の一次条件すなわち勾配が0になる点においてOPT1と一致 – 停留点がOPT1と一致.OPT1は凸関数であるため,停留点は大域的最適解 – これよりOPT2の停留点はOPT1の大域的最適解と一致

17

𝑎𝑖は閉形式で求まる

なんか見たことある.そうだ多クラスロジスティック回帰の勾配だ!

Page 18: ICML2013読み会: Distributed training of Large-scale Logistic models

Block coordinate descent algorithm

• 以下の繰り返し – クラス毎のパラメータを並列計算 – 各データに対応する 𝑎𝑖 を求める

18

クラス数分並列計算

𝑎𝑖に関しては同期計算

Page 19: ICML2013読み会: Distributed training of Large-scale Logistic models

(C) Double majorization bound

• こんなbound [Bouchard 07]

log exp 𝑤𝑘𝑇𝑥𝑖

𝐾

𝑖=1

≤ 𝑎𝑖 + log 1 + exp 𝑤𝑘𝑇𝑥𝑖 − 𝑎𝑖

𝐾

𝑘=1

• 3つの利点

– コイツは並列化可能

–微分可能

–なんと凸関数! 凸関数! 凸関数!

19

クラス毎に分散計算が可能

Page 20: ICML2013読み会: Distributed training of Large-scale Logistic models

実データでの検証結果

• 元の損失関数とのギャップが大きい – 上界として緩すぎる

(・A・)イクナイ!!

Page 21: ICML2013読み会: Distributed training of Large-scale Logistic models

(D) 拡張ラグランジュ法 (1/2)

• Alternating Direction Method of Multipliers (ADMM) – 拡張ラグランジュ法の一種

• 複数の損失関数の和に分解可能な最適化問題に対して,冗長な変数を導入して並列計算可能にする手法

21

Page 22: ICML2013読み会: Distributed training of Large-scale Logistic models

(D) 拡張ラグランジュ法 (2/2)

• RMLRにADMMを適用

22

, 𝒛

1つのデータに対する損失関数

以下の繰り返しで最適化: 𝑊に関する最小化𝑧に関する最小化ラグランジュ関数に関する最小化

Page 23: ICML2013読み会: Distributed training of Large-scale Logistic models

ADMMが適さない3つの理由

• 本タスクにADMMが適さない3つの理由 – 理由1. 分解後の計算量がlog-concavity boundに比べて大きい

– 理由2. 変数𝑍 (𝑧𝑖𝑘が𝑤𝑘𝑇𝑥𝑖に対応) 導入によってメモリ

コストが𝑂(𝑁)から𝑂(𝑁𝐾)に増加 – 理由3. ADMMは収束が遅い [Boyd 11]

• 実験的にも検証

23 (・A・)イクナイ!!

Page 24: ICML2013読み会: Distributed training of Large-scale Logistic models

ここまでのまとめ

24

↑ここまで説明

あとは実験結果を説明して終わり

• タスク: クラス数が大規模な多クラスロジスティック回帰の分散学習 – 損失関数を分割できないため,そのままでは分散学習ができない

• 本研究では3つの上界,拡張ラグランジュ法の適用を検討

– (A) Piece-wise Bounds (・A・)イクナイ!! – (B) Log-concavity bound (・∀・)イイ!!

• 上界の最適解が元の損失関数の最適解に一致することを証明 [貢献] • Block-coordinate descent を用いて収束することを証明 [貢献]

– (C) Double majorization bound (・A・)イクナイ!! – (D) 拡張ラグランジュ法 (ADMM) は? (・A・)イクナイ!!

• 実データにおいてLog-concavity boundを用いた方法によって比較手法に比べて最も高速に最適解に収束することを検証 [貢献]

Page 25: ICML2013読み会: Distributed training of Large-scale Logistic models

実験

25

Page 26: ICML2013読み会: Distributed training of Large-scale Logistic models

4つのデータセット 4つの比較手法

• 4つのデータセット

26

• 4つの比較手法 – ADMM

– LC: Log-concavity (提案手法)

– LBFGS: 勾配の計算を並列化

– DM: Double Majorization

15.9GiB float (32bit)

Page 27: ICML2013読み会: Distributed training of Large-scale Logistic models

実験条件

• メモリ共有コア分散とマシン分散の2つの分散方式で検証

– (1) Single machine (48 core 32GB RAM)

• For CLEF, NEWS20, LSHTC-small

– (2) Hadoop 0.20.2 + 64 workers (8 core 16GB RAM)

• For LSHTC-large

27

Page 28: ICML2013読み会: Distributed training of Large-scale Logistic models

28

※両対数であることに注意 結果 (1/2)

Page 29: ICML2013読み会: Distributed training of Large-scale Logistic models

29

※両対数であることに注意 結果 (1/2)

イテレーション数では LBFGSが一番よい

LCとBFGSのみが実用時間で収束

Page 30: ICML2013読み会: Distributed training of Large-scale Logistic models

30

結果 (2/2)

LCはパラメータサイズが17GBの データセットにもスケール

※ LBFGSは実用時間で動作せず LC以外の方法は検証せず

Page 31: ICML2013読み会: Distributed training of Large-scale Logistic models

Distributed training of Large-scale Logistic models by SiddharthGopal and Yiming Yang (Carnegie Mellon Univ.)

• タスク: クラス数が大規模な多クラスロジスティック回帰の分散学習 – 損失関数を分割できないため,そのままでは分散学習ができない

• 本研究では3つの上界,拡張ラグランジュ法の適用を検討

– (A) Piece-wise Bounds (・A・)イクナイ!! – (B) Log-concavity bound (・∀・)イイ!!

• 上界の最適解が元の損失関数の最適解に一致することを証明 [貢献] • Block-coordinate descent を用いて収束することを証明 [貢献]

– (C) Double majorization bound (・A・)イクナイ!! – (D) 拡張ラグランジュ法 (ADMM) は? (・A・)イクナイ!!

• 実データにおいてLog-concavity boundを用いた方法によって比較手法に比べて最も高速に最適解に収束することを検証 [貢献]

31

まとめ 1枚概要 (再掲)

Page 32: ICML2013読み会: Distributed training of Large-scale Logistic models

感想

• Logistic Regressionのバッチ学習,オンライン学習でどの程度性能に差があるのだろうか?

–損失関数の収束具合 ≠ モデル精度

• 勉強になった (小学生並みの感想)

• ちょっと試してみたい

32

Page 33: ICML2013読み会: Distributed training of Large-scale Logistic models

おしまい

33