Duplex Generative Adversarial Network for Unsupervised Domain Adaptation


Duplex Generative Adversarial Network for Unsupervised Domain Adaptation

 

  域自適應嘗試將從源域獲得的知識傳送到目標域,即測試數據所在的域。主要的挑戰在於源域和目標域之間的分布差異。大多數現有工作通常通過最小化分布距離來努力學習域不變表示,例如MMD和最近提出的生成對抗網絡(GAN)中的鑒別器。

遵循GAN的類似想法,本文提出了一種新穎的GAN架構,其具有雙工對抗性分解器(稱為DupGAN),可以實現域不變表示和域變換。具體來說,所提出的網絡由三部分組成,一個編碼器,一個發生器和兩個鑒別器。編碼器將來自兩個域的樣本嵌入到潛在表示中,並且生成器將潛在表示解碼為分別以域代碼為條件的源域和目標域,即實現域轉換。生成器與雙重判別器相對應,一個用於源域,另一個用於目標,以確保域轉換的實際,潛在表示域不變以及它的類別信息也被保留。

 

 

本文工作 

  遵循現有的基於GAN的域自適應方法,本文提出了一種名為DupGAN的雙工生成對抗網絡,以實現域不變特征和域變換。如圖1所示,DupGAN由編碼器,發生器和雙工鑒別器組成。

  編碼器將來自兩個域的圖像嵌入到潛在表示中;

  生成器通過將以域代碼為條件的潛在表示解碼為源或目標域圖像來實現域變換;

  同時為了使得生成的圖像看起來像真實的源域圖像或目標域圖像,引入雙工鑒別器進行約束,一個用於區分真實或偽源域圖像而另一個用於區分是否真正來自目標域。此外,任何一個鑒別器不僅負責區別域的真假,還要對真實圖像進行分類以使得潛在表示域不變並保留其類別信息。

  基於此,我們在潛在表示上建立分類器,用於預測目標域圖像的標簽。

 

·      圖1中顯示了所提出方法的概述。編碼器,表示為,嘗試將來自源域或目標域的任何圖像映射到潛在表示。表示為的生成器將潛在表示解碼為由域代碼調節的源或目標域圖像,即,實現域變換。生成器針對雙工鑒別器進行挖掘,一個用於源域,另一個用於目標域,分別表示為和,以將輸入到生成器中的潛在表示約束為域不變。堆疊在編碼器上的分類器(表示為)嘗試區分來自源域和目標域的圖像類別,並且還有助於最終分類。此外,每個鑒別器不僅區分真實圖像和生成圖像,而且還區分真實圖像的類別信息,以便強制潛在表示z是域不變的並且保留類別信息。源域圖像和來自生成器G的對應物的標簽都是可用的,可以直接在Ds和Dt中使用。然而,目標域圖像的標簽及其與生成器G的對應物不可用,因此在優化Dt時使用從分類器C預測的偽分類標簽。

 編碼器和生成器

  編碼器E的目的是將輸入圖像從源域或目標域轉換為潛在表示z,如下所示:

其中E可以是任何類型的深度神經網絡,參數表示為WE。為方便起見,任何源或目標域樣本的潛在表示分別表示為

然后,源域圖像和目標域圖像的整個潛在表示空間分別表示為

 

所以

 

       我們希望潛碼表示z具有域不變性。首先,只考慮將所有樣本轉換為僅源域的一條路徑,生成器G嘗試將z從任一域解碼為源。因此,z傾向於是關於源的粗略聯合子空間。與之類似的的目標的另一條路徑,z傾向於是與目標相關聯的粗略聯合子空間。在使用兩個路徑進行優化期間,來自兩個路徑的z的梯度將在它們彼此沖突時折衷,這將導致一個共同的子空間,更不用說存在共性的優勢,這是我們解決域不變性的關鍵。

 

  生成器公式化如下:

其中域代碼用於指定潛在表示轉換為哪個域。與E類似,也可以是任何類型的深度神經網絡,其參數表示為WG。輸入圖像可以來自源域或目標域,並且可以分別轉換為源域和目標域。因此,生成器生成四種類型的圖像,詳述如下

 

 

 

 

 

為了容易實現,擬將潛在表示和域代碼連接成一個長向量用來作為的輸入。對於源域圖像,當轉換為源域時,生成的圖像應該與自身相同,並且當轉換到目標域時,受鑒別器的約束,生成的圖像應該看起來類似於具有類別不變的真實目標域圖像。

  編碼器和生成器的目標函數如下:

 

