NIPS 2018論文解讀 | 基於條件對抗網路的領域自適應方法
論文動機
Domain Adaptation 問題一直以來是遷移學習和計算機視覺領域等的研究熱點。從傳統方法,到深度方法,再到最近的對抗方法,都在嘗試解決此問題。作者在本文中提出, 現在的對抗方法面臨兩個挑戰:
一是當資料特徵具有非常複雜的模態結構時,對抗方法無法捕獲多模態的資料結構,容易造成負遷移。通俗點說就是,現有的方法沒有抓住深度特徵之間的關係,只是把它們一股腦進行對抗適配。
二是當上面的問題存在時,domain classifier 就很容易出錯,所以造成遷移效果不好。
論文方法
本文提出了 基於條件對抗網路的領域自適應方法 ,英文名叫做 Conditional Adversarial Domain Adaptation。從題目中不難看出, 主要由 Condition + Adversarial + Adaptation 這三部分構成。
進行 condition 的時候,用到了一個叫做 multilinear map 的數學工具,主要是來刻畫多個特徵和類別之間的關係。下面我們分別進行描述。
對抗網路基本結構
發表於 ICML 2015 的經典文章 Unsupervised domain adaptation by backpropagation [1]中提出了用對抗的思想進行 Domain Adaptation,該方法名叫 DANN(或 RevGrad)。核心的問題是同時學習分類器 G、特徵提取器 F、以及領域判別器 D。通過最小化分類器誤差,最大化判別器誤差,使得學習到的特徵表達具有跨領域不變性。
作者指出,DANN 的方法只是關注了資料特徵的整體分佈,忽略了和類別之間的相關性。因此, 本文首先提出,要將特徵和類別一起做自適應。 公式如下:
其中,f 和 g 分別是特徵和類別。通過類似於 GAN 的最大最小優化方法,就可以進行 Domain Adaptation。
條件對抗機制
聯合優化 (f,g) 的方法很多,將它們的特徵向量連線起來是最直接的方法。但是這會造成它們彼此之間還是相互無關。達不到控制條件的目的。
作者借鑑了數學上的多線性對映(Multilinear Map)概念,來表徵特徵和分類器彼此之間的關係。什麼是多線性對映?通俗點說就是,f(x)→y 是單對映,f(x,y)→z 是雙對映,以此類推。線性呢?當固定其他自變數時,f 對未固定的那個自變數滿足線性性(就是可加性、數乘不變),維基百科上對多線性對映的解釋太抽象了。
那麼,如何進行多線性對映?用 f⊗g。這裡的 ⊗ 表示張量乘法,就是很多維的矩陣的乘法。
由於在深度網路中,特徵維度往往很高。為了解決維度高導致的計算複雜度增加的問題,作者引入了相應的計算方法:
就是說, 當資料維度太高時,直接從特徵裡隨機取樣一些向量做乘法。 否則,用作者提出的方法做對映。
條件對抗網路
為了應對那些對遷移有負面影響的樣本,作者用熵來控制它們的重要性,把熵操作加到了對抗網路中。
整個網路的優化目標如下:
作者還在文章中分析了方法的理論誤差上界。
實驗
實驗部分與傳統的 Domain Adaptation 相同,在 Office-31,ImageCLEF-DA,Office-Home,MNIST,USPS,以及 SVHN 這些公開資料集上都進行了實驗。
實驗比較充分,詳細結果可以看原文。從結果上來說,取得了比作者之前的 JAN 更好的結果,不過提升幅度有限,這可能是深度網路"漸進式"式的增長。
參考文獻
[1] Ganin, Y. and Lempitsky, V. Unsupervised domain adaptation by backpropagation. In International Conference on Machine Learning (ICML), 2015.