[dl hacks] learning transferable features with deep adaptation networks

23
Learning Transferable Features with Deep Adaptation Networks DL Hacks Paper Reading 2015.11.05 D2 Yusuke IWASAWA

Upload: yusuke-iwasawa

Post on 15-Apr-2017

690 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Learning Transferable Features with Deep Adaptation Networks

DL Hacks Paper Reading2015.11.05 D2 Yusuke IWASAWA

Page 2: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

書誌情報• “Learning Transferable Features with Deep

Adaptatiopn Networks”• Mingsheng Long, Yue Cao, Jianmin Wang, Michel I.

Jordan• Tshinghua University(清華大学) , China

– “USニューズの世界大学ランキング、工学分野で清華大がMITを抜いて首位に―中国メディア”

– http://www.excite.co.jp/News/chn_soc/20151009/Xinhua_30221.html• #Citations: 6• 概要

– 従来は転移が難しいとされていた Deep Learningの深い層での転移を行うモデルを提案

– 既存手法( TCA, GFK, CNN, LapCNN, DDC)と比較して複数のデータセットで良い精度が出ることを確認した

• データセットはどちらも画像

Page 3: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

カーネル平均埋め込みについて

• この論文ではカーネル平均埋め込み、再生核ヒルベルト空間に関する知識、特に、– Gretton et al., “A kernel two-sample test”, 2012a– Gretton et al., “Optimal kernel choice for large-scale two

sample test”• の 2つの論文の手法をガンガンこれ使ったよと言った感じで使ってます

• が、力不足のためところどころ論文参照で済ませます– ※1本目は 51ページある– ※特に 2本目の 1部が意味不明– 基本的には、密度推定とかしないで kernel法の枠組みでもろもろ統計量計算したいというモチベーションの中

Page 4: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Domain Adaptation

• 次のような状況を考える– 複数のデータセットがそれぞれ異なる分布に従って生成されている

– 片方のデータは多くの情報(典型的には教師データ)を持っている

Image Net PascalDomain

Discrepancy

Knowledge Transfer

Source Domain Target Domain

Page 5: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

But How?• 1つの方法は、複数のドメインで共通の特徴空間を学習すること

