《Domain Agnostic Learning with Disentangled Representations》ICML 2019


  這篇文章是ICML 2019上一篇做域適應的文章,無監督域適應研究的問題是如何把源域上訓練的模型結合無lable的目標域數據使得該模型在目標域上有良好的表現。之前的研究都有個假設,就是數據來自哪個域是有着域標簽的,其實這不太現實,就拿手寫字識別打比方,不同的人使用不同的筆如紙張,那寫出來的字會是不同的域的,識別的時候不可能模型還得需要知道待識別的字來自哪個域。這篇文章研究的內容是如何把有標注的源域信息遷移到無標注的任意目標域數據上。相當於是從1個源域到N個目標域的遷移,而一些之前的論文的假設是目標域數據都是從同一個分布采樣的,所以它們的設定為1個源域到1個目標域,與這篇文章考慮的場景不同。

  這個問題存在兩個難點:1)目標數據來自混合的目標域,所以目前主流的特征對齊方法不太適用,2)類無關信息會導致負遷移,特別是當目標域高度異構的時候。為了解決這個問題,作者設計了一個深層對抗解耦自編碼器(DADA)來從類標識中解耦出類特定的特征。作者的想法是一個域無關模型的學習不僅僅應該學習源域和目標域之間的不變性內容,它還應該從圖像的剩余信息中分離出特定類的特征。

  目前也有一些通過對抗訓練從自編碼器的隱空間進行特征解耦的工作,但是將他們用在這種1->N的場景下還是有點問題的。一是這些模型僅僅將隱藏層嵌入解耦為域不變特征和域特定特征(比如天氣等),然后將后者丟掉,沒有顯示的考慮分離類相關特征和類無關特征(比如背景等)。其次就是這些方法不能保證域不變特征和域特定特征的完全分離。下面來看看作者的解決方案。

   如上圖所示,特征生成器$G$將輸入圖片映射到特征向量$f_{G}$,這個$f_{G}$是一個高度耦合的特征,所以后面編碼器$D$的目的是將這個特征解耦為域不變特征$f_{di}$,域特定特征$f_{ds}$和類無關特征$f_{ci}$。特征重建器$R$的目的是接受($f_{di}$,$f_{ci}$)或($f_{di}$,$f_{ds}$)作為輸入,然后重建出$f_{G}$。$D$和$R$使用VAE中的編碼器與解碼器實現。為了強調解耦,在($f_{di}$,$f_{ci}$)以及($f_{di}$,$f_{ds}$)上進行互信息最小化約束。在域判別器支路(白三角)通過對抗訓練學習出域不變特征$f_{di}$。類判別器$C$(黑三角)通過在有標注的源域數據上預測類分布$f_{C}$訓練得到,類無關特征$f_{ci}$是通過結合$C$以對抗的方式提取到的。

  下面就來看看每個部件的具體實現:

  1)Variational Autoencoders:VAE是一種同時訓練概率編碼器與解碼器的深度生成模型。編碼器會生成符合高斯分布的隱藏向量。在這篇文章里就是通過使用VAE來獲得每個部分的解耦表示,損失函數設計如下:

$\mathcal{L}_{v a e}=\left\|\widehat{f}_{G}-f_{G}\right\|_{F}^{2}+K L\left(q\left(z | f_{G}\right) \| p(z)\right)$

這個式子前一項的目的是重建$G$提取的原始特征,后面一項是懲罰隱藏特征分布與先驗分布$p(z_{c})$($z \sim \mathcal{N}(0, I)$)的偏差。這個約束僅僅是將隱藏特征映射到一個標准分布,並沒有保證特征解耦。

 

  2)Class Disentanglement:為了解決上面的問題,這里通過對抗的方式實現類別信息解耦來移除一些類別無關的特征,比如背景等。

首先通過源域數據進行有監督訓練得到類判別器$C$:

$\mathcal{L}_{c e}=-\mathbb{E}_{\left(x_{s}, y_{s}\right) \sim \widehat{\mathcal{D}}_{s}} \sum_{k=1}^{K} \mathbb{1}\left[k=y_{s}\right] \log \left(C\left(f_{D}\right)\right)$

這里的$f_{D} \in\left\{f_{d i}, f_{c i}\right\}$。

然后我們固定住類判別器$C$來訓練解耦器$D$來生成類無關特征$f_{c_i}$來欺騙$C$。這可以通過最小化預測類分布的負交叉熵來實現:

