論文解讀(CDCL)《Cross-domain Contrastive Learning for Unsupervised Domain Adaptation》

加微信X466550探討發表於2022-11-30

論文資訊

論文標題:Cross-domain Contrastive Learning for Unsupervised Domain Adaptation
論文作者:Rui Wang, Zuxuan Wu, Zejia Weng, Jingjing Chen, Guo-Jun Qi, Yu-Gang Jiang
論文來源:aRxiv 2022
論文地址:download 
論文程式碼:download

1 Introduction

  無監督域自適應(UDA)的目的是將從一個完全標記的源域學習到的知識轉移到一個不同的未標記的目標域。 大多數現有的 UDA 方法透過最小化域間的特徵距離來學習域不變的特徵表示。

  UDA 研究方向:

    • discrepancy-based methods:最小化不同域之間的差異;  
    • adversarial-based methods:為域鑑別器設計一個對抗性最佳化目標,並透過對抗性學習獲得域不變表示;
    • domain-adaptive dictionary learning;
    • multi-modality representation learning;
    • feature disentanglement;
  Source Data-free UDA:近年來,由於UDA方法在實際應用中對源資料隱私性的關注,提出了無源資料的 UDA 方法。無源資料 UDA 的主要挑戰是,在源域上的預先訓練好的模型應該適應於目標域,而無需訪問源資料。
  在訓練過程中,UDA 假設可以訪問源域中的所有標記樣本以及來自目標域的未標記影像。
  Given a fully-labeled source domain dataset with  $N_{s}$  image and label pairs  $D_{s}=   \left(\mathcal{X}_{s}, \mathcal{Y}_{s}\right)=\left\{\left(x_{s}^{i}, y_{s}^{i}\right)\right\}_{i=1}^{N_{s}}$ , and an unlabeled dataset in a target domain with  $N_{t}$  images  $D_{t}=X_{t}=\left\{x_{t}^{i}\right\}_{i=1}^{N_{t}}$ , both  $\left\{x_{s}^{i}\right\}$  and  $\left\{x_{t}^{i}\right\}$  belong to the same set of  $M$  predefined categories. We use  $y_{s}^{i} \in\{0,1, \ldots, M-1\}$  to represent the label of the  $i-\text{th}$ source sample while the labels of target samples are unknown during training. UDA aims to predict labels of testing samples in the target domain using a model  $f_{t}: \mathcal{X}_{t} \rightarrow \mathcal{Y}_{t}$  trained on  $D_{s} \cup D_{t}$ . The model, parameterized by  $\theta$  consists of a feature encoder  $g: X_{t} \rightarrow \mathbb{R}^{d}$  and a classifier  $h: \mathbb{R}^{d} \rightarrow \mathbb{R}^{M}$ , where  $d$  is the dimension of features produced by the encoder.

  我們的目標是透過對比自監督學習來調整源域和目標域之間的特徵分佈。

2 方法

A. Contrastive Learning with InfoNCE

NT-Xent loss

    $\mathcal{L}=-\sum\limits _{\boldsymbol{v}^{+} \in V^{+}} \log \frac{\exp \left(\boldsymbol{u}^{\top} \boldsymbol{v}^{+} / \boldsymbol{\tau}\right)}{\exp \left(\boldsymbol{u}^{\top} \boldsymbol{v}^{+} / \boldsymbol{\tau}\right)+\sum\limits_{\boldsymbol{v}^{-} \in V^{-}} \exp \left(\boldsymbol{u}^{\top} \boldsymbol{v}^{-} / \boldsymbol{\tau}\right)}  \quad\quad\quad(1)$

B. Cross-domain Contrastive Learning

  考慮目標域樣本$\boldsymbol{x}_{t}^{i}$ 的 $\ell_{2}\text{-normalized}$ 特徵 $\boldsymbol{z}_{t}^{i}$ 作為錨,它的正樣本為同一類的源域樣本,其特徵表示為 $\boldsymbol{z}_{s}^{p}$,那麼跨域對比損失:

    $\mathcal{L}_{C D C}^{t, i}=-\frac{1}{\left|P_{s}\left(\hat{y}_{t}^{i}\right)\right|} \sum\limits _{p \in P_{s}\left(\hat{y}_{t}^{i}\right)} \log \frac{\exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{z}_{s}^{p} / \tau\right)}{\sum\limits_{j \in I_{s}} \exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{z}_{s}^{j} / \tau\right)} \quad\quad\quad(2)$

  其中,$I_{S}$ 代表一個 mini-batch 中的源域樣本集合,$P_{s}\left(\hat{y}_{t}^{i}\right)=\left\{k \mid y_{s}^{k}=\hat{y}_{t}^{i}\right\}$ 代表源域和目標域樣本 $x_{t}^{i}$ 有相同標籤;

  同理也可以使用源域樣本作為錨,公式類似上面,交叉域對比損失如下:

    $\mathcal{L}_{C D C}=\sum\limits _{i=1}^{N_{s}} \mathcal{L}_{C D C}^{s, i}+\sum\limits_{i=1}^{N_{t}} \mathcal{L}_{C D C}^{t, i} \quad\quad\quad(3)$

  最後,結合跨域對比損失與在源域上強制執行的標準跨熵損失 $\mathcal{L}_{C E}$,我們得到了最終的訓練目標函式:

    $\underset{\boldsymbol{\theta}}{\operatorname{minimize}} \quad \mathcal{L}_{C E}\left(\boldsymbol{\theta} ; D_{s}\right)+\lambda \mathcal{L}_{C D C}\left(\boldsymbol{\theta} ; D_{s}, D_{t}\right) \quad\quad\quad(4)$

