Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dl hacks輪読: "Unifying distillation and privileged information"

1,485 views

Published on

輪読, Vapnik, 蒸留, ICLR2016, privileged information, 特権情報, DL Hacks, 機械学習,

Published in: Technology
  • Be the first to comment

Dl hacks輪読: "Unifying distillation and privileged information"

  1. 1. [DL Hacks, Paper Reading]: Unifying distillation and privileged information 2016.03.18 D2 岩澤
  2. 2. 書誌情報など • David Lopez-Paz, Léon Bottou, Bernhard Schölkopf, Vladimir Vapnik • ICLR 2016 • #Citation: 1 • Machines-Teaching-Machinesのパラダイムの中で 蒸留を説明した論文 • Conclusionの章がない論文 • 注)前提知識が大量に必要 • 特権情報、蒸留、統計的学習理論、Causal Learning • 適宜(私がわかる範囲で)補完しながらしゃべります
  3. 3. Main Theme:Machines-Teaching-Machines • 人間は機械より早く学習することができる • なぜか? • 1つの答えが、「良い教師」がいるから • “better than a thousand days of diligent study is one day with a great teacher” • 「千日の勤学より一時の名匠」 • RQ: 機械にも「良い教師」がいれば効率的に学習で きるのでは?
  4. 4. 本発表の構成 1. 前提知識:LUPIと蒸留 どちらも「教師」の存在をベースにした枠組み/手法 2. 蒸留とLUPIを統合 -> Generalized Distillation(一般化蒸留)を定義 3. 蒸留がうまくいく理由の1つの理論的な分析 1. なぜ生徒モデルが効率よく学習できるのか 4. 一般化蒸留とその他の領域の関係 1. 一般化蒸留が様々な問題を包括する手法であることを示す 5. 様々な実験化で一般化蒸留がうまくいくかを検証
  5. 5. Background: Learning Using Privileged Information (LUPI) Classical Setting Cancers Healthy • CT画像Xからある患者が ガンかどうか予想する • 期待損失を最小化する • 教師という概念がない LUPI [Vapnik 2009] Cancers Healthy • CT画像の他にカルテ情報 (特権情報)を教える • 期待損失最小化の点では同じ • X*を教師が与えると考える Xi Xi X* i yi yi ※f: 学習する関数、y:理想的な出力
  6. 6. Background: Distillation (Dark Knowledge) [Hinton, 2015] 教師モデル (Teacher Model) • より柔軟 • 典型的にはパラメタが多い • 普通に1-Hotのラベル (ハードターゲット)で学習 生徒モデル (Student Model) y • よりシンプル • 典型的にはパラメタが少ない • ハードターゲットと、教師モデルから得られ るソフトターゲットとの誤差関数を最適化 • 教師を真似ることで効率よく学習 y Lh Lh 蒸留 Ls
  7. 7. LUPIと蒸留の共通点 LUPI カルテのように、情報量の大きな 情報(特権情報)がある場合にど う効率的に学ぶかの方法論 蒸留 学習済みのモデル(教師モデル) から蒸留した知識を利用して効率 的に学習を行う手法 自分より該当タスクに詳しい 「教師」から与えられる情報を うまく活用するための方法と 言う点では共通 2つを統合したGeneralized Distillationを 提案、分析
  8. 8. 統合することの利点 1. 特権情報の枠組みで使われていた理論 (計算論的学習理論)を蒸留の分析に使える 2. 様々な問題設定に拡張可能 1. 半教師あり学習 2. Learning with the Universum [Weston et al., 2006] 3. マルチタスク学習 4. カリキュラム学習(強化学習)
  9. 9. 問題設定とダメそうな方法 問題設定 • {(x, x*,y)} (i=1…n)から期待損失 を最小化する関数fsを求める • x*を使うことでより良い関数 を学習したい • どう使うか? y fs ? x x* ダメそうな方法 • 入力xから特権情報x*を予想 • 普通はクラスyを当てるよりも 難しい • バプニックの原理に反する y x x*
  10. 10. Generalized Distillation (一般化蒸留): 概要 Step 1 教師モデルftを{x*, y}を使っ て学習 Step 2 各入力に対して ソフトターゲットsを計算 Step 3 {x, y}と{x, s}を使って生徒モ デルfsを学習 y ft ft 蒸留 s fs y
  11. 11. Generalized Distillation (一般化蒸留): 式 Step 1 教師モデルftを{x*, y}を使っ て学習 Step 2 各入力に対して ソフトターゲットsを計算 Step 3 {x, y}と{x, s}を使って生徒モ デルfsを学習
  12. 12. 一般化蒸留の観点から見た Hintonの蒸留/LUPIの比較 Hintonの蒸留 1. 特権情報x*=x 2. 教師モデルの複雑さ |Ft|C >> |Fs|C LUPI 1. 特権情報x*≠x 2. 教師モデルの複雑さ |Ft|C <<|Fs|C 複雑な教師を どう活用するかに焦点 リッチな特権情報 をどう活用するかに焦点
  13. 13. 一般的なLUPIの手法との違い Similarity Control • 訓練データにおけるサンプル間 の距離を教師が制御する • SVM+[Vapnik, 2006] Knowledge Transfer • 特権情報空間の知識を分類平面 を引きたい空間に転移する • [Vapnik, 2015] • SVMに限定されている • SVM+は生徒のパラメタが2倍に 増える • SVM+は教師と生徒が同時に 学ぶ 違い/関係 概要 概要 違い/関係 • 基本的に似ている • Knowledge Transferは完全に 教師を真似する(GDは パラメタで制御できる)
  14. 14. なぜGDがうまくいくのかの理論的分析 • VC次元をベースにした理論+いくつかの仮定を置くこと で1つの説明が可能 VC Theory 学習データ数をn、仮説集合のVC次元を|F|VC、危険率をδとした時に、 ある仮説fの経験誤差Rn(f)と期待誤差R(f)の間には次の関係が成り立つ ※αが重要 α=1/2の時とα=1の時だと同精度を 達成するのに106倍のサンプルが必要
  15. 15. 一般化蒸留の理論的分析: 次の3つを仮定する 仮定1 生徒単体の場合はの係数 α=1/2(とても遅い) 仮定2 教師単体の場合はの係数 α=1(とても早い) 仮定3 生徒が教師から 教わる場合の係数をα ベイズ誤差予測誤差 近似誤差 (バイアス) 近似誤差 (バリアンス) ただし、1/2≦α≦ 1
  16. 16. 一般化蒸留の理論的分析: 蒸留した場合/しない場合の上界を比較 蒸留しない場合 蒸留する場合 上界が 「蒸留有<蒸留無」 となる条件は?
  17. 17. 一般化蒸留の理論的分析: 蒸留がうまくいく条件 i. 教師が小さい(|Ft|cが小さい) ii. 教師の推定誤差εtが生徒の推定誤差εsより小さい iii. 係数αが1/2より大きい ついでに、nが小さいときほどこの蒸留が有効であることも言える (nが無限のときはどちらもバリアンスの項を無視できるので) 蒸留がうまくいく 条件(全部が成り立つ必要はない)
  18. 18. 一般化蒸留の拡張/有効な場面 半教師あり 学習 ラベル無しの場合に 特権情報を使う ユニバーサム 学習 カリキュラム 学習 蒸留の際に ユニバーサムは無視 特権情報を重み付け に利用1 マルチタスク 学習 ソースタスクのX/yを 特権情報として使う 強化学習 模倣学習に似た形 c.f. Policy Distillation2 1. [M. P. Kumar, 2010] 2. [A. A. Rusu, 2016]
  19. 19. 数値シミュレーション: 7つの設定で実験 • 最初の4つは人工データ • 残りは実データ • MNISTで教師あり蒸留 • CIFAR10で半教師あり蒸留 • SARCOSでマルチタスク学習 • 分類器はロジスティック回帰 • 1) 普通にXとyを使って訓練した場合と、 2) X*を蒸留したものを使って学習した場合を比較
  20. 20. 実験の前提: [Schokkopf et al., 2012] Causal and Anti-causal Learning Causal Learning Anticausal Learning • 入力Xが原因、出力Yが結果と 見なせる場合(矢印が逆) • P(X)を学んでも意味がない • なのでSSLとかもうまくいかない • 入力Xが結果、出力Yが原因と 見なせる場合(矢印が逆) • P(X)を学ぶとP(Y|X)を予想しやすく なる ※詳しくは上の文献読んでください!
  21. 21. Causal Implications in GD model 一般化蒸留においては i) 特権情報がXに関する情報のみ -> うまくいかないはず ii) 特権情報にyに関する情報有り -> うまくいくはず • 入力Xが原因、出力Yが結果と 見なせる場合(矢印が逆) • P(X)を学んでも意味がない • なのでSSLとかもうまくいかない Causal Learning 人工データで確かめよう!
  22. 22. 人工データの生成方法 超平面αを 適当に引く αのどちらか でラベル付け α α y=1 y=0 Step1 d次元空間上に 適当に点をうつ Step 2 Step 3 ※xからyが決まっているのでCausal Learningの設定(たぶん)
  23. 23. 人工データでの実験 オレンジが精度改善あり、青が改善なし Case 1 X*:分離超平面までの距離 y:ノイズありのラベル Case 2 X*:ノイズなしの入力 X: ノイズありの入力 Case 3 X*:入力の一部の次元 α:X*を元に引かれた平面 Case 4 X*:入力の一部の次元 (サンプルごとに違う 88% vs. 95% 68% vs. 70% 89% vs. 97% 55% vs. 56%
  24. 24. 実際のデータでの検証: MNIST、小サンプル教師あり • 特権情報:28×28の画像、入力X: 7×7にダウンサンプルした画像 • 蒸留することで普通に学習するより精度上がる • データ数が少ない場合の方が効果が大きい ※ちなみに入力Xも28×28にするとteacherより精度出ることもあります(小サンプルでは未検証
  25. 25. 実際のデータでの検証: 半教師あり学習とマルチタスク学習にも有効 • どちらにしても普通に学習するより精度上がる • 詳しくは論文読むもしくは終わったら聞いてください!
  26. 26. Appendix: Nが小さいほど効果的な理由 • Nが大きいとどちらも無視できるから • Nが大きいとバリアンスは小さくなる 青:α=1/2の場合 赤:α=1の場合 蒸留がうまくいく

×