對抗判別式領域自適應

對抗判別式領域自適應

論文鏈接:https://ieeexplore.ieee.org/document/8099799/

文獻:E. Tzeng, J. Hoffman, K. Saenko, and T. Darrell, “Adversarial discriminative domain adaptation,” in Proceedings of the 30th IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, 2017, vol. 2017-July, pp. 2962–2971, doi: 10.1109/CVPR.2017.316.

領域自適應技術在不匹配說話人識別的問題中非常有效。這篇文章是圖像領域的判別式對抗自適應方法,也同樣可以遷移至說話人識別領域。

摘要

目的:在無監督領域自適應問題中,對抗方法是減少訓練分佈和測試分佈之間的差別、改善泛化性能的有效又短。但如今的生成式方法在判別判別任務上性能不佳,而判別式方法,儘管能處理較大的域變換,但還未充分利用對抗生成網絡的損失函數。
數據與方法:作者提出了對抗自適應方法的廣義框架,進而在此基礎上,提出了對抗判別式領域自適應方法 (ADDA),該方法涉及判別式模型、無共享權重和 GAN 損失。提出的方法在三個任務上進行測試:無監督領域自適應基準任務 - 數字(MNIST、USPS 和 SVHN)、跨模態的自適應學習任務(NYUD)和跨視覺域的自適應學習任務(標準 Office - amazon, webcam, dslr)。
結果:在基準任務上,當源域和目標域相近時(MNISTUSPS\text{MNIST}\leftrightharpoons \text{USPS}),ADDA 與生成式方法相當;在跨模態的自適應學習任務上,大部分類別的分類性能得到了顯著改進,但也存在性能降低的類別;在跨視覺域的自適應學習任務上,不同模型的ADDA都獲得了一致的性能提升。

1. 引言

深度學習在各種任務和視覺領域上能夠學到各種表示,然而,領域變化/領域偏差導致這些表示在新的數據集和任務上的泛化效果不佳。針對這一問題,典型的解決方法是在針對任務的數據集上進行精調。但是,獲取用於精調深度網絡的大規模數據是非常困難。

領域自適應方法可以減輕領域變化的有害影響,其思想是學習到兩個領域的共同特徵空間。其手段是以實現最小化領域變化的距離爲目標優化表示,其中領域變化的衡量方法是:

  1. maximum mean discrepancy (MMD):計算兩個域均值之差的範數;
  2. correlation distances (CORAL):匹配兩個分佈的均值和協方差;
  3. 對抗損失:例如 GAN 方法的損失、反向梯度、領域混淆的損失。

對抗自適應方法是通過關於領域判別器的對抗優化目標來最小化的領域散度距離,常見的案例如生成對抗網絡讓生成器產生讓判別器誤導的圖片。不同的對抗自適應方法的設計需要考慮三點:

  1. 是否使用生成器,
  2. 採用何種損失函數,
  3. 是否共享跨域權重。

2. 廣義對抗自適應

對抗無監督自適應方法的一般框架:

  1. 源域:XsX_s 及其標籤 YsY_sps(x,y)p_s(x,y) 獲得,

  2. 目標域:XtX_tpt(x,y)p_t(x,y) 獲得,但是無標籤,

  3. 目標:學習目標域表示 MtM_t 和目標域分類器 CtC_t,使得能夠在測試階段正確地分類目標樣本,即便在缺少域註釋的情況下;

  4. 領域自適應方法:學習源域的表示映射 MsM_s 和源域的分類器 CsC_s,然後學會適應在目標域上的模型使用。

  5. 對抗自適應方法:主要目標是正則化源域和目標域映射(MsM_sMtM_t)的學習過程,以實現最小化經驗性的源域和目標域映射(Ms(Xs)M_s(X_s)Mt(Xt)M_t(X_t))分佈之間的距離。最後使得源域分類器 CsC_s 能夠師姐用於目標域表示,而不需要再單獨爲目標域訓練分類器,即 C=Cs=CtC = C_s = C_t

