Slide 1

Slide 1 text

DeepJDOT: Deep Joint Distribution Optimal Transport for Unsupervised Domain Adaptation @__t2kasa__ 髙木 士 (Tsukasa Takagi) 2018/10/20 ECCV2018読み会

Slide 2

Slide 2 text

自己紹介  髙木 士 (Tsukasa Takagi)  最近の興味 Domain Adaptation / GAN  Twitter: @__t2kasa__  Wiki & Blog: https://t2kasa.github.io/

Slide 3

Slide 3 text

背景:Domain Adaptation (DA)  学習データとテストデータの分布が異なる場合がある  学習データのドメイン:ソース  テストデータのドメイン:ターゲット  ドメインの違いは性能低下の要因になる  ドメインが異なる要因  天候の違い  照明条件  CG・リアル  カメラの種類 etc.

Slide 4

Slide 4 text

Domain Adaptationの問題設定 (1/2) , = , 学習データ テストデータ Standard ML 学習データとテストデータのサンプルが 独立同分布の同じ確率分布から得られる , 学習データ テストデータ , ≠ Domain Adaptation 学習データとテストデータのサンプルが 独立同分布の異なる確率分布から得られる

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

DAでよく用いられる仮定:共変量シフト (covariate shift) DAのアプローチ:Domain Alignment  共変量シフト (covariate shift) 入出力規則は不変: | = | 入力の分布が異なる: ≠ Extractor Classifier 特徴量がドメイン不変に なるように工夫する Classifierは sourceで学習 z|x = z|x としたい 入出力規則は不変: | = = | =  Domain alignment (Domain confusion) sourceとtargetの特徴表現が近づくようにする

Slide 7

Slide 7 text

Domain Alignment: MMD [Long+ 2016] Residual Transfer Network (RTN) [Long+ 2015] Deep Adaptation Network (DAN)  Maximum Mean Discrepancy (MMD)  ドメイン間の不一致度として利用  Kernel Method

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Domain Alignment: Adversarial Adaptation (2/2) [Liu+ 2016] Coupled GAN (CoGAN) [Hoffman+ 2017] Cycle-Consistent Adversarial Domain Adaptation (CyCADA)

Slide 10

Slide 10 text

ここから本題:紹介論文 紹介論文の提案箇所 ECCV2018 NIPS2017

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

最適輸送 有限のサンプル数の場合:線形計画法で解くことができる 最適輸送:一方の分布からもう一方の分布へ輸送するときの最小輸送コストを求めたい 輸送コスト 組み合わせ 2点1 , 2 を選択 ∈ ℝ1×2:コスト行列, = , , ≥ 0 :1 × 2 の行列 :2つの確率分布1 , 2 の結合分布

Slide 13

Slide 13 text

➢ JDOT:結合分布 , での最適輸送によるDomain Adaptationを提案 ➢ 共変量シフトを仮定していない ➢ JDOTの最適解 = 最適なclassifierが求まる JDOT: Joint Distribution Optimal Transport 実際 はunlabeledなので classifier を用いてj t = とする 注意:輸送コストはxとyそれぞれのコストの和に分解できると仮定 置き換え ➢ 有限サンプルの場合の最適輸送は通常のOTと同様に線形計画法で解ける

Slide 14

Slide 14 text

➢ JDOTの最適解とDAの関係性は? ➢ ターゲットでの損失の期待値 はJDOTの損失関数から 導出される項でバウンドされている JDOT: Joint Distribution Optimal Transport JDOTの損失関数から導出される項

Slide 15

Slide 15 text

JDOTの課題 & DeepJDOTの提案 ◆JDOTの課題 ① 1 × 2 の組み合わせを考えた線形計画法を解くことになるため,サンプル数をスケールさせるのは困難 ② 最適なは入力空間の2 距離で計算されるため,特徴表現が乏しい ◆DeepJDOT – Deep Learning (CNN) + JDOT ① バッチ単位で反復的に学習するため,サンプル数がスケールしても近似的な解が求められる ② 学習に伴ってクラス間のsemanticな特徴表現が得られ,特徴空間上でdomain alignmentできる

Slide 16

Slide 16 text

DeepJDOT – Architecture & Loss バッチ内のサンプルでの最適輸送 :Feature Extractor :Classifier Classification Loss Optimal Transport

Slide 17

Slide 17 text

DeepJDOT – Architecture & Loss ➢ 一度に全サンプルの組み合わせ × を扱えない(JDOTの課題) ➢ バッチ単位で学習 ➢ 最適化したい変数は2つのグループと, に分かれる ➢ , を固定 ⇒ 標準的な最適輸送の問題 ➢ を固定 ⇒ 標準的なDeep Learningの最適化問題 どうやって解くか?

Slide 18

Slide 18 text

DeepJDOT – stochastic optimization ② CNNのパラメータ መ , ො を固定して最適輸送を求める ① バッチとしてサンプルをランダムに選択 ③ ②で求めたො を固定してCNNのパラメータ, をSGDで更新 反復

Slide 19

Slide 19 text

実験  3つのadaptation taskで他の手法と比較  Digits classification  Office-Home dataset  Visual Domain Adaptation classification challenge of 2017 (VisDA-2017)

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

実験:Office-Home dataset • Office-Home dataset • 約15500枚 • 65クラス • 4つのドメイン • 実験設定 • 3250枚/domain • pretrained VGG16

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

実験:VisDA-2017 dataset

Slide 25

Slide 25 text

まとめ ◆JDOTの2つの課題をDeep Learningベースのアプローチで取り組むDeepJDOTを提案 ① バッチ単位で反復的に学習するため,サンプル数がスケールしても近似的な解が求められる ② 学習に伴ってクラス間のsemanticな特徴表現が得られ,特徴空間上でdomain alignmentできる ✓ 3つのadaptation tasksで他の手法との比較し,DeepJDOTの有効性を確認した ◆ JDOTの課題 ① 1 × 2 の組み合わせを考えた線形計画法を解くことになるため,サンプル数をスケールさせるのは困難 ② 最適なは入力空間の2 距離で計算されるため,特徴表現が乏しい

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

【参考】 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