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

8,012 views

Published on

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

Published in: Technology

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

  1. 1. ICML2013読み会: Distributed training of Large- scale Logistic models 2013-07-09 読む人: Yoshihiko Suhara @sleepy_yoshi 1
  2. 2. 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枚概要
  3. 3. イントロ 3
  4. 4. クラス数が大規模な多クラス分類問題 • 世の中にはクラス数が大規模な多クラス分類問題がけっ こうごろごろしている – e.g., Open Directory Project (100万規模のカテゴリ), Wikipedia • 正則化付き多クラスロジスティック回帰 (Regularized Multinomial Logistic Regression; RMLR) – マルチクラス分類のひとつの選択肢 – メリット: • 出力が確率値 • ちゃんとしたマルチクラス分類 (cf. SVMのMaxWins) – 補足: ロジスティック回帰の場合には線形分離が可能な場合, 重みベクトルが無限に大きくなってしまうため,正則化が必要 4
  5. 5. 多クラスロジスティック回帰の学習 • 以下のような選択肢がある – (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]など) 5Daume III, H. Notes on cg and lm-bfgs optimization of logistic regression. 2004.
  6. 6. 注意: 東大計数の近くで大きな声で逆行列と 発言しない方がいいかもしれません ※(正確には逆行列をそのまま求める,ですが) 6
  7. 7. LBFGSの限界 • しかしながら大規模なデータセットにおいてはLBFGS の適用には限界 – 理由1. パラメータ分散の並列計算が不可能 • ※勾配計算を並列化することは可能.これは実験で検証 – 理由2. 直線探索と損失関数評価の繰り返しが必要であ るため,パラメータを全て保持しておく必要 • 今回の実験ではパラメータだけで最大17GBのものに適用 – 理由3. L-BFGSでは過去の勾配情報を保持しておく必要 • たとえば過去5回分を保持するだけで17GBx5=85GB必要  7
  8. 8. オンライン学習は? • もちろん適用可能 – e.g., Stochastic Gradient Descent • ただ,今回はクラス数が大規模な状況におい て全データを用いたバッチ学習を想定するの で比較はしない 8
  9. 9. Large-scale RMLRの学習 9
  10. 10. RMLRの学習 • 多クラスロジスティック回帰 – 特徴次元長の重みベクトル𝒘 𝒌(𝒌 = 𝟏, … , 𝑲) をKクラス分保持 • 尤度と損失関数は以下のとおり 10 (1) log-partition function (log-sum-exp) を並列可能な関数に置き換えられるだろうか? (2) その関数はlog-partition function の上界になるのだろうか? logの中にKクラス分のexpが入っているため, このままでは並列計算不可能  Research question ※ 𝑦𝑖𝑘 = 𝐼(𝑡𝑖 = 𝑘) 負の対数尤度↓↓正則化 全クラス分を併せて 対数を取る なんかコレを並列計算したいナー
  11. 11. 補足: log-sum-exp は凸関数 • こんな感じにパラメータに対して凸関数 (証明略) – 例) log exp 𝑥 + exp 2𝑥 + exp 3𝑥 11 -4 -2 0 2 4 -5051015 x logsumexp(x)
  12. 12. (A) Piece-wise bounds • Piece-wise bound [Hsiung 08] • 適用が困難な理由 – 理由1. パラメータ探索が困難 – 理由2. クラス単位のパラメータに分散不可能 – 理由3. 目的関数が微分不可能 12(・A・)イクナイ!! -4 -2 0 2 4 -5051015 x logsumexp(x) こんな感じに線形関数の 組み合わせでbound ※ 下の方だけ maxとる前の関数を表示
  13. 13. (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クラスの和で計算並列化可能! 今回のイチオシ!
  14. 14. 図解: Log-concavity bound • こんな感じ (𝑎 = 1, … , 5) – i.e., 𝑎 = 1 𝛾 のとき一致 14 0 1 2 3 4 5 -2024 x log(x) 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024 0 1 2 3 4 5 -2024
  15. 15. (B) Log-concavity bound (2/2) • この上界を用いる場合,各クラスのパラメータ𝑤 𝑘は以下の最適化 問題となる argmin 𝑤 𝑘 𝜆 2 𝑤 𝑘 2 − 𝑦𝑖𝑘 𝑁 𝑖=1 𝑤 𝑘 𝑇 𝑥𝑖 + 𝑎𝑖 exp(𝑤 𝑘 𝑇 𝑥𝑖) 𝑁 𝑖=1 • 利点  – 理由1. 𝑤 𝑘で並列化可能 • 𝑎𝑖が固定されていれば,クラス数K個の損失関数に分解できる – 理由2. 閉形式で𝑎𝑖を求めることができる – 理由3. 微分可能 • ただひとつの欠点  – 凸じゃない 凸じゃない 凸じゃない... 15そんな上界で大丈夫か?  大丈夫だ,問題ない 𝑤 𝑘に関係のない部分は無視
  16. 16. Log-concavity boundを用いた損失関数と それが大丈夫な理由 • 以下の3つを示すことによって保証 (詳しい証明は略) – 1. OPT2の停留点がただひとつであること – 2. その停留点がOPT1の最適解と一致すること – 3. Block coordinate descentによって停留点に収束すること 16 本研究のポイント (・∀・)イイ!! • Log-concavity bound を用いた損失関数
  17. 17. OPT2の停留点を求める • 2. の導出 – 停留点の一次条件すなわち勾配が0になる点においてOPT1と一致 – 停留点がOPT1と一致.OPT1は凸関数であるため,停留点は大域的最適解 – これよりOPT2の停留点はOPT1の大域的最適解と一致 17  𝑎𝑖は閉形式で求まる なんか見たことある.そうだ多クラスロジスティック回帰の勾配だ!
  18. 18. Block coordinate descent algorithm • 以下の繰り返し – クラス毎のパラメータを並列計算 – 各データに対応する 𝑎𝑖 を求める 18  クラス数分並列計算  𝑎𝑖に関しては同期計算
  19. 19. (C) Double majorization bound • こんなbound [Bouchard 07] log exp 𝑤 𝑘 𝑇 𝑥𝑖 𝐾 𝑖=1 ≤ 𝑎𝑖 + log 1 + exp 𝑤 𝑘 𝑇 𝑥𝑖 − 𝑎𝑖 𝐾 𝑘=1 • 3つの利点  – コイツは並列化可能 – 微分可能 – なんと凸関数! 凸関数! 凸関数! 19 クラス毎に分散計算が可能
  20. 20. 実データでの検証結果 • 元の損失関数とのギャップが大きい  – 上界として緩すぎる (・A・)イクナイ!!
  21. 21. (D) 拡張ラグランジュ法 (1/2) • Alternating Direction Method of Multipliers (ADMM) – 拡張ラグランジュ法の一種 • 複数の損失関数の和に分解可能な最適化問題に対して,冗長な 変数を導入して並列計算可能にする手法 21
  22. 22. (D) 拡張ラグランジュ法 (2/2) • RMLRにADMMを適用 22 , 𝒛 1つのデータに対する損失関数 以下の繰り返しで最適化: 𝑊に関する最小化𝑧に関する最小化ラグランジュ関数に関する最小化
  23. 23. ADMMが適さない3つの理由 • 本タスクにADMMが適さない3つの理由 – 理由1. 分解後の計算量がlog-concavity boundに比 べて大きい – 理由2. 変数𝑍 (𝑧𝑖𝑘が𝑤 𝑘 𝑇 𝑥𝑖に対応) 導入によってメモリ コストが𝑂(𝑁)から𝑂(𝑁𝐾)に増加 – 理由3. ADMMは収束が遅い [Boyd 11] • 実験的にも検証 23 (・A・)イクナイ!!
  24. 24. ここまでのまとめ 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を用いた方法によって比較手 法に比べて最も高速に最適解に収束することを検証 [貢献]
  25. 25. 実験 25
  26. 26. 4つのデータセット 4つの比較手法 • 4つのデータセット 26 • 4つの比較手法 – ADMM – LC: Log-concavity (提案手法) – LBFGS: 勾配の計算を並列化 – DM: Double Majorization 15.9GiBfloat (32bit)
  27. 27. 実験条件 • メモリ共有コア分散とマシン分散の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
  28. 28. 28 ※両対数であることに注意 結果 (1/2)
  29. 29. 29 ※両対数であることに注意 結果 (1/2) イテレーション数では LBFGSが一番よい LCとBFGSのみが実用時間で収束
  30. 30. 30 結果 (2/2) LCはパラメータサイズが17GBの データセットにもスケール ※ LBFGSは実用時間で動作せず LC以外の方法は検証せず
  31. 31. 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枚概要 (再掲)
  32. 32. 感想 • Logistic Regressionのバッチ学習,オンライン 学習でどの程度性能に差があるのだろうか? – 損失関数の収束具合 ≠ モデル精度 • 勉強になった (小学生並みの感想) • ちょっと試してみたい 32
  33. 33. おしまい 33

×