dl hacks輪読: "unifying distillation and privileged information"

26
[DL Hacks, Paper Reading]: Unifying distillation and privileged information 2016.03.18 D2 岩岩

Upload: yusuke-iwasawa

Post on 15-Apr-2017

888 views

Category:

Technology


4 download

TRANSCRIPT

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

[DL Hacks, Paper Reading]:Unifying distillation and privileged

information

2016.03.18 D2 岩澤

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

書誌情報など•David Lopez-Paz, Léon Bottou, Bernhard Schölkopf, Vladimir Vapnik• ICLR 2016•#Citation: 1•Machines-Teaching-Machines のパラダイムの中で蒸留を説明した論文• Conclusion の章がない論文• 注)前提知識が大量に必要• 特権情報、蒸留、統計的学習理論、 Causal Learning• 適宜(私がわかる範囲で)補完しながらしゃべります

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

Main Theme : Machines-Teaching-Machines•人間は機械より早く学習することができる•なぜか?• 1つの答えが、「良い教師」がいるから• “better than a thousand days of diligent study is one day with a great teacher”• 「千日の勤学より一時の名匠」

•RQ: 機械にも「良い教師」がいれば効率的に学習できるのでは?

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

本発表の構成1. 前提知識: LUPI と蒸留どちらも「教師」の存在をベースにした枠組み / 手法2. 蒸留と LUPI を統合

-> Generalized Distillation (一般化蒸留)を定義3. 蒸留がうまくいく理由の 1 つの理論的な分析1. なぜ生徒モデルが効率よく学習できるのか4. 一般化蒸留とその他の領域の関係1. 一般化蒸留が様々な問題を包括する手法であることを示す5. 様々な実験化で一般化蒸留がうまくいくかを検証

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

Background: Learning Using Privileged Information (LUPI)

Classical Setting

Cancers

Healthy

• CT 画像 X からある患者がガンかどうか予想する• 期待損失を最小化する• 教師という概念がない

LUPI [Vapnik 2009]

Cancers

Healthy

• CT 画像の他にカルテ情報(特権情報)を教える• 期待損失最小化の点では同じ• X* を教師が与えると考える

XiXi

X*i

yi

yi

※f: 学習する関数、 y: 理想的な出力

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

Background: Distillation (Dark Knowledge)[Hinton, 2015]

教師モデル (Teacher Model)

• より柔軟• 典型的にはパラメタが多い

• 普通に 1-Hot のラベル(ハードターゲット)で学習

生徒モデル (Student Model)

y

• よりシンプル• 典型的にはパラメタが少ない

• ハードターゲットと、教師モデルから得られるソフトターゲットとの誤差関数を最適化• 教師を真似ることで効率よく学習

yLh Lh

蒸留 Ls

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

LUPI と蒸留の共通点LUPI

カルテのように、情報量の大きな情報(特権情報)がある場合にどう効率的に学ぶかの方法論

蒸留学習済みのモデル(教師モデル)から蒸留した知識を利用して効率的に学習を行う手法

自分より該当タスクに詳しい「教師」から与えられる情報をうまく活用するための方法と言う点では共通

2 つを統合した Generalized Distillation を提案、分析

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

統合することの利点1. 特権情報の枠組みで使われていた理論(計算論的学習理論)を蒸留の分析に使える2. 様々な問題設定に拡張可能1. 半教師あり学習

2. Learning with the Universum [Weston et al., 2006]3. マルチタスク学習4. カリキュラム学習(強化学習)

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

問題設定とダメそうな方法問題設定

• {(x, x*,y)} (i=1…n) から期待損失を最小化する関数 fs を求める• x* を使うことでより良い関数を学習したい• どう使うか?

yfs

?x

x*

ダメそうな方法• 入力 x から特権情報 x* を予想• 普通はクラス y を当てるよりも難しい• バプニックの原理に反する

y

x x*

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

Generalized Distillation ( 一般化蒸留 ): 概要Step 1 教師モデル ft を {x*, y} を使って学習

Step 2 各入力に対してソフトターゲット s を計算

Step 3 {x, y} と {x, s} を使って生徒モデル fs を学習

yft

ft 蒸留s

fs y

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

Generalized Distillation ( 一般化蒸留 ): 式Step 1 教師モデル ft を {x*, y} を使って学習

Step 2 各入力に対してソフトターゲット s を計算

Step 3 {x, y} と {x, s} を使って生徒モデル fs を学習

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

一般化蒸留の観点から見たHinton の蒸留 /LUPI の比較

Hintonの蒸留1. 特権情報 x*=x2. 教師モデルの複雑さ|Ft|C >> |Fs|C

LUPI1. 特権情報 x*≠x2. 教師モデルの複雑さ

