Learning Transferable Features with
Deep Adaptation Networks
DL Hacks Paper Reading
2015.11.05 D2 Yusuke IWASAWA
書誌情報
• “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)と比較して複数のデー
タセットで良い精度が出ることを確認した
• データセットはどちらも画像
カーネル平均埋め込みについて
• この論文ではカーネル平均埋め込み、再生核ヒルベ
ルト空間に関する知識、特に、
– 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法の
枠組みでもろもろ統計量計算したいというモチベーショ
ンの中
Domain Adaptation
• 次のような状況を考える
– 複数のデータセットがそれぞれ異なる分布に従って生成
されている
– 片方のデータは多くの情報(典型的には教師データ)を
持っている
Image Net Pascal
Domain
Discrepancy
KnowledgeTransfer
Source Domain Target Domain
But How?
• 1つの方法は、複数のドメインで共通の特徴空間を学習する
こと
• ↑は、Domain Disperencyを何らかの方法で
定義して、それを一緒に最適化することで達成される
– いろんな研究がある(知りたい方は論文Intro2パラ
orRelated Workあたりに書いてあります
• Survey: [Pan et al. 2011]
– 最近はDeepにするのが流行(良い精度
• DeCAFなど
– ただし、単にDeepにするだけだといくつか問題
• 深い層に行くほどtransferabilityが下がる[Yosinski, 2014]
• 理論的な下界が決まっていない[Ben-David, 2010]
• 複数の層を転移する方法がない
How transferable are features in DNN?
[Yosinski, NIPS2014]
• 層が深いほど転移に
失敗する
Deep Adaptive Networks
1. 深い層のSとTの分布の不一致を低減させるように
学習する(普通の教師あり学習と同時に)
2. Domain Discrepancyの基準にはMK-MDDを利用
1. 理論的な下限を計算可能
(準備)再生核ヒルベルト空間RKHS
• ヒルベルト空間:完備な内積空間
– 完備:距離空間における任意のコーシー列がその空間内
の点に収束する
• 距離空間:任意の2点間の距離が定められた集合
• コーシー列:十分先の方でほとんど値が変化しない数列
– 内積空間:内積の定義されたベクトル空間
• ベクトル空間:和とスカラー倍が定義された集合
• 再生性:
– Hが再生核ヒルベルト空間の場合、H上の任意の元fとk(.,
x) の内積は、任意の関数fにおいてxを入力した時の値f(x)
になる
– CF. カーネルトリック
• この例が線形カーネルとかガウシアンカーネルとか
(準備)分布の違いの計測
• 二つの分布の違いを定義したい
– 情報理論の世界では普通コルモゴロフ・スミノフ検定と
かKLダイバージェンスを使う
– ただし、これらの方法は密度推定が必要->計算重い
• MMD(再生核ヒルベルト空間上での分布の距離)
を使う
(準備)Maximum Mean Discrepancy (MMD)
• MMD
– p, q: SourceとTargetの分布
– xs,xt: SourceとTargetのデータ
– 要は平均の差の最大値
– 直感的には全てのモーメントが一致すれば分布も一致し
てるよねという感じらしい
– fが入力空間から再生核ヒルベルト空間Hkへの写像である
時、 (多分再生性から)次が成り立つ
where
(多分左をカーネル
平均埋め込みという)
Multi-Kernel MMD (MK-MMD)
• MMDの問題点:
– kernelの選択が検出力やテスト誤差に大きく関わる
– 複数のKernel使いたい
• ->MK-MMD
– 多分この論文で定義している(確証はないです
– kernelを複数の正定値kernelの線形和に置き換えるだけ
線形和も正定値になるための制約
目的関数
• 普通の目的関数とMK-MMDを同時に学習する
• Dlはデータ点のl層目での表現
• DANの良いところは
1. 複数の高次元層をadaptできる
2. Multi-kernelである
普通の目的関数 複数層でのMK-MMDの和
(LayerWise)
CNNのパラメタθの学習
• MK-MMDそのままだと平均をとるのに複数のデー
タ点の和を取らなきゃいけない
– 計算がO(N^2)かかる、SGDがあんまり使いやすくない
• [Gretton,2012b]で提案されている方法に従ってMK-
MMDを推定
– これでO(N)になり、普通のSGDでできる
• 多分ここが[Gretton,2012b]
• おそらく2つのデータ点をまとめて1つの
データ点と見て学習する感じ
Learning β
• [Gretton,2012b]に従って最適化
• Type2の誤差を最小化するように学習
• QPで解ける
– ここが一番わからない
– 詳細は[Gretton,2012b]を読んでください
Reminder: Multi Kernel
こいつ
Target Taskでの誤差の上限
• Domain Adaptationに関する理論
+カーネル平均埋め込みに関する知識から次のよう
に決まる
Target
の誤差
Source
の誤差 MK-MMD 定数
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つを検証
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
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)
Result 1/2
1. ShallowよりDeep CNNが良い
2. Lap CNNはSemi-Supervisedなのに素のCNNとほとんど同
じ:単なる半教師では不十分
3. DDCはCNNより精度高い:高次元の特徴を適用される
意味大
結果の詳細は論文見てください!
精度のいいタスク、悪いタスクに
ついての説明は特になかったはず
です
Result 2/2
1. DAN7とDAN8がどちらもDDCをOutperform
1. Multi-Kernelの有効性が現れている(理由は[Gretton et al. 2012b])
2. DANskがDDCより良い
1. 複数の層を適用させると良さそう
3. DANはさらに精度向上
結果の詳細は論文見てください!
精度のいいタスク、悪いタスクに
ついての説明は特になかったはず
です
Empirical Analysis
1. DDCのTargetではクラスが綺麗に分かれてない
1. (b)と(d)の比較に対応
2. 同じクラスのDDCではSとTが離れたところにあっ
たりする
1. (a) <-> (b), (c) <-> (d)の対応の比較
Empirical Analysis
• Domain DiscrepancyはCNN>DAN>Raw
– 低いほど良い。つまりRawが最も良い。Deepにすると、
予測精度も上がるがドメイン依存度も上がる。
• パラメタλはBell Curve
– Domain Discrepancyを同時に学習することは妥当
Domain Discrepancyの
一般的な指標
どのくらい強く
Domain Discrepancyを考慮するか
Conclusion
• DANを提案
• Conv LayerのDomain Adaptationは今後の
課題

[DL Hacks] Learning Transferable Features with Deep Adaptation Networks

  • 1.
    Learning Transferable Featureswith Deep Adaptation Networks DL Hacks Paper Reading 2015.11.05 D2 Yusuke IWASAWA
  • 2.
    書誌情報 • “Learning TransferableFeatures 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)と比較して複数のデー タセットで良い精度が出ることを確認した • データセットはどちらも画像
  • 3.
    カーネル平均埋め込みについて • この論文ではカーネル平均埋め込み、再生核ヒルベ ルト空間に関する知識、特に、 – Grettonet 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法の 枠組みでもろもろ統計量計算したいというモチベーショ ンの中
  • 4.
    Domain Adaptation • 次のような状況を考える –複数のデータセットがそれぞれ異なる分布に従って生成 されている – 片方のデータは多くの情報(典型的には教師データ)を 持っている Image Net Pascal Domain Discrepancy KnowledgeTransfer Source Domain Target Domain
  • 5.
    But How? • 1つの方法は、複数のドメインで共通の特徴空間を学習する こと •↑は、Domain Disperencyを何らかの方法で 定義して、それを一緒に最適化することで達成される – いろんな研究がある(知りたい方は論文Intro2パラ orRelated Workあたりに書いてあります • Survey: [Pan et al. 2011] – 最近はDeepにするのが流行(良い精度 • DeCAFなど – ただし、単にDeepにするだけだといくつか問題 • 深い層に行くほどtransferabilityが下がる[Yosinski, 2014] • 理論的な下界が決まっていない[Ben-David, 2010] • 複数の層を転移する方法がない
  • 6.
    How transferable arefeatures in DNN? [Yosinski, NIPS2014] • 層が深いほど転移に 失敗する
  • 7.
    Deep Adaptive Networks 1.深い層のSとTの分布の不一致を低減させるように 学習する(普通の教師あり学習と同時に) 2. Domain Discrepancyの基準にはMK-MDDを利用 1. 理論的な下限を計算可能
  • 8.
    (準備)再生核ヒルベルト空間RKHS • ヒルベルト空間:完備な内積空間 – 完備:距離空間における任意のコーシー列がその空間内 の点に収束する •距離空間:任意の2点間の距離が定められた集合 • コーシー列:十分先の方でほとんど値が変化しない数列 – 内積空間:内積の定義されたベクトル空間 • ベクトル空間:和とスカラー倍が定義された集合 • 再生性: – Hが再生核ヒルベルト空間の場合、H上の任意の元fとk(., x) の内積は、任意の関数fにおいてxを入力した時の値f(x) になる – CF. カーネルトリック • この例が線形カーネルとかガウシアンカーネルとか
  • 9.
    (準備)分布の違いの計測 • 二つの分布の違いを定義したい – 情報理論の世界では普通コルモゴロフ・スミノフ検定と かKLダイバージェンスを使う –ただし、これらの方法は密度推定が必要->計算重い • MMD(再生核ヒルベルト空間上での分布の距離) を使う
  • 10.
    (準備)Maximum Mean Discrepancy(MMD) • MMD – p, q: SourceとTargetの分布 – xs,xt: SourceとTargetのデータ – 要は平均の差の最大値 – 直感的には全てのモーメントが一致すれば分布も一致し てるよねという感じらしい – fが入力空間から再生核ヒルベルト空間Hkへの写像である 時、 (多分再生性から)次が成り立つ where (多分左をカーネル 平均埋め込みという)
  • 11.
    Multi-Kernel MMD (MK-MMD) •MMDの問題点: – kernelの選択が検出力やテスト誤差に大きく関わる – 複数のKernel使いたい • ->MK-MMD – 多分この論文で定義している(確証はないです – kernelを複数の正定値kernelの線形和に置き換えるだけ 線形和も正定値になるための制約
  • 12.
    目的関数 • 普通の目的関数とMK-MMDを同時に学習する • Dlはデータ点のl層目での表現 •DANの良いところは 1. 複数の高次元層をadaptできる 2. Multi-kernelである 普通の目的関数 複数層でのMK-MMDの和 (LayerWise)
  • 13.
    CNNのパラメタθの学習 • MK-MMDそのままだと平均をとるのに複数のデー タ点の和を取らなきゃいけない – 計算がO(N^2)かかる、SGDがあんまり使いやすくない •[Gretton,2012b]で提案されている方法に従ってMK- MMDを推定 – これでO(N)になり、普通のSGDでできる • 多分ここが[Gretton,2012b] • おそらく2つのデータ点をまとめて1つの データ点と見て学習する感じ
  • 14.
    Learning β • [Gretton,2012b]に従って最適化 •Type2の誤差を最小化するように学習 • QPで解ける – ここが一番わからない – 詳細は[Gretton,2012b]を読んでください Reminder: Multi Kernel こいつ
  • 15.
    Target Taskでの誤差の上限 • DomainAdaptationに関する理論 +カーネル平均埋め込みに関する知識から次のよう に決まる Target の誤差 Source の誤差 MK-MMD 定数
  • 16.
    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つを検証
  • 17.
    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
  • 18.
    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)
  • 19.
    Result 1/2 1. ShallowよりDeepCNNが良い 2. Lap CNNはSemi-Supervisedなのに素のCNNとほとんど同 じ:単なる半教師では不十分 3. DDCはCNNより精度高い:高次元の特徴を適用される 意味大 結果の詳細は論文見てください! 精度のいいタスク、悪いタスクに ついての説明は特になかったはず です
  • 20.
    Result 2/2 1. DAN7とDAN8がどちらもDDCをOutperform 1.Multi-Kernelの有効性が現れている(理由は[Gretton et al. 2012b]) 2. DANskがDDCより良い 1. 複数の層を適用させると良さそう 3. DANはさらに精度向上 結果の詳細は論文見てください! 精度のいいタスク、悪いタスクに ついての説明は特になかったはず です
  • 21.
    Empirical Analysis 1. DDCのTargetではクラスが綺麗に分かれてない 1.(b)と(d)の比較に対応 2. 同じクラスのDDCではSとTが離れたところにあっ たりする 1. (a) <-> (b), (c) <-> (d)の対応の比較
  • 22.
    Empirical Analysis • DomainDiscrepancyはCNN>DAN>Raw – 低いほど良い。つまりRawが最も良い。Deepにすると、 予測精度も上がるがドメイン依存度も上がる。 • パラメタλはBell Curve – Domain Discrepancyを同時に学習することは妥当 Domain Discrepancyの 一般的な指標 どのくらい強く Domain Discrepancyを考慮するか
  • 23.
    Conclusion • DANを提案 • ConvLayerのDomain Adaptationは今後の 課題