論文筆記:Unsupervised Domain Adaptation by Backpropagation


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}\)距離來表示。

\[d_{\mathcal{H} \Delta \mathcal{H}} (\mathcal{S}, \mathcal{T})= 2 \sup_{h_1, h_2 \in \mathcal{H}} \left| P_{\mathbf{f} \sim \mathcal{S}} [h_1(\mathbf{f}) \neq h_2(\mathbf{f})] - \right.\left. P_{\mathbf{f} \sim \mathcal{T}} [h_1(\mathbf{f}) \neq h_2(\mathbf{f})] \right| \]

這里f就是特征(可以是low-level的像素特征,也可以是high-level的深度特征),\(h_1\)\(h_2\)就是分類器。這個公式這樣來定義兩域的距離:找兩個分類器,使其對S域樣本預測不一致的概率與對T域樣本預測不一致的概率之差的絕對值最大,這個差值的上界再乘以2就是兩個domain關於假設空間H的距離了。可以這樣理解,就是找兩個分類器,使其在兩個域上的表現最不一致,用這兩個分類器就能把距離定義出來了。然后可以有以下的定理:

\[\varepsilon_\mathcal{T}(h) \leq \varepsilon_\mathcal{S}(h) + \frac{1}{2} d_{\mathcal{H} \Delta \mathcal{H}} (\mathcal{S}, \mathcal{T}) + C \]

其中,\(\varepsilon_\mathcal{T}(h)\)\(\varepsilon_\mathcal{S}(h)\)分別表示分類器h在T域和S域的performance,C是一個不依賴於h的常數。這樣,給定假設空間H(實際上就是給定分類器的模型結構),\(\varepsilon_\mathcal{S}(h)\)是可觀測的,這樣就給出了分類器h性能的上界。。。
搞笑了。。。下面越讀越不對勁,感覺作者表述的不是很清楚,有時間再回來看看吧。


免責聲明!

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



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