Unsupervised Domain Adaptation by Backpropagation(2015)學習筆記
Unsupervised Domain Adaptation by Backpropagation(2015)學習筆記
目錄tip
是第一篇將對抗性訓練的思想使用到域適應中的論文。
abstract
現如今,深度體系結構的良好效能大多得益於大量已標註樣本下的訓練。在某項任務缺乏已標記樣本的情況下,如果可以獲得特徵相似但來自不同領域的已標記樣本(例如合成影象),則領域域適應便成為一種有吸引力的選擇。這裡,作者提供了一種適用於深度框架下的新方法,該方法由源域中的已標註樣本以及目標域中的未標註樣本來進行訓練(其中目標域中)。
在訓練進行的過程中,這種方法促進了“深層”特徵的出現:
(1)區分源域上的主要學習任務
(2)域之間的不變性( ?)
這種域適應行為幾乎可以在任何前饋模型
中通過增加幾個標準層和一個簡單的梯度反轉層
來實現,可以使用標準反向傳播來訓練最終的增強後的架構。
1.introduction
深度前饋網路架構為現在很多在機器學習任務和應用帶來了先進的技術,可是這些提升只有在大量已標註的樣本供給訓練的情況下從才能實現。雖然對於缺乏已標註樣本的問題,仍然有可能獲得足夠大的樣本集來訓練大規模的深度模型,但是這樣獲得的樣本會與測試樣本集中的樣本分佈不同,從而造成域偏移問題。例如合成圖片或者半合成圖片,雖然這些圖片易於獲取並且樣本已標註,但是它們與真實的樣本還是有著不小的差異。
域域適應就是在源域與目標域之間存在域偏移的情況下學習擁有良好辨別能力的分類器或者是其它鑑別器。在“淺度學習”(資料樣本的特徵表示已經給出)中,很多域適應方法已經取得顯著成效。這些方法建立源域到目標域的對映,這樣一來,在源域學習到的分類器結合了之前建立的對映後就可以應用到目標域的特定任務中
域適應方法的成效主要取決於該方法利用完全未標註的目標域樣本集(無監督域適應)或者在目標域部分已標註的樣本集(半監督域適應)學習兩個域中間對映的能力
。本文主要講重點放在更具挑戰性的無監督域適應問題上。
一般的域適應方法對比使用固定的特徵表示,但是本方法不同,該方法致力於在訓練過程中結合域適應
與深度特徵學習
於一體。該方法的目標是將域適應嵌入學習特徵表示
的過程中,使得最終的分類決策是基於對域變化的區別性與不變性特徵而做出的。這樣,所獲得的前饋網路可以適用於目標域,而不受域偏移的阻礙。
於是我們的方法在學習特徵時主要將(1)分辨性與(2)域不變性結合,而該方法通過聯合優化潛在的特徵以及隨這些特徵進行操作的兩個鑑別分類器實現的。這兩個分類器分別是(i)用來在訓練過程與測試過程中預測類別的標籤的標籤分類器label classifier和(ii)在訓練期間區分源域與目標域的域分類器domain classifier。
該方法的三個訓練步驟
分別為:(i)優化兩個分類器的引數來最小化其在訓練集上的誤差;(ii)優化底層深層特徵對映的引數來最小化標籤分類器的損失(iii)優化底層深層特徵對映的引數來最大化域分類器的損失。
上述的三個訓練步驟都可以嵌入到一個合適的深度前饋網路中
(如下圖fiture1所示),並可以使用基於隨機梯度下降或其修改的標準反向傳播演算法
進行訓練。
作者提出的模型架構中包括一個特徵提取器(圖中的綠色部分)以及一個深度標籤預測器(圖中藍色部分),二者結合構成了一個標準的前饋架構。
而該模型為了解決無監督域適應問題還添加了一個域分類器,並將一個梯度反轉層插入到在特徵提取器與域分類器之間。該梯度反轉層在反向傳播的訓練期間,將梯度乘以某個負常數。而模型在正常的前向訓標準練中,最小化標籤預測損失(對於源域的樣本)和域分類損失(對於所有樣本)。梯度反轉確保兩個域上的特徵分佈是相似的(對於域分類器來說是儘可能不可區分的),從而產生域不變的特徵。
本文提出的方法是通用的,因為它可以向任何通過反向傳播訓練的前饋體系結構新增域域適應模組。該方法的體系結構中唯一的非標準元件是一個相當簡單的梯度反轉層
,它在前向傳播期間保持輸入不變,並在反向傳播期間通過乘以負標量來反轉梯度。
之後文章詳細介紹了在深度體系結構中提出的域域適應方法,並給出了在傳統深度學習影象資料集(MNIST、SVHN、OFFICE)上的結果。
2.related work
近年來,許多域適應方法相繼提出,其中很多方法通過匹配源域和目標域中的特徵分佈
來執行無監督的域域適應。有些方法將源域的樣本重新加權(Borgwardt et al., 2006; Huang et al., 2006; Gong et al., 2013),有些則利用一個顯示的特徵空間的變換來將源域對映到目標域((Pan et al., 2011; Gopalan et al., 2011; Baktashmotlagh et al., 2013)。
當一些方法進行兩個域分佈的匹配時,重點是要使用高效的策略來衡量源域與目標域分佈的差異。其中一個流行的選擇是在再生核希爾伯特空間中匹配分佈均值,在每個分佈中匹配主軸(?)
作者的方法也是通過匹配特徵空間的分佈
來執行無監督下的域適應,然而分佈的匹配是通過修改特徵本身的表示
實現的,而不是通過重新加權或幾何變換來實現。此外,作者還使用一個辨別分類器,基於分佈的可分性來測量分佈之間的差異。(?)
還有一些方法通過訓練分佈的逐漸變化來執行從源域到目標域的逐漸過渡(Gopalan et al., 2011; Gong et al., 2012)。在這些方法中,(S. Chopra & Gopalan,2013)通過深度自動編碼器序列的分層訓練以“深度”的方式做到這一點,同時用目標域樣本逐漸替換源域樣本。其中方法中的分類器在單獨的步驟中使用由自動編碼器學習的特徵表示來學習訓練。
而作者的方法集特徵學習、領域域適應和分類器學習於一體,在一個統一的體系結構中,執行單一的反向傳播演算法。
3.Deep Domain Adaptation
3.1The model
作者使用\(x \in X\)來表示輸入的樣本,其中\(X\)表示輸入空間;對應樣本的標籤使用\(y\in Y\)表示,\(Y\)表示標籤空間。作者假設\(Y\)是一個有限集\(Y=\{1,2,...,L\}\),並假設在\(X\otimes Y\)中存在源域的樣本分佈\(S(x,y)\) 與目標域的樣本分佈\(T(x,y)\),兩個分佈都未知且不同。
作者的最終目標就是為目標域分佈中的樣本x分配標籤y。在訓練中,我們可以接觸到大量邊緣分佈不同(\(S(x) \ne T(x)\))的源域樣本與目標域樣本,其中我們使用一個二元變數\(d_i\)來表示該樣本來自源域的分佈(\(d_i=0\))還是來自於目標域的分佈(\(d_i=1\))。
作者將從源域到目標域的對映過程分為三部分
:
1.首先假設樣本x首先被一個特徵提取器\(G_f\)對映到一個D維的特徵向量\(\mathbf{f}\in \mathbb{R}^D\)中。這個對映過程還包括幾個前饋層,我們將該對映中所有層的引數向量表示為\(\theta_f\),即\(\mathbf{f}=G_f(x;\theta_f)\).
2.特徵向量\(\mathbf{f}\)通過標籤預測器\(G_y\)來預測樣本的標籤y,我們將這個對映中的引數設為\(\theta_y\).
3.最後,通過擁有引數\(\theta_d\)的域分類器\(G_d\),相同的特徵向量\(\mathbf{f}\)被對映得到域標籤d。
在訓練階段,我們的目標是最小化訓練集源域部分的標籤預測損失,於是我們以此優化特徵提取器和標籤預測器的引數,以便最小化源域樣本的損失。這確保了特徵向量\(\mathbf{f}\)的區分性以及特徵提取器和標籤預測器的組合在源域上的整體良好的預測效能。
同時,我們還要使得特徵向量\(\mathbf{f}\)擁有域不變性,即我們想讓分佈\(S(\mathbf{f})=\{G_f(x;\theta_f)|x\sim S(x)\}\) 與分佈\(T(\mathbf{f})=\{G_f(x;\theta_f)|x\sim T(x)\}\) 相似。然而,測量分佈\(S(\mathbf{f})\)和\(T(\mathbf{f})\)的不相似性並不簡單,因為\(\mathbf{f}\)是高維的,並且分佈本身隨著學習的進展而不斷變化。一種估計差異的方法是檢視域分類器\(G_d\)的損失,假設域分類器已經可以通過引數\(\theta_d\)以最佳方式區分兩個特徵分佈。 於是,在訓練時,為了獲得域不變特徵,我們尋找能夠最大化域分類器損失的特徵對映引數\(\theta_f\)(通過使兩個特徵分佈儘可能相似),同時尋找最小化域分類器損失的域分類器的引數\(\theta_d\)。此外,我們還要最小化標籤分類器的損失。
通過公式描述即為:
其中\(L_y(.,.)\)表示標籤預測的損失;\(L_d(.,.)\)表示域分類器的損失;而\(L^i_y\)與\(L^i_d\)則分別表示第i個樣本對應標籤預測的損失以及域分類器的損失。我們尋找引數\(\hat{\theta}_f,\hat{\theta}_y,\hat{\theta}_d\)來表示公式(1)的鞍點:
在鞍點的時候,域分類器中的引數\(\hat{\theta}_d\)最小化了域分類的損失;標籤分類器中的引數\(\hat{\theta}_y\)最小化了標籤預測的損失;特徵對映的引數\(\hat{\theta}_f\)不但通過最小化標籤分類的損失來實現特徵的可分性,還通過最大化域分類的損失來實現域特徵不變性。引數\(\lambda\)來平衡學習期間兩個目標的協調性。
下面,我們證明了標準隨機梯度解算器(SGD)可以適用於鞍點(2)-(3)的搜尋。
3.2 Optimization with backpropagation
鞍點可以通過以下隨機更新來尋找:
其中\(\mu\)表示學習率。
更新(4)-(6)非常類似於前饋深度模型的隨機梯度下降(SGD)更新,前饋深度模型包括饋送到標籤預測器和域分類器的特徵提取器,不同之處在於\(\lambda\)引數的使用。如果方法中不使用\(\lambda\)引數,隨機梯度下降就會將使得跨域特徵變得不同來最小化域分類損失。
上述更新(4)-(6)通過使用一個特別的梯度反轉層(GRL)就是變為SGC的某種形式。在梯度反轉層中,除了\(\lambda\)引數外沒有別的引數與之相關聯,而\(\lambda\)引數在反向傳播不更新。在前向傳播過程中,GRL起到了身份轉換的作用。在反向傳播過程中,GRL從後續層獲取梯度,將其乘以λ,並將其傳遞到前一層。
從數學上講,我們可以將梯度反轉層視為由兩個(不相容的)方程定義的“偽函式”\(R_\lambda(x)\),這兩個方程描述了它的前向和後向傳播行為:
其中\(\mathbf{I}\)是一個單位矩陣。這樣我們就可以定義\((\theta_f,\theta_y,\theta_d)\)通過我們方法中的隨機梯度下降進行優化後的偽函式:
執行更新(4)-(6)可以對(9)進行SGD,並導致同時出現域不變性和特徵的可分性。
在學習之後,我們可以使用標籤預測函式\(y(x)=G_y(G_f(x;\theta_f);\theta_y)\)來預測目標域樣本的標籤。
4.experiments
baselines
1.只使用源域的樣本進行訓練,不考慮目標域的樣本。(source-only model)
2.只使用目標域樣本進行訓練,並將目標域樣本的標籤加入訓練,這樣的結果作為模型效能衡量的上限。(train-ontarget model)
3.使用基於子空間對齊的無監督域適應方法(SA)。該方法易於在新的資料集上設定和測試,但是在與其他“淺層”資料探勘方法的實驗比較中也表現得非常好。為了在我們的設定中應用服務協議,我們訓練一個source-only model,然後將標籤預測器中最後一個隱藏層的啟用視為特徵,並學習源和目標域之間的對映。
由於SA要求在調整特徵後訓練新的分類器,並且為了將所有比較的設定放在平等基礎上,我們使用LSVM對所有四種考慮的方法(包括我們的方法)重新訓練標籤預測器的最後一層。
CNN architectures
對於特徵分類器,作者使用兩個或三個卷積層來組成特徵提取器。對於域分類器,作者使用三個全連線層((x → 1024 → 1024 → 2),而針對MNIST資料集,作者使用(x → 100 → 2)來加速訓練。
對於損失函式,\(L_y\)設定為邏輯迴歸損失,\(L_d\)設定為二元交叉熵損失。
CNN training procedure
該模型在128個大小的批次上進行訓練。影象通過均值減法進行預處理。每個批次的一半由來自源域樣本填充,其餘由目標域組成。為了在訓練過程的早期階段抑制來自域分類器的噪聲訊號,而不是固定域適應因子λ,我們使用下面的方法將其從0逐漸改變為1
其中\(\gamma\)的值被設定為10
Visualizations
作者使用t-SNE估計方法來進行網路中不同點的特徵分佈,並將不同的顏色嵌入到領域中。就目標域樣本的分類精度而言,適應的成功率與這種視覺化中的域分佈之間的重疊率之間有很強的對應關係。
其中,藍色的點表示源域的樣本,紅色的點表示目標域的樣本。(a)圖表示的是沒有任何適應手段的結果,而(b)圖表示的是經過作者的適應方法後的結果。由此可見,經過作者的適應方法,兩個域的特徵分佈更加接近。
Choosing meta-parameters
通常情況下,一個好的域適應方法都會提供高效的超引數的選擇方法(\(\lambda\)、學習率、動量等)。在作者的方法中,可以通過觀察源域上的測試誤差和域分類器誤差
來評估整個系統的效能(以及改變超引數的效果)。總的來說,我們觀察到域適應的成功率和上述這些誤差之間有很好的對應關係(當源域測試誤差低而域分類器誤差高時,域適應更成功
)。此外,域介面卡所連線的層可以通過計算方法之間的差異來選擇。
4.1 results
MNIST → MNIST-M.
為了獲得MNIST-M,作者將原始集合中的數字與從BSDS500的彩色照片中隨機提取的小片相混合。輸出樣本是通過從照片中獲取一個小片,然後在對應於數字的位置反轉其畫素而產生的。對於人眼來說,二者的分辨還是比較容易的,但是對於CNN模型來說,這個資料集與mnist有很大不同,因為背景和筆畫不再是恆定的。
Synthetic numbers → SVHN.
SVHN: Street-View House Number dataset,擁有500000張圖片。作者使用SVHN資料集作為目標域樣本,而使用子集製作的合成圖片作為源域樣本。作者通過改變文字(包括不同的一位數、二位數和三位數)、定位、方向、背景和筆畫顏色以及模糊程度,由我們自己從Windows字型生成。合成數據集與SVHN資料集的差異是可以由人工對合成資料集進行手動調整的,但是這兩個資料集仍然相當大的不同,最大的區別是在SVHN樣本影象的背景中的結構是混亂的。
MNIST ↔ SVHN
在該部分實驗中,作者進一步加大了源域與目標域的域間差異。即使不使用域適應方法,關於在SVHN直接進行的訓練也是具有挑戰性的,分類錯誤在前150個時期保持很高。因此,為了避免陷入區域性極小值,這裡不使用學習率退火。顯然,兩個方向(MNIST → SVHN和SVHN → MNIST)並的難度不相同。
對於SVHN → MNIST場景,由於SVHN資料集更加多樣化,在SVHN上訓練的模型會更加通用,在MNIST資料集上的表現也會更好。當分別使用分類器在MNIST資料集以及SVHN資料集進行單獨的訓練的時候,我們發現SVHN訓練後的網路中的特徵會更加複雜,這也就解釋了為什麼作者的方法在SVHN → MNIST場景中成功地提高了效能,但在相反的方向上卻沒有。也就是說,該方法在MNIST → SVHN上的實驗是失敗的。
Synthetic Signs → GTSRB.
該部分的設定與之前的SYN NUMBERS → SVHN實驗大致相似,只不過由於該部分的資料集中的類別更多,所以特徵的分佈也就更復雜。
5.Discussion
作者提出了一種深度前饋體系結構的無監督領域自適應的新方法,它允許基於源域中的大量已標註樣本和目標域中的大量未標註樣本進行大規模訓練。與許多以前的淺層和深層資料採集技術類似,這種域適應是通過調整兩個域中的特徵分佈來實現的。然而,與以前的方法不同,對齊是通過標準的反向傳播訓練來完成的。因此,該方法是相當可擴充套件的,並且可以使用任何深度學習包來實現。