其中分類器的監督損失:
minMs,CLcls(Xs,Ys)=E(xs,ys)(Xs,Ys)k=1K1[k=ys]logC(Ms(xs)) \begin{aligned} &\min\limits_{M_s,C}\,\mathcal{L}_{\text{cls}}(\mathbf{X}_s,Y_s)=\\ &\quad\quad-\mathbb{E}_{(\mathbf{x}_s,y_s)\sim(\mathbf{X}_s,Y_s)}\sum\limits_{k=1}^K\mathbb{1}_{[k=y_s]}\log{C(M_s(\textbf{x}_s))} \end{aligned}
判別器的監督損失:
LadvD(Xs,Xt,Ms,Mt)=ExsXs[logD(Ms(xs))]ExtXt[log(1D(Mt(xt)))] \begin{aligned} &\mathcal{L}_{\text{adv}_D}(\mathbf{X}_s,\mathbf{X}_t,M_s,M_t)=\\ &\quad\quad-\mathbb{E}_{\mathbf{x}_s\sim\mathbf{X}_s}\left[\log{D(M_s(\textbf{x}_s))}\right]\\ &\quad\quad\quad\quad-\mathbb{E}_{\mathbf{x}_t\sim\mathbf{X}_t}\left[\log{(1-D(M_t(\textbf{x}_t)))}\right] \end{aligned}

作者給出了領域對抗技術的一般公式,依次分別是 1)判別器監督損失,2)對抗映射損失,3)(領域)映射優化約束。其中第 1 點的判別器監督損失以在上述模型列出。
minD  LadvD(Xs,Xt,Ms,Mt)minMs,Mt  LadvM(Xs,Xt,D)s.t.  ψ(Ms,Mt) \begin{aligned} \min\limits_D\,\,&\mathcal{L}_{\text{adv}_D}(\mathbf{X}_s,\mathbf{X}_t,M_s,M_t)\\ \min\limits_{M_s,M_t}\,\,&\mathcal{L}_{\text{adv}_M}(\mathbf{X}_s,\mathbf{X}_t,D)\\ s.t.\,\,&\psi(M_s,M_t) \end{aligned}

2.1 源映射與目標映射

ψ(Ms,Mt)\psi(M_s,M_t) 設計思路:

  1. 最小化兩領域各自映射之間的距離,

  2. 維持目標映射的類別可分性。

神經網絡的映射可以採用層結構的符號進行表示,即
ψ(Ms,Mt){ψi(Msi,Mti)}i{1n} \psi(M_s,M_t)\triangleq\{\psi_i(M_s^i,M_t^i)\}_{i\in\{1\dots n\}}
神經網絡模型的表示約束形式主要有兩種:

  1. 源域和目標域層表示相同,可通過 CNN 權重共享的方式來實現,即

    • ψi(Msi,Mti)=(Msi=Mti)\psi_i(M_s^i,M_t^i)=(M_s^i=M_t^i)

    • 所有層的表示都約束(即對稱變換)會造成相同的網絡處理兩個獨立的領域,造成優化的條件非常差。

  2. 源域和目標域層表示無約束。

    • 層子集表示約束(即約束部分層,非對稱變換)允許模型能夠學習每個領域的獨立參數。

2.2 對抗損失

作者採用了 GAN 損失的形式,即
LadvM(Xs,Xt,D)=ExtXt[logD(Mt(xt))] \mathcal{L}_{\text{adv}_M}(\mathbf{X}_s,\mathbf{X}_t,D)=-\mathbb{E}_{\mathbf{x}_t\sim\mathbf{X}_t}\left[\log{D(M_t(\textbf{x}_t))}\right]

3. 對抗判別式領域自適應

在領域對抗方法的廣義框架下,有三個設計原則:

  1. 使用生成式模型還是判別式模型?

  2. 是否繫緊或解開模型權重?

  3. 使用哪種對抗學習的優化目標?

對三個原則確定各自的方法,就可以獲得一種新的領域自適應方法。而其中的判別式方法就是在第一原則中選擇判別式模型的方法。

根據上述的三種設計原則,作者提出的對抗判別式領域自適應的三個設計原則分別是:

  1. 判別式模型,其依據是:
    1. 生成式模型的參數和判別式自適應任務大多是無關的,
    2. 生成式模型大多適用於源域和目標域非常相近的場合。
  2. 權重不共享,在優化過程中會出現的問題和解決的方法:
    1. 問題:無權重共享、無標籤的目標域模型可能會學到一個退化的解?
    2. 解決方法:預訓練的源域模型作爲目標表示空間的實例。
  3. 標準的 GAN 損失。