$\mathcal{L}_{e n t}=-\frac{1}{n_{s}} \sum_{j=1}^{n_{s}} \log C\left(f_{c i}^{j}\right)-\frac{1}{n_{t}} \sum_{j=1}^{n_{t}} \log C\left(f_{c i}^{j}\right)$

這里的第一項與第二項分別指的是在源域上和目標域上的交叉熵最小。

 

  3)Domain Disentanglement:為了處理域不變性的任務,解耦出類無關特征還不夠,因為它還沒有讓源域和目標域對齊。為了實現更好的對齊,我們進一步提出把學到的特征解耦為域特定特征和域不變特征,然后在域不變隱空間實現源域和目標域的對齊。這通過在得到的隱空間里進行對抗性域判別得到。這里的域判別器叫做$DI$,它接收解耦的特征($f_{di}$或$f_{ds}$)作為輸入,輸出域標簽$l_f$(源域或者目標域)。這一塊的損失函數為:

$\mathcal{L}_{D I}=-\mathbb{E}\left[l_{f} \log P\left(l_{f}\right)\right]+\mathbb{E}\left(1-l_{f}\right)\left[\log P\left(1-l_{f}\right)\right]$

之后就訓練解耦器$D$來欺騙域判別器$DI$來提取域不變特征。

 

   4) Mutual Information Minimization:為了更好地解耦特征,我們最小化域不變特征$f_{di}$和域無關特征$f_{ds}$之間的互信息,以及域不變特征$f_{di}$和類無關特征$f_{ci}$之間的互信息:

$I\left(\mathcal{D}_{x} ; \mathcal{D}_{f_{d i}}\right)=\int_{\mathbb{X} \times \mathcal{Z}} \log \frac{d \mathbb{P}_{X Z}}{d \mathbb{P}_{X} \otimes \mathbb{P}_{Z}} d \mathbb{P}_{X Z}$

上式子就是互信息的定義,具體可以查看百度百科。這里的$x \in\left\{f_{d s}, f_{c i}\right\}$,$\mathbb{P}_{X Z}$是$\left(\mathcal{D}_{x}, \mathcal{D}_{f_{d i}}\right)$的聯合分布,$\mathbb{P}_{X}=\int_{Z} d \mathbb{P}_{X Z}$和$\mathbb{P}_{Z}=\int_{X} d \mathbb{P}_{X Z}$是邊緣分布。盡管互信息是跨領域的關鍵度量,但它只適用於離散變量或有限的概率分布未知的問題。而且計算復雜度為$O\left(n^{2}\right)$,不適合深層的CNN。因此這篇文章采用的是互信息神經估計器(MINE):

$\widehat{I(X ; Z)_{n}}=\sup _{\theta \in \Theta} \mathbb{E}_{\mathbb{P}_{X Z}^{(n)}}\left[T_{\theta}\right]-\log \left(\mathbb{E}_{\mathbb{P}_{X}^{(n)} \otimes \widehat{\mathbb{P}}_{Z}^{(n)}}\left[e^{T_{\theta}}\right]\right)$

 

  5) Ring-style Normalization:傳統的Batch Normalization通過減去批均值並除以批標准差來減小內部協變量偏移。盡管在領域自適應方面取得了很好的結果,但是單靠BN還不足以保證嵌入的特征在不同域的場景中得到很好的標准化。因為我們的目標域數據來自多個域的采樣,並且它們的嵌入特征不規則地分散在隱空間中18年鄭等(2018)提出了一種環形規范約束,以保持多個類的角分類邊界之間的平衡,如下:

$\mathcal{L}_{r i n g}=\frac{1}{2 n} \sum_{i=1}^{n}\left(\left\|T\left(x_{i}\right)\right\|_{2}-R\right)^{2}$

這里的R是學習到的norm值。但是$ring loss$是不魯棒的,如果學習的R很小,可能會導致模式崩潰(mode collapse)。我們把ring loss整合到一個$Geman-McClure$模型並最小化下面的損失函數:

$\mathcal{L}_{\text {ring}}^{G M}=\frac{\sum_{i=1}^{n}\left(\left\|T\left(x_{i}\right)\right\|_{2}-R\right)^{2}}{2 n \beta+\sum_{i=1}^{n}\left(\left\|T\left(x_{i}\right)\right\|_{2}-R\right)^{2}}$

這里$\beta$是$Geman-McClure$模型的比例因子。

 

Optimization:我們的模型是以端到端的方式訓練的。我們使用隨機梯度下降或Adam優化器迭代地訓練類和域解耦組件、MINE和重構組件。我們使用流行的神經網絡(如LeNet、AlexNet或ResNet)作為我們的特征生成器$G$。

 


免責聲明!

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



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