論文筆記: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了。dom

下面寫一下這種方法的理論解釋,文章用\(\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性能的上界。。。
搞笑了。。。下面越讀越不對勁,感受做者表述的不是很清楚,有時間再回來看看吧。性能

相關文章
相關標籤/搜索