C. Pseudo Labels for the Target Domain

  在訓練過程中,沒有來自目標域的真實標籤,因此利用 k-means 聚類產生偽標籤。由於 K-means 對初始化很敏感,因此使用隨機生成的叢集不能保證與預定義類別相關的相關語義。為緩解這個問題,將簇的數量設定為類 $M$ 的數量,並使用來自源域的類原型作為初始簇。

  初始化叢集中心與類原型的好處是雙重的: (i) 源原型可以被視為目標原型的近似,因為使用的特性是高階和包含語義資訊(ii)CDCL 的對齊相同類別的樣本,這種近似將更準確的訓練的繼續。更正式地說,首先計算每個類別中源樣本的質心作為相應的類原型,並將第 $m$ 類的初始簇中心 $O_{t}^{m}$ 定義為:

    $O_{t}^{m} \leftarrow O_{s}^{m}=\mathbb{E}_{i \sim D_{s}\;, \; y_{s}^{i}=m} z_{s}^{i} \quad\quad\quad(5)$

   即:源域同一類的嵌入平均作為初始質心。 

D. Source Data-free UDA

  Source data-free setting:提供了在源域上訓練的模型,但由於資料安全的問題,源域資料是不能用的。形式上,目標是學習一個模型 $f_{t}: X_{t} \rightarrow Y_{t}$ 並使用目標域無標籤資料 $D_{t}$ 和源域上的預訓練模型  $f_{s}: X_{s} \rightarrow Y_{s}$ 去預測 $\left\{y_{t}^{i}\right\}_{i=1}^{N_{t}}$。

  Note:預訓練模型 $f_{s}$ 是上文提到的透過交叉熵最佳化得到的。

  許多標準的 UDA 設定,假設在源域和目標域上共享相同的特徵編碼器,然而由於特徵編碼器不能同時在源域和目標域上訓練,所以 Source Data-free UDA 無法實現。本文的 CDCL 在缺少源域資料的情況下面臨的挑戰是 :(1) form positive and negative pairs and (2) to compute source class prototypes。

  本文透過用訓練模型 $?_?$ 的分類器權值替換源樣本來解決這個問題。直覺是,預先訓練模型的分類器層的權向量可以看作是在源域上學習到的每個類的原型特徵。特別地,我們首先消除了全連通層的 bias ,並對分類器進行了歸一化處理。假設 $\boldsymbol{w}_{s}^{m}\in \boldsymbol{W}_{s}=\left[\boldsymbol{w}_{s}^{1}, \ldots, \boldsymbol{w}_{s}^{M}\right]$ 代表從源域學到的 $M$ 分類器的權重向量,由於權值是規範化的,所以我們將它們用作類原型。當適應目標域時,凍結分類器層的引數,以保持源原型,並且只訓練特徵編碼器。透過用源原型替換源樣本,在源資料自由設定下的跨域對比損失可以寫為:

    $\mathcal{L}_{S D F-C D C}^{t, i}=-\sum\limits_{m=1}^{M} \mathbf{1}_{\hat{y}_{t}^{i}=m} \log \frac{\exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{w}_{s}^{m} / \tau\right)}{\sum\limits _{j=1}^{M} \exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{w}_{S}^{j} / \tau\right)} \quad\quad\quad(6)$

  類似地,透過聚類來估計目標域內樣本的標籤。然而,使用樣本計算類原型是不可行了。相反,採用類權值向量做為類原型:
    $O_{t}^{m} \leftarrow O_{s}^{m}=w_{s}^{m} \quad\quad\quad(7)$

  source data-free UDA 的最終目標是:

    $\operatorname{minimize} \sum\limits _{i=1}^{N_{t}} \mathcal{L}_{S D F-C D C}^{t, i} \quad\quad\quad(8)$

演算法概述:

 

相關文章