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