其整體的損失函數爲:
minMs,CLcls(Xs,Ys)=E(xs,ys)(Xs,Ys)k=1K1[k=ys]logC(Ms(xs))minD  LadvD(Xs,Xt,Ms,Mt)ExsXs[logD(Ms(xs))]ExtXt[log(1D(Mt(xt)))]minMt  LadvM(Xs,Xt,D)=ExtXt[logD(Mt(xt))] \begin{aligned} &\min\limits_{M_s,C}\,\mathcal{L}_{\text{cls}}(\mathbf{X}_s,Y_s)=\\ &\quad\quad-\mathbb{E}_{(\mathbf{x}_s,y_s)\sim(\mathbf{X}_s,Y_s)}\sum\limits_{k=1}^K\mathbb{1}_{[k=y_s]}\log{C(M_s(\textbf{x}_s))}\\ &\min\limits_D\,\,\mathcal{L}_{\text{adv}_D}(\mathbf{X}_s,\mathbf{X}_t,M_s,M_t)\\ &\quad\quad-\mathbb{E}_{\mathbf{x}_s\sim\mathbf{X}_s}\left[\log{D(M_s(\textbf{x}_s))}\right]\\ &\quad\quad\quad\quad-\mathbb{E}_{\mathbf{x}_t\sim\mathbf{X}_t}\left[\log{(1-D(M_t(\textbf{x}_t)))}\right]\\ &\min\limits_{M_t}\,\,\mathcal{L}_{\text{adv}_M}(\mathbf{X}_s,\mathbf{X}_t,D)=\\ &\quad\quad-\mathbb{E}_{\mathbf{x}_t\sim\mathbf{X}_t}\left[\log{D(M_t(\textbf{x}_t))}\right] \end{aligned}
這個方法的訓練過程是一個分階段的過程:

  1. 優化分類器和對抗(源域)映射 CCMsM_s

  2. 優化判別器和對抗(目標域)映射 DDMtM_t

4. 無監督領域自適應實驗

實驗分爲三個任務:

  1. 無監督領域自適應基準任務:數字數據集,MNIST、USPS 和 SVHN。
  2. 跨視覺域的自適應學習任務:標準 Office 數據集。
  3. 跨模態的自適應學習任務:NYUD 數據集。

數據集的示例如下圖所示:
ADDA_data
實驗涉及 4 種算法分別是 Gradient reversal、Domain confusion、CoGAN 和作者提出的 ADDA。

表1. 對抗領域自適應方法的屬性
方法 基礎模型 權重共享 對抗損失
Gradient reversal discriminative shared minimax
Domain confusion discriminative shared confusion
CoGAN generative unshared GAN
ADDA discriminative unshared GAN

4.1 無監督領域自適應基準任務

  • 數據:數字數據集,MNIST, USPS, SVHN,10個類別:0-9。

    • MNIST:2000
    • USPS:1800
    • SVHN:所有的訓練集
  • 遷移任務:MNIST \to USPS, USPS \to MNIST, SVHN \to MNIST

  • 方法及其設定:

    • 基礎模型 LeNet,
    • ADDA 判別器:500 FC + ReLU + 500 FC + ReLU + 輸出,
      • 優化參數:Adam、10000 次迭代、學習率 0.0002、β1=0.5\beta_1=0.5β2=0.999\beta_2=0.999、每個 batch 256 張圖片、128 張圖片/領域、灰度圖、28$\times$28 像素。
    • 對比方法:Gradient reversal、Domain confusion、CoGAN。
  • 實驗結果(^\star 表示最佳性能):生成式方法 CoGAN 適用於相似的數據集,在相似度低的數據集上,未收斂;判別式方法 ADDA 獲得了顯著的性能效果。

    方法 MNIST \to USPS USPS \to MNIST SVHN \to MNIST
    盡源域數據 0.752±0.0160.752 \pm 0.016 0.571±0.0170.571 \pm 0.017 0.601±0.0110.601 \pm 0.011
    Gradient reversal 0.771±0.0180.771 \pm 0.018 0.730±0.0200.730 \pm 0.020 0.7390.739
    Domain confusion 0.791±0.0050.791 \pm 0.005 0.665±0.0330.665 \pm 0.033 0.681±0.0030.681 \pm 0.003
    CoGAN 0.912±0.0080.912 \pm 0.008^\star 0.891±0.0080.891 \pm 0.008 未收斂
    ADDA 0.894±0.0020.894 \pm 0.002 0.901±0.0080.901 \pm 0.008^\star 0.760±0.0180.760 \pm 0.018^\star

4.2 跨視覺域的自適應學習任務

  • 數據:NYU depth 數據集,19 個目標類別,共 1449 張室內圖片,分別劃分爲三個子集,然後在對每一張圖片的目標裁剪出實例:

    • 訓練集(源域 RGB):381 張圖片,裁剪出 2186 個圖片
    • 驗證集(目標域 HHA):414 張圖片,裁剪出 2401 個圖片
    • 測試集:654 張圖片,
  • 遷移任務:RGB \to HHA

  • 方法及其設定:

    • 基礎模型 VGG-16:在 ImageNet 上進行預訓練
      • 源域上的精調:20000 次迭代,批量大小 128
    • ADDA 判別器:1024 FC + ReLU + 2048 FC + ReLU + 輸出
      • 優化參數:20000 迭代,其它設置與數字數據集訓練設置一樣。
  • 實驗結果(^\star 表示性能顯著提升,^\triangle 表示性能下降):驗證集總樣本數 2401,源域數據訓練性能 0.1390.139,ADDA 學習的性能 0.2110.211,目標域數據訓練性能 0.4680.468

    bathtub bed bookshelf box chair
    樣本數 19 96 87 210 611
    僅源域 0.000 0.010 0.011 0.124 0.188
    ADDA 0.000 0.146 0.046 0.229^\star 0.344^\star
    僅目標域 0.105 0.531 0.494 0.295 0.619
    counter desk door dresser garbage bin
    樣本數 103 122 129 25 55
    僅源域 0.029 0.041 0.047 0.000 0.000
    ADDA 0.447^\star 0.025^\triangle 0.023^\triangle 0.000 0.018
    僅目標域 0.573 0.057 0.636 0.120 0.291
    lamp monitor night stand pillow sink
    樣本數 144 37 51 276 47
    僅源域 0.069 0.000 0.039 0.587 0.000
    ADDA 0.292^\star 0.081 0.020^\triangle 0.297^\triangle 0.021
    僅目標域 0.576 0.189 0.235 0.630 0.362
    sofa table television toilet 整體性能
    樣本數 129 210 33 17 2401
    僅源域 0.008 0.010 0.000 0.000 0.139
    ADDA 0.116^\star 0.143^\star 0.091 0.000 0.211^\star
    僅目標域 0.248 0.357 0.303 0.647 0.468

4.3 跨模態的自適應學習任務

  • 數據:Office 數據集,分別來自三個領域 amazon (A), webcam (W), dslr (D),共 4110 張圖片。

  • 遷移任務:A \to W, D \to W,

  • 方法及其設定:

    • 基礎模型:AlexNet(僅對比) 或 ResNet-50(精調過程不包含 conv5 及以上結構)
    • ADDA 判別器:1024 FC + ReLU + 2048 FC + ReLU + 3072 FC + ReLU + 輸出
    • 優化過程:SGD,2000 次迭代,學習速率 0.001,動量 0.9,批量大小 64
  • 實驗結果(^\star 表示性能最優):ADDA 在所有遷移任務上獲得了一致的提升效果。

    方法 A \to W D \to W W \to D
    AlexNet 僅源域 0.642 0.961 0.978
    ResNet-50 僅源域 0.626 0.961 0.986
    DDC 0.618 0.950 0.985
    DAN 0.685 0.960 0.990
    DRCN 0.687 0.964 0.990
    DANN 0.730 0.964 0.992
    ADDA 0.751^\star 0.970^\star 0.996^\star

參考文獻

[1] Eric Tzeng, Judy Hoffman, Ning Zhang, Kate Saenko, and Trevor Darrell. Deep domain confusion: Maxi- mizing for domain invariance. CoRR, abs/1412.3474, 2014. 2, 8

[2] Mingsheng Long and Jianmin Wang. Learning transfer- able features with deep adaptation networks. Interna- tional Conference on Machine Learning (ICML), 2015. 2, 8

[3] Muhammad Ghifary, W Bastiaan Kleijn, Mengjie Zhang, David Balduzzi, and Wen Li. Deep reconstruction-classification networks for unsupervised domain adaptation. In European Conference on Com- puter Vision (ECCV), pages 597–613. Springer, 2016. 2, 8

[4] Yaroslav Ganin, Evgeniya Ustinova, Hana Ajakan, Pas- cal Germain, Hugo Larochelle, Franc¸ois Laviolette, Mario Marchand, and Victor Lempitsky. Domain- adversarial training of neural networks. Journal of Machine Learning Research, 17(59):1–35, 2016. 4, 5, 6, 7, 8


作者:王瑞 同濟大學 計算機系博士研究生

郵箱:[email protected]

CSDN:https://blog.csdn.net/i_love_home

Github:https://github.com/mechanicalsea

歡迎大家的提問~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章