其中H表示交叉熵,a是一個平衡參數,第一和第三項加強執行潛在表示,以通過生成器和雙鑒別器和之間的對抗性學習來保留跨域和類別信息。第2和第4項是從其原始域生成的那些圖像的重建約束。

  樣本Xst是從源域轉變的,因此它的類別期待是與Xs相同,它的標簽采用如下的one-hot編碼:

 

 

  樣本Xts是從目標域轉變的,因此它的類別期待是與Xt相同,但是目標域的數據是沒有標簽的,因此,我們使用分類器C估計Xt的類別,Xts與Xt的label一樣,標簽形式如下:

 

 

 

 

 在yts和yst中最后一個節點是對於假樣本。當優化生成器的時候,圖像Xts和Xst被期待是真的,最后一個節點被設置為0

雙工判別器

  雙工鑒別器的功能是將真實圖像與偽圖像區分開,並且還對真實源圖像和目標圖像進行分類。在所提出的DupGAN的總體方案中,雙工鑒別器堆疊在發生器G上以確保從發生器產生的圖像看起來是真實的並且保留它們的類別信息(例如,來自一個域的“1”的圖像仍然是“ 1“但轉換到其他域時不是其他類別之一”),這可以進一步加強潛在表示z域不變和信息。由於難以直接約束未標記的目標域圖像的標簽一致性,我們首先為真實目標域圖像提供偽標簽,然后強制其生成的樣本與之相同標簽。

  具體地,源域的鑒別器Ds嘗試區分具有源域樣式的樣本,即真實圖像Xs和生成的圖像Xts。此外,還對真實圖像進行分類。因此Ds的輸出是具有c + 1個節點的softmax層,其中前c節點表示真實圖像的類別,最后一個表示輸入圖像的真假。與E和G類似,和都可以是任何類型的深度神經網絡,它們的參數表示為。

  當輸入為Xs時,Ds應將其分類為c個實類中的一個,即目標標簽是來自Xs的圖像的已知分類標簽,詳述如下:

    

  當輸入為Xts時,Ds應將其分類為假類。目標標簽如下

 

 

 

   標簽〜和〜是單一編碼。當輸入圖像是真實的,其真實類的節點被設置為1,並且包括指示虛假的第(c + 1)節點的其他節點被設置為0.輸入圖像是假的,即生成時,第(c + 1)個節點設置為1,其他節點(即實際節點)設置為0。

 類似地,鑒別器Dt嘗試對目標域進行真/假判別和類別分類。 Dt的輸入由來自Xt和Xst的圖像組成,輸出也被建模為具有c + 1個節點的softmax層。輸入圖像xt(標簽由分類器C得到)和xst的目標標簽如下:

 

 

  此處Yst和Yts前C維都是0。

       總之,雙工鑒別器Ds和Dt的目標函數如下:

 

 

 

其中H(·,·)是交叉熵損失,WD表示Ds和Dt的參數。

   應該注意的是,~yst和~yts在發生器和雙工鑒別器之間的對抗優化期間配備有不同的值。當優化Ds和Dt時,預期Xst和Xts的激活位於最后一個節點中,如等式(11)和(13)中所示,以強制它們能夠區分真實圖像和偽圖像。當優化發生器G時,預期Xst和Xts的激活位於第一c個節點中,如等式(10)和(12)中那樣,以強制生成能夠產生真實圖像的生成器。 

     有一點不明白的優化G的時候中Yts和Yst最后一個節點設置為1,而優化D的時候Yts和Yst最后一個節點設置為0?

 

分類器

  對於分類分類,在潛在表示z上建立分類器C,其目標函數如下:

