14年9月份掛出來的文章,基本思想就是用對抗訓練的方法來學習domain invariant的特征表示。方法也很只管,在網絡的某一層特征之后接一個判別網絡,負責預測特征所屬的domain,而后特征提取器和判別器在域分類loss上對抗,同時特征提取器和lable分類器(也就是原任務中的分類器)共同優化lable分類loss。整個過程跟GAN是差不多的,一種個人的不嚴謹的說法,可以將GAN理解成像素空間上的Adaptation,而這篇文章是特征空間上的Adaptation。
文章的另一個貢獻是提出了梯度反轉層,原始的GAN生成器和判別器是交替訓練的,這樣寫代碼會有一些麻煩,這里我就不貼一大堆公式和符號了,平實的語言就能說清楚這個事情,看懂我寫的東西之后再看論文的公式應該就小菜一碟了。模型域對抗的目標就是調整判別器的參數,使得域分類loss最小,同時調整特征提取器的參數,使得域分類loss最大。這個過程可以使用交替訓練這兩個模塊來實現,也可以將域分類loss反傳之后,再反轉特征提取器的參數。這里,作者在特征提取器和判別器之間加了一層梯度反轉層(GRL),forward時為恆等變換,backward時將梯度取反,就ok了。
下面寫一下這種方法的理論解釋,文章用\(\mathcal{H}\Delta\mathcal{H}\)距離來表示。
這里f就是特征(可以是low-level的像素特征,也可以是high-level的深度特征),\(h_1\),\(h_2\)就是分類器。這個公式這樣來定義兩域的距離:找兩個分類器,使其對S域樣本預測不一致的概率與對T域樣本預測不一致的概率之差的絕對值最大,這個差值的上界再乘以2就是兩個domain關於假設空間H的距離了。可以這樣理解,就是找兩個分類器,使其在兩個域上的表現最不一致,用這兩個分類器就能把距離定義出來了。然后可以有以下的定理:
其中,\(\varepsilon_\mathcal{T}(h)\)和\(\varepsilon_\mathcal{S}(h)\)分別表示分類器h在T域和S域的performance,C是一個不依賴於h的常數。這樣,給定假設空間H(實際上就是給定分類器的模型結構),\(\varepsilon_\mathcal{S}(h)\)是可觀測的,這樣就給出了分類器h性能的上界。。。
搞笑了。。。下面越讀越不對勁,感覺作者表述的不是很清楚,有時間再回來看看吧。