|Ft|C <<|Fs|C

複雑な教師をどう活用するかに焦点 リッチな特権情報をどう活用するかに焦点

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

一般的な LUPI の手法との違いSimilarity Control

• 訓練データにおけるサンプル間の距離を教師が制御する• SVM+[Vapnik, 2006]

Knowledge Transfer

• 特権情報空間の知識を分類平面を引きたい空間に転移する• [Vapnik, 2015]

• SVM に限定されている• SVM+ は生徒のパラメタが 2倍に増える• SVM+ は教師と生徒が同時に学ぶ

違い /関係

概要 概要

違い /関係• 基本的に似ている• Knowledge Transfer は完全に教師を真似する( GD はパラメタで制御できる)

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

なぜ GD がうまくいくのかの理論的分析• VC次元をベースにした理論 + いくつかの仮定を置くことで 1 つの説明が可能VC Theory学習データ数を n 、仮説集合の VC次元を |F|VC 、危険率を δ とした時に、ある仮説 f の経験誤差 Rn(f) と期待誤差 R(f) の間には次の関係が成り立つ ※α が重要

α=1/2 の時と α=1 の時だと同精度を達成するのに 106倍のサンプルが必要

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

一般化蒸留の理論的分析 : 次の 3 つを仮定する仮定 1 生徒単体の場合はの係数

α=1/2 (とても遅い)仮定 2 教師単体の場合はの係数

α=1 (とても早い)仮定 3 生徒が教師から教わる場合の係数を α

ベイズ誤差予測誤差

近似誤差(バイアス)近似誤差(バリアンス)

ただし、 1/2≦α≦ 1

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

一般化蒸留の理論的分析 :蒸留した場合 / しない場合の上界を比較蒸留しない場合

蒸留する場合 上界が「蒸留有< 蒸留無」となる条件は?

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

一般化蒸留の理論的分析 :蒸留がうまくいく条件

i. 教師が小さい( |Ft|c が小さい)ii. 教師の推定誤差 εt が生徒の推定誤差 εs より小さいiii. 係数 α が 1/2 より大きいついでに、 n が小さいときほどこの蒸留が有効であることも言える( n が無限のときはどちらもバリアンスの項を無視できるので)

蒸留がうまくいく

条件(全部が成り立つ必要はない)

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

一般化蒸留の拡張 /有効な場面半教師あり学習 ラベル無しの場合に特権情報を使う

ユニバーサム学習カリキュラム学習

蒸留の際にユニバーサムは無視

特権情報を重み付けに利用 1

マルチタスク学習ソースタスクの X/yを特権情報として使う

強化学習 模倣学習に似た形c.f. Policy

Distillation2

1. [M. P. Kumar, 2010]2. [A. A. Rusu, 2016]

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

数値シミュレーション :7 つの設定で実験•最初の 4 つは人工データ•残りは実データ• MNIST で教師あり蒸留• CIFAR10 で半教師あり蒸留• SARCOS でマルチタスク学習

•分類器はロジスティック回帰• 1) 普通に X と y を使って訓練した場合と、2) X* を蒸留したものを使って学習した場合を比較

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

実験の前提 : [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) を予想しやすくなる

※詳しくは上の文献読んでください!

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

Causal Implications in GD model一般化蒸留においてはi) 特権情報が X に関する情報のみ-> うまくいかないはずii) 特権情報に y に関する情報有り-> うまくいくはず

• 入力 X が原因、出力 Y が結果と見なせる場合(矢印が逆)• P(X) を学んでも意味がない• なので SSL とかもうまくいかない

Causal Learning

人工データで確かめよう!

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

人工データの生成方法超平面 α を適当に引く α のどちらかでラベル付け

α α

y=1

y=0

Step1d次元空間上に適当に点をうつ

Step 2 Step 3

※x から y が決まっているので Causal Learning の設定(たぶん)

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

人工データでの実験オレンジが精度改善あり、青が改善なし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%

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

実際のデータでの検証 : MNIST 、小サンプル教師あり

• 特権情報 :28×28 の画像、入力 X: 7×7 にダウンサンプルした画像• 蒸留することで普通に学習するより精度上がる• データ数が少ない場合の方が効果が大きい

※ちなみに入力 X も 28×28 にすると teacher より精度出ることもあります(小サンプルでは未検証

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

実際のデータでの検証 :半教師あり学習とマルチタスク学習にも有効

• どちらにしても普通に学習するより精度上がる• 詳しくは論文読むもしくは終わったら聞いてください!

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

Appendix:N が小さいほど効果的な理由

• N が大きいとどちらも無視できるから• N が大きいとバリアンスは小さくなる青: α=1/2 の場合赤: α=1 の場合

蒸留がうまくいく