• ↑は、 Domain Disperencyを何らかの方法で定義して、それを一緒に最適化することで達成される– いろんな研究がある(知りたい方は論文 Intro2パラ

orRelated Workあたりに書いてあります• Survey: [Pan et al. 2011]

– 最近は Deepにするのが流行(良い精度• DeCAFなど

– ただし、単に Deepにするだけだといくつか問題• 深い層に行くほど transferabilityが下がる [Yosinski, 2014]• 理論的な下界が決まっていない [Ben-David, 2010]• 複数の層を転移する方法がない

Page 6: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

How transferable are features in DNN? [Yosinski, NIPS2014]

• 層が深いほど転移に失敗する

Page 7: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Deep Adaptive Networks

1. 深い層の Sと Tの分布の不一致を低減させるように学習する(普通の教師あり学習と同時に)

2. Domain Discrepancyの基準にはMK-MDDを利用1. 理論的な下限を計算可能

Page 8: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

(準備)再生核ヒルベルト空間 RKHS• ヒルベルト空間:完備な内積空間

– 完備:距離空間における任意のコーシー列がその空間内の点に収束する

• 距離空間:任意の2点間の距離が定められた集合• コーシー列:十分先の方でほとんど値が変化しない数列

– 内積空間:内積の定義されたベクトル空間• ベクトル空間:和とスカラー倍が定義された集合

• 再生性:– Hが再生核ヒルベルト空間の場合、 H上の任意の元 fと

k(., x) の内積は、任意の関数 fにおいて xを入力した時の値 f(x)になる

– CF. カーネルトリック• この例が線形カーネルとかガウシアンカーネルとか

Page 9: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

(準備)分布の違いの計測

• 二つの分布の違いを定義したい– 情報理論の世界では普通コルモゴロフ・スミノフ検定とか KL ダイバージェンスを使う

– ただし、これらの方法は密度推定が必要 ->計算重い• MMD(再生核ヒルベルト空間上での分布の距離)を使う

Page 10: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

(準備)Maximum Mean Discrepancy (MMD)

• MMD

– p, q: Sourceと Targetの分布– xs,xt: Sourceと Targetのデータ– 要は平均の差の最大値– 直感的には全てのモーメントが一致すれば分布も一致してるよねという感じらしい

– fが入力空間から再生核ヒルベルト空間 Hk への写像である時、 (多分再生性から)次が成り立つ

where(多分左をカーネル平均埋め込みという)

Page 11: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Multi-Kernel MMD (MK-MMD)• MMDの問題点 :

– kernelの選択が検出力やテスト誤差に大きく関わる– 複数の Kernel使いたい

• ->MK-MMD– 多分この論文で定義している(確証はないです– kernelを複数の正定値 kernelの線形和に置き換えるだけ

線形和も正定値になるための制約

Page 12: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

目的関数

• 普通の目的関数とMK-MMDを同時に学習する• Dlはデータ点の l層目での表現• DANの良いところは

1. 複数の高次元層を adaptできる2. Multi-kernelである

普通の目的関数 複数層でのMK-MMDの和(Layer Wise)

Page 13: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

CNNのパラメタ θの学習• MK-MMDそのままだと平均をとるのに複数のデータ点の和を取らなきゃいけない– 計算が O(N^2)かかる、 SGDがあんまり使いやすくない

• [Gretton,2012b]で提案されている方法に従ってMK-MMDを推定– これで O(N)になり、普通の SGDでできる

• 多分ここが [Gretton,2012b]• おそらく 2つのデータ点をまとめて 1つのデータ点と見て学習する感じ

Page 14: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Learning β

• [Gretton,2012b]に従って最適化• Type2の誤差を最小化するように学習• QPで解ける

– ここが一番わからない– 詳細は [Gretton,2012b]を読んでください

Reminder: Multi Kernel

こいつ

Page 15: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Target Taskでの誤差の上限

• Domain Adaptationに関する理論+カーネル平均埋め込みに関する知識から次のように決まる

Targetの誤差 Sourceの誤差 MK-MMD 定数

Page 16: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Setup - Dataset (#12) -• Office31: Domain Adaptationの標準 Dataset

– 31 種類の異なるドメインから取得した画像データ 4652枚

– 例) Amazon(A), Webcam(W), DSLR(D)– Deep Learningでよく試される A->, D->W, W->Dに加えて、 A->D, D->A, W->Aも検証

• Office-10 + Caltech-10– Office31と Caltech-256(C)で共通する 10のカテゴリが存在

– Domain Adaptationの問題設定でよく使われている– A->C, W->C, D->C, C->A, C->W, C->Dの 6つを検証

Page 17: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Setup - Baselines -Name Citation Domain

Adaptive?

Deep Model?

Deep Adaptive?

Multi Kernel?

Multi Layer Adaptive?

TCA Pan et al. , 2011

Yes No No No No

GFK Gong et al., 2012

Yes(Not MMD)

No No No No

CNN Krizhevsky et al., 2012

No Yes No No No

Lap CNN

Weston et al., 2008

No Yes No? No No

DDC Tzeng et al., 2012

Yes Yes Yes No No

DAN7 This Paper

Yes Yes Yes Yes/No No

DAN8 This Paper

Yes Yes Yes Yes No

DANsk This Paper

Yes Yes Yes No No

DAN This Paper

Yes Yes Yes Yes Yes

Page 18: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Setup - Others -• Unsupervised Manner [Gong et al., 2013] & Semi

Supervised Manner [Saenko et al., 2010]– よくわからないので時間あったら調べる

• MMDをベースにした方法について– Gaussian Kernelを利用– パラメタ γはmedian heuristic(わからないので以下同– Multi Kernelの場合には複数のGaussian Kernel– パラメタは 2-8γから 28γ

• パラメタ λは Fine Tuningで決定可能– MMDの最小化 =two-sample classifierでの誤差最大化だから

• [Yosinski et al., 2014]での Fine Tuning Architectureを利用( ImageNetベース)– ただし、 Conv1-Conv3は固定、 Conv4-Conv5, Fc6-Fc8を

Fine Tune( with Source Domain)

Page 19: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Result 1/2

1. Shallowより Deep CNNが良い2. Lap CNNは Semi-Supervisedなのに素の CNNとほとんど同じ:単なる半教師では不十分

3. DDCは CNNより精度高い:高次元の特徴を適用される意味大

結果の詳細は論文見てください!精度のいいタスク、悪いタスクについての説明は特になかったはずです

Page 20: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Result 2/2

1. DAN7と DAN8がどちらも DDCを Outperform1. Multi-Kernelの有効性が現れている(理由は [Gretton et al.

2012b])

2. DANskが DDCより良い1. 複数の層を適用させると良さそう

3. DANはさらに精度向上

結果の詳細は論文見てください!精度のいいタスク、悪いタスクについての説明は特になかったはずです

Page 21: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Empirical Analysis

1. DDCの Targetではクラスが綺麗に分かれてない1. (b)と (d)の比較に対応

2. 同じクラスの DDCでは Sと Tが離れたところにあったりする

1. (a) <-> (b), (c) <-> (d)の対応の比較

Page 22: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Empirical Analysis

• Domain Discrepancyは CNN>DAN>Raw– 低いほど良い。つまり Rawが最も良い。 Deepにすると、

予測精度も上がるがドメイン依存度も上がる。• パラメタ λは Bell Curve

– Domain Discrepancyを同時に学習することは妥当

Domain Discrepancyの一般的な指標 どのくらい強くDomain Discrepancyを考慮するか

Page 23: [DL Hacks] Learning Transferable Features with Deep Adaptation Networks

Conclusion• DANを提案• Conv Layerの Domain Adaptationは今後の

課題