其中C可以用任何類型的具有softmax輸出的深層網絡層構造,H(·,·)是交叉熵損失,WC代表C的參數。通過分類器C估計已經在等式(9)和(12)中示出的目標域的偽標簽yt。值得注意的是,等式(15)中的第二項僅包含具有高置信度的那些偽標記樣本。前提是高度自信的偽標簽大多是正確的[6,40]和共性的主導[2],yt也可用於訓練C而不會降低性能。分類器C需要僅利用源域圖像進行預訓練,以確保初始傳輸能力,即,由於域自適應中的共性的優勢,能夠以高置信度獲得大部分正確偽標記的目標域樣本。因此,第二項中樣本的數量在一開始就很少甚至為零,隨着訓練的進行而變得更大

  此外,C進一步有助於獲得域不變表示z,因為z中的域特定部分將被G丟棄或隱藏,為了欺騙不僅具有真/假辨別而且還有類別分類功能的Ds和Dt。因此,只有z中的域不變部分可以被Ds和Dt利用,並且z往往是域不變的,以避免G中的信息丟失。

 

 總體目標

  總體目標函數可以表述如下:

 

 其中B是一個平衡參數

   生成器和雙工鑒別器以對抗方式進行優化,這可以確保來自發生器的圖像是真實的並且保留其類別信息。像所有對抗性學習方法一樣,用於優化G和D的生成圖像的標簽是不同的,如等式(8),(9),(11)和(13)所示。因此,整個網絡以另一種方式進行優化,即替代梯度下降WD和{WE,WG,WC}。算法1中顯示了詳細的優化過程。

 

 

與相關工作的不同

  與DANN和ADDA 的區別

  DANN和ADDA都將目標域樣本映射到深度特征空間中的源域,其中應用了域分類的對抗性丟失。當映射到源域時,它們都不能保證目標域特征空間的結構不會失真。相反,我們的DupGAN不僅減輕了域差異,而且通過具有附加分類任務的雙工鑒別器保留了目標域的類別結構。此外,我們的DupGAN能夠在域之間進行圖像轉換,而DANN和ADDA則不能。

  與DRCN(Deep Reconstruction-Classification Networks )的區別 

  DRCN結合了源域的分類任務和目標域的重構任務,找到了兩個域的共享特征空間,但是,共享表示更多地優先於源域。更有利的是,我們的DupGAN采用生成器和雙工鑒別器之間的對抗性學習來明確地確保潛在表示域不變。

  與DTN ,CoGAN 和UNIT的區別

  所有DTN,CoGAN,UNIT和我們的DupGAN都遵循生成對抗網絡的思想來實現跨域表示和域轉換。然而,所有其他三種方法只進行真/假的對抗性學習,這可能導致域變換過程中的結構失真。不同的是,在我們的DupGAN中,域對抗性學習與類別分類耦合在一起導致域不變的潛在表示和域變換,類別信息不失真

  與kNN-Ad 和ATDA(Asymmetric Tri-training for Unsupervised Domain Adaptation)的區別

  KNN-Ad和ATDA都通過重新標記未標記的靶區域來實現無監督的域適應。在這兩種方法中,目標域的標記主要基於源域樣本,而沒有明確考慮域差異。在我們的DupGAN中,目標域的標簽基於域不變的潛在表示,可以實現更自信的類別標簽。此外,我們的方法可以進行域轉換,而kNN-Ad和ATDA都不能。

 

實驗

 

  手寫數字分類

 

 

本文的作者進一步可視化學習潛在表示的分布,以研究域適應的影響在SVHN------->MNIST實驗中,

 

 

 
(a)顯示原始源和目標域樣本的分布;
(b)顯示了由我們提出的DupGAN獲得的源域和目標域樣本的潛在表示的分布。源域和目標域樣本分別以紅色和藍色顯示,並且類別以不同的形狀繪制。

 

如上圖所示,DupGAN的潛在表示空間中的差異顯着減小。此外,來自兩個領域的樣本的類別結構如預期的那樣保存完好,這有利於最終分類。

 

此外,上圖顯示了從SVHN到MNIST數據集的域變換圖像。本文的方法可以有效地實現保留類別信息的圖像變換。

 

   消融實驗

    我們還嘗試進行無監督域適應的消融研究在MNIST---->USPS和SVHN---->MNIST。即僅使用分類器C訓練和重建損失(表示為DupGAN-woA),沒有鑒別器訓練(表示為DupGAN-woAD),並且僅使用分類器C進行訓練(表示為DupGAN-woADG)

可以看出,當移除一個或多個部件時,性能降低。刪除的部件越多,性能越差。結果還表明,所有部件都是合理設計的,它們相互協調,形成了一個有效的域適應解決方案,特別是對那些具有挑戰性的案例

 

  無監督預適應對物體識別

  在Office-31上進行無監督域適應的結果。對於相同的實驗設置,我們直接從原始論文中復制相關工作的結果。 “DCNN”是AlexNet的結果,僅使用從DAN復制的標記源域樣本進行微調

 

 


免責聲明!

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



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