領域自適應(Domain Adaptation)之領域不變特征適配(二)


在前面一節領域自適應(Domain Adaptation)之領域不變特征適配(一)中,我們利用MMD公式來對齊兩個邊緣分布\(P(Z)\)\(Q(Z)\),學習領域不變特征。本章節通過另一種方法來學習領域不變特征————對抗訓練。

一個例子

假設現在有兩堆數據,一堆是真實的樣本來自MINST數據集,一堆是通過GAN生成的樣本。如何判斷GAN生成樣本的質量呢?

可以使用直接使用MMD來做測試!

也可以使用基於參數估計的方法:
假設MINST數據集\(D_s=\{x_i^s\}\),GAN生成樣本數據集\(D_t=\{x_j^t\}\),現在給這些數據打上標簽,如果\(x\)來自MINST,則打上標簽1,若來自GAN,則打上標簽0,即

\[D_s=\{(x_i^s,1)\}, D_t=\{(x_j^t,0)\} \]

  1. 基於所有的數據\(\{D_S,D_t\}\),訓練一個binary分類器\(h:\mathcal{X}\mapsto [0,1]\)
  2. 給定一個由GAN生成的測試樣本\(y\),若\(h(y)\)的得分越接近0.5,則說明GAN樣本的質量越好,分類器很難將GAN生成的樣本與真實的MINST數據集作出區分;如果越接近0,則說明生成的質量越差。
  3. 由此,可以定義一個泛化誤差,

\[err(h)=\frac{1}{2m}\sum_{x} |h(x) - I_{x\in D_s}| \]

err越大,說明越難以區分,GAN質量越高;相反,則越容易區分,GAN生成的樣本與MINST有明顯差別,生成的質量越差。
4. 由此,我們得到了一個常用的測量工作\(\mathcal{A}\)-distance,

\[2(1-2\min_{h} err(h)) \]

思想:與基於MMD的方法不同,基於對抗訓練的UDA方法就是構建一個額外的判別器\(h\)用於判斷樣本的特征來自哪個域,然后訓練一個統一的特征抽取器去“糊弄”\(h\),讓其\(\mathcal{A}\)-distance盡可能的小,無法分辨出特征來自哪個域,以獲取域間的“共享特征”。

最大均值差異MMD與GAN

在原始的GAN中,其損失函數是

其中判別器\(D\)的作用是判別樣本\(x\)是真實的樣本還是\(G\)生成的樣本,然后促使\(G\)生成更逼真的樣本來糊弄\(D\)
GAN的真實目的是讓生成樣本分布與真實樣本分布達到一致。這與MMD的作用是一樣的,所以傳統的GAN方法其實是可以用MMD來實現的,以實現兩個分布間的對齊(一致)。

我們利用MMD得到一個新的損失函數(參考工作 Y. Li et al. Generative moment matching networks. ICML2015),

其原理圖是

這樣做的優點是MMD提供了一個closed-form的解,而且理論上與GAN是近似的;避免了對抗訓練帶來的不穩定性。

基於對抗訓練的UDA

(工作來源:Ganin et al. Unsupervised Domain Adaptation by Backpropagation. ICML 2015.)

我們已經介紹了基於MMD的UDA方法,其實可以將MMD換成一個判別器來抽取領域不變的特征。

模型的基本結構

我們構造兩個損失函數,一個是源域的交叉熵,一個是判別器區分特征來自哪個域的binary損失。

訓練的規則如下,

反轉梯度層 Gradient Reversal Layers (GRL)


特征抽取器\(G_f\)即有正向的梯度,又有反向的梯度,這是很難用現有的SGD來解決的。

我們可以定義一種偽函數,其正向傳播是保持不變的,其反向傳播是會變成負向的梯度

基於這樣的設計,
我們把\(L_d\)中的\(d(x)\)作下轉化,得到新的損失函數\(L_{nd}\)

這時的新訓練目標轉換為,

我們通過引入偽函數把一個最大最小問題轉化為一個最小問題

解釋

反向傳播的時候自然會把負號引入進來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM