1. 程式人生 > >Duplex Generative Adversarial Network for Unsupervised Domain Adaptation

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複製的標記源域樣本進行微調

 

&n