DeepJDOT: Deep Joint Distribution Optimal Transport for Unsupervised Domain Adaptation 論文紹介 / 20181020-eccv-2018-deep-jdot

DeepJDOT: Deep Joint Distribution Optimal Transport for Unsupervised Domain Adaptation 論文紹介 / 20181020-eccv-2018-deep-jdot

DeepJDOT: Deep Joint Distribution Optimal Transport for Unsupervised Domain Adaptation

ECCV2018読み会@PRMU研究会にて発表したスライドです。
https://kantocv.connpass.com/event/101101/

誤りや疑問点等がありましたら、Twitterでご連絡ください。
https://twitter.com/__t2kasa__

908674822b03df676ea84b17f6057586?s=128

Tsukasa Takagi

October 19, 2018
Tweet

Transcript

  1. DeepJDOT: Deep Joint Distribution Optimal Transport for Unsupervised Domain Adaptation

    @__t2kasa__ 髙木 士 (Tsukasa Takagi) 2018/10/20 ECCV2018読み会
  2. 自己紹介  髙木 士 (Tsukasa Takagi)  最近の興味 Domain Adaptation

    / GAN  Twitter: @__t2kasa__  Wiki & Blog: https://t2kasa.github.io/
  3. 背景:Domain Adaptation (DA)  学習データとテストデータの分布が異なる場合がある  学習データのドメイン:ソース  テストデータのドメイン:ターゲット 

    ドメインの違いは性能低下の要因になる  ドメインが異なる要因  天候の違い  照明条件  CG・リアル  カメラの種類 etc.
  4. Domain Adaptationの問題設定 (1/2) , = , 学習データ テストデータ Standard ML

    学習データとテストデータのサンプルが 独立同分布の同じ確率分布から得られる , 学習データ テストデータ , ≠ Domain Adaptation 学習データとテストデータのサンプルが 独立同分布の異なる確率分布から得られる
  5. Domain Adaptationの問題設定 (2/2)  今回のタスク:Unsupervised DA (UDA) ソース:アノテーションあり ターゲット:アノテーションなし ,

    学習データ テストデータ , ≠ Domain Adaptation 学習データとテストデータのサンプルが 独立同分布の異なる確率分布から得られる  Supervised DA (SDA) ソース:アノテーションあり ターゲット:アノテーションあり
  6. DAでよく用いられる仮定:共変量シフト (covariate shift) DAのアプローチ:Domain Alignment  共変量シフト (covariate shift) 入出力規則は不変:

    | = | 入力の分布が異なる: ≠ Extractor Classifier 特徴量がドメイン不変に なるように工夫する Classifierは sourceで学習 z|x = z|x としたい 入出力規則は不変: | = = | =  Domain alignment (Domain confusion) sourceとtargetの特徴表現が近づくようにする
  7. Domain Alignment: MMD [Long+ 2016] Residual Transfer Network (RTN) [Long+

    2015] Deep Adaptation Network (DAN)  Maximum Mean Discrepancy (MMD)  ドメイン間の不一致度として利用  Kernel Method
  8. Domain Alignment: Adversarial Adaptation (1/2)  Adversarial Adaptation  Discriminatorでドメインを識別させる

     ドメインがうまく識別できなくなるようにExtractorを学習  Cycle Consistencyを用いるアプローチも登場 Fix Fix Fix [Tzeng+ 2017] Adversarial Discriminative Domain Adaptation (ADDA)
  9. Domain Alignment: Adversarial Adaptation (2/2) [Liu+ 2016] Coupled GAN (CoGAN)

    [Hoffman+ 2017] Cycle-Consistent Adversarial Domain Adaptation (CyCADA)
  10. ここから本題:紹介論文 紹介論文の提案箇所 ECCV2018 NIPS2017

  11. DeepJDOT概要  Deep Joint Distribution Optimal Transport (DeepJDOT)  JDOT:結合分布での最適輸送によるDAがNIPS2017にて提案

     JDOTの2つの課題(後述)をDeep Learningベースのアプローチで取り組む  DeepJDOT  https://github.com/bbdamodaran/deepJDOT  Python Optimal Transport  https://github.com/rflamary/POT  JDOT  https://github.com/rflamary/JDOT 最適輸送 JDOT DeepJDOT
  12. 最適輸送 有限のサンプル数の場合:線形計画法で解くことができる 最適輸送:一方の分布からもう一方の分布へ輸送するときの最小輸送コストを求めたい 輸送コスト 組み合わせ 2点1 , 2 を選択 ∈

    ℝ1×2:コスト行列, = , , ≥ 0 :1 × 2 の行列 :2つの確率分布1 , 2 の結合分布
  13. ➢ JDOT:結合分布 , での最適輸送によるDomain Adaptationを提案 ➢ 共変量シフトを仮定していない ➢ JDOTの最適解 =

    最適なclassifierが求まる JDOT: Joint Distribution Optimal Transport 実際 はunlabeledなので classifier を用いてj t = とする 注意:輸送コストはxとyそれぞれのコストの和に分解できると仮定 置き換え ➢ 有限サンプルの場合の最適輸送は通常のOTと同様に線形計画法で解ける
  14. ➢ JDOTの最適解とDAの関係性は? ➢ ターゲットでの損失の期待値 はJDOTの損失関数から 導出される項でバウンドされている JDOT: Joint Distribution Optimal

    Transport JDOTの損失関数から導出される項
  15. JDOTの課題 & DeepJDOTの提案 ◆JDOTの課題 ① 1 × 2 の組み合わせを考えた線形計画法を解くことになるため,サンプル数をスケールさせるのは困難 ②

    最適なは入力空間の2 距離で計算されるため,特徴表現が乏しい ◆DeepJDOT – Deep Learning (CNN) + JDOT ① バッチ単位で反復的に学習するため,サンプル数がスケールしても近似的な解が求められる ② 学習に伴ってクラス間のsemanticな特徴表現が得られ,特徴空間上でdomain alignmentできる
  16. DeepJDOT – Architecture & Loss バッチ内のサンプルでの最適輸送 :Feature Extractor :Classifier Classification

    Loss Optimal Transport
  17. DeepJDOT – Architecture & Loss ➢ 一度に全サンプルの組み合わせ × を扱えない(JDOTの課題) ➢

    バッチ単位で学習 ➢ 最適化したい変数は2つのグループと, に分かれる ➢ , を固定 ⇒ 標準的な最適輸送の問題 ➢ を固定 ⇒ 標準的なDeep Learningの最適化問題 どうやって解くか?
  18. DeepJDOT – stochastic optimization ② CNNのパラメータ መ , ො を固定して最適輸送を求める

    ① バッチとしてサンプルをランダムに選択 ③ ②で求めたො を固定してCNNのパラメータ, をSGDで更新 反復
  19. 実験  3つのadaptation taskで他の手法と比較  Digits classification  Office-Home dataset

     Visual Domain Adaptation classification challenge of 2017 (VisDA-2017)
  20. 実験:digits classification 損失関数の項の有無に よる性能比較 手法の比較 StochJDOT:JDOTをstochasticで 学習した場合(特徴量が入力画像そのまま)

  21. 実験:digits classification/t-SNE DeepJDOTは他の手法と比較して 非常にうまくadaptationできている MNIST → MNIST-Mのadaptation

  22. 実験:Office-Home dataset • Office-Home dataset • 約15500枚 • 65クラス •

    4つのドメイン • 実験設定 • 3250枚/domain • pretrained VGG16
  23. 実験:VisDA-2017 dataset Visual Domain Adaptation classification challenge of 2017 (VisDA-2017)

    • VisDA-2017 dataset • 12クラス • ソース:3Dレンダリング画像 • ターゲット:リアル画像 • 実験設定 • pretrained Resnet-50 • 最後のレイヤーを2つのfc(512, 12)に置換
  24. 実験:VisDA-2017 dataset

  25. まとめ ◆JDOTの2つの課題をDeep Learningベースのアプローチで取り組むDeepJDOTを提案 ① バッチ単位で反復的に学習するため,サンプル数がスケールしても近似的な解が求められる ② 学習に伴ってクラス間のsemanticな特徴表現が得られ,特徴空間上でdomain alignmentできる ✓ 3つのadaptation

    tasksで他の手法との比較し,DeepJDOTの有効性を確認した ◆ JDOTの課題 ① 1 × 2 の組み合わせを考えた線形計画法を解くことになるため,サンプル数をスケールさせるのは困難 ② 最適なは入力空間の2 距離で計算されるため,特徴表現が乏しい
  26. References • Office-Home dataset • http://hemanthdv.org/OfficeHome-Dataset/ • Visual Domain Adaptation

    classification challenge of 2017 • http://ai.bu.edu/visda-2017/ • [Long+ 2015] Learning Transferable Features with Deep Adaptation Networks. ICML2015 • [Long+ 2016] Unsupervised Domain Adaptation with Residual Transfer Networks. NIPS2016 • [Liu+ 2016] Coupled Generative Adversarial Networks. NIPS2016 • [Tzeng+ 2017] Adversarial Discriminative Domain Adaptation. CVPR2017 • [Hoffman+ 2017] CyCADA: Cycle-Consistent Adversarial Domain Adaptation. ICML2018 • [Courty+ 2017] Joint distribution optimal transportation for domain adaptation. NIPS2017
  27. 【参考】 Office-Home categories • Alarm Clock, Backpack, Batteries, Bed, Bike,

    Bottle, Bucket, Calculator, Calendar, Candles, • Chair, Clipboards, Computer, Couch, Curtains, Desk Lamp, Drill, Eraser, Exit Sign, Fan, • File Cabinet, Flipflops, Flowers, Folder, Fork, Glasses, Hammer, Helmet, Kettle, Keyboard, • Knives, Lamp Shade, Laptop, Marker, Monitor, Mop, Mouse, Mug, Notebook, Oven, Pan, • Paper Clip, Pen, Pencil, Postit Notes, Printer, Push Pin, Radio, Refrigerator, ruler, • Scissors, Screwdriver, Shelf, Sink, Sneakers, Soda, Speaker, Spoon, Table, Telephone, • Toothbrush, Toys, Trash Can, TV, Webcam