Domain Impression A Source Data Free Domain Adaptation Method
Domain Impression: A Source Data Free Domain Adaptation Method
無監(jiān)督域自適應(yīng)方法解決了一個未標記目標集的自適應(yīng)問題,假設(shè)源數(shù)據(jù)集具有所有標簽。然而,在實際案例中,實際來源樣本的可用性并不總是可能的。這可能是由于內(nèi)存限制、隱私問題和共享數(shù)據(jù)的挑戰(zhàn)造成的。這個實際場景在域適配問題中造成了一個瓶頸。本文通過提出一種不需要任何源數(shù)據(jù)的domain adaptation technique來解決這一具有挑戰(zhàn)性的問題。我們只提供了一個在源數(shù)據(jù)上訓(xùn)練的分類器,而不是源數(shù)據(jù)。我們提出的方法是基于一個生成框架,其中訓(xùn)練分類器用于從源類生成樣本。我們通過使用訓(xùn)練分類器的基于能量的建模來學(xué)習(xí)數(shù)據(jù)的聯(lián)合分布。同時,還針對目標域采用了一種新的分類器。我們在不同的實驗裝置下進行了不同的分析,結(jié)果表明,在這種非常新穎的情況下,所提出的方法比基準模型取得了更好的結(jié)果。
1. Introduction
領(lǐng)域適應(yīng)方法(Domain adaptation methods)試圖通過最小化兩個領(lǐng)域之間的差異來解決這些問題。最小化差異的一種可能的方法是通過獲取域不變特征。這些特征是這樣的,即在一個域上訓(xùn)練的分類器在其他域上同樣表現(xiàn)良好。域適應(yīng)方法試圖通過最小化兩個域之間的差異來解決這些問題。將差異最小化的一種可能的方法是通過獲得域不變的特征。這些特征可以使在一個域上訓(xùn)練的分類器在其他域上同樣表現(xiàn)良好。域不變特征是通過引入一些輔助任務(wù)來獲得的,以最小化域的分布差異。為了訓(xùn)練輔助任務(wù),所有現(xiàn)有的領(lǐng)域適應(yīng)方法都需要訪問源數(shù)據(jù)集。在適應(yīng)過程中,源數(shù)據(jù)集和目標數(shù)據(jù)集都應(yīng)該是可用的。然而,在一些實際情況下,這并不總是可能的。原因可能是內(nèi)存存儲要求、共享數(shù)據(jù)的挑戰(zhàn)、隱私問題和其他數(shù)據(jù)集處理問題。例如,流行的數(shù)據(jù)集,如Image-Net,由近1400萬張圖片組成,需要數(shù)百GB的存儲空間。另一個關(guān)注點是與數(shù)據(jù)集的隱私有關(guān)。在某些情況下,敏感數(shù)據(jù)集無法共享以適應(yīng)新數(shù)據(jù)集的模型。傳統(tǒng)領(lǐng)域適應(yīng)模型的這些局限性,為將其應(yīng)用于實際場景帶來了瓶頸。因此,假設(shè)源數(shù)據(jù)集的可用性是現(xiàn)有領(lǐng)域適應(yīng)模型中的一個嚴重問題。
在本文中,我們提出了一種不需要在所有時間點上訪問源數(shù)據(jù)集的領(lǐng)域適應(yīng)模型。具體來說,我們假設(shè)可以訪問在源數(shù)據(jù)集上訓(xùn)練的分類器。只有分類器的可訪問性,而不是整個數(shù)據(jù)集的可訪問性,才使得模型在實際場景中具有實用性。我們通過將預(yù)訓(xùn)練的分類器建模為基于能量的函數(shù)來利用它來學(xué)習(xí)聯(lián)合分布[15]。我們還使用一個生成性對抗網(wǎng)絡(luò)(GANs)結(jié)合這個預(yù)先訓(xùn)練好的分類器來學(xué)習(xí)源數(shù)據(jù)集的底層數(shù)據(jù)分布。一旦使用預(yù)先訓(xùn)練好的分類器對生成模型進行訓(xùn)練,我們就開始生成可應(yīng)用于自適應(yīng)任務(wù)的標記數(shù)據(jù)點。因此,我們消除了在自適應(yīng)期間訪問源數(shù)據(jù)集的需要。這些生成的樣本可以作為代理樣本來訓(xùn)練域自適應(yīng)模型。我們從判別函數(shù)中學(xué)習(xí)一個生成函數(shù),將其建模為基于能量的函數(shù)。它的能量用LogSumExp()值來定義[15]。分類器的另一個判別屬性可以用交叉熵損失來訓(xùn)練生成函數(shù)。因此,所提出的方法充分利用了預(yù)先訓(xùn)練好的分類器的信息進行適配。
圖1:提出的domain adaptation方法的說明:(a)沒有adaptation,在源數(shù)據(jù)上訓(xùn)練的分類器不能正確地對目標樣本進行分類。(b) 使用訓(xùn)練好的分類器生成代理樣本。(c) 使用代理樣本(生成)adaptation分類器。在adaptation算法中,只使用代理樣本和目標樣本,在adaptation過程中從不使用源樣本(最好用彩色顯示)。
圖1直觀地展示了所提出的領(lǐng)域適應(yīng)框架。在圖1(a)中顯示了源域和目標域之間的分布不匹配,而在(b)中,使用預(yù)訓(xùn)練的分類器生成了虛擬源樣本,最后一個適應(yīng)階段在?中顯示,分類器使用虛擬標記樣本適應(yīng)目標域。
我們的貢獻如下:
我們提供了一個生成式框架來解決源數(shù)據(jù)自由域適應(yīng)問題。
訓(xùn)練有素的分類器被視為一個基于能量的模型來學(xué)習(xí)數(shù)據(jù)分布以及生成式對抗網(wǎng)絡(luò)。
我們證明了使用預(yù)先訓(xùn)練好的分類器得到的domain impression可以應(yīng)用于其他現(xiàn)有的domain adaptation methods.
我們提供詳細的實驗分析,以證明該模型的有效性。我們還提供了與使用完整源樣本信息的現(xiàn)有基線的比較。我們的方法在不使用源樣本的情況下與這些基線相當(dāng)。
3. Background: Generative model from Discriminative model
判別模型的目標是得到類的條件分布p(y | x),它關(guān)注分類邊界。這里x是給定的輸入,y是標簽生成模型從數(shù)據(jù)生成過程中學(xué)習(xí)p(x,y)的聯(lián)合分布。我們用貝葉斯定理將聯(lián)合分布的對數(shù)似然重寫為[15]
logpθ(x)log\ p_{\theta}(x)log?pθ?(x)可以表示為能量函數(shù)的形式。我們將logpθ(x)log\ p_{\theta}(x)log?pθ?(x)定義為基于能量的函數(shù),如[15]中討論的那樣。對數(shù)似然導(dǎo)數(shù)可以表示為[15]
能量函數(shù)將一個輸入x映射到一個標量上。我們用訓(xùn)練好的分類器的logits的LogSumExp(-)來定義能量函數(shù),類似于[15]。
Pc(x)[y]P_c(\mathbb x)[y]Pc?(x)[y]表示分類器Pc(x)P_c(\mathbb x)Pc?(x)輸出的第y個分量。
4. Source Data Free Adaptation
在本節(jié)中,我們將討論使用訓(xùn)練好的分類器的source data free adaptation technique。這個問題分為兩部分:第一部分是獲取分類器的樣本,我們稱之為生成模塊。第二部分是針對目標域?qū)Ψ诸惼鬟M行適配(adapt the classifier for the target domain),稱為Adaptation模塊。這兩個模塊如圖2所示。
圖2:Source Data free Domain Adaptation。生成器(G)、GAN判別器(Dg)、特征提取器(F)、分類器?和Domain discriminator(Dd)是可訓(xùn)練的,而預(yù)訓(xùn)練的分類器(Pc)被設(shè)置為凍結(jié)。z是latent噪聲向量。GRL為梯度反轉(zhuǎn)層[12]。
對于生成模塊,我們采用條件GAN框架[38]作為生成函數(shù)來獲取樣本。交叉熵損失用于從分類器中獲得domain impression和具有類邊界的樣本。需要注意的是,通過只用GAN的交叉熵損失(Note that by only the cross-entropy loss with GAN),我們可以強制要求生成的樣本只遵循條件分布p(y|x)。為了學(xué)習(xí)源數(shù)據(jù)分布的代理樣本,我們對公式1中定義的聯(lián)合分布p(x,y)進行建模。對于adaptation模塊,我們使用對抗式學(xué)習(xí)框架,利用判別器使特征對目標域與生成數(shù)據(jù)不變(make the feature invariant to the target domain with the generated data)。
4.1. Problem Formulation
源數(shù)據(jù)自由域適配問題(The source data free domain adaptation problem)可以表述如下。我們考慮一分類器PcP_cPc?,它是在源數(shù)據(jù)集Ds\mathcal D_sDs?上訓(xùn)練的,用于分類任務(wù)。假設(shè)或約束是源數(shù)據(jù)集不可用于adaptation。我們在訓(xùn)練時只提供未標記的目標數(shù)據(jù)集Dt\mathcal D_tDt?。我們進一步假設(shè)Ds\mathcal D_sDs?來自于源分布S,Dt\mathcal D_tDt?來自于目標分布T 。我們假設(shè)有NtN_tNt?個未標記的目標數(shù)據(jù)點。
4.2. Proposed Model
該方法將模型分為兩部分:生成模塊和Adaptation模塊。
Data Generation Module: 代理樣本是利用源分類器的GAN框架獲得的(The proxy samples are obtained using a GAN framework with utilizing the source classifier.)。其目的是學(xué)習(xí)源數(shù)據(jù)的聯(lián)合分布p(x,y)。這種方法背后的基本思想是獲得完美的分類器。我們使用一個參數(shù)化的數(shù)據(jù)生成神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)被訓(xùn)練成最大化Eq.1中定義的對數(shù)似然。
在這個方程中,第一項可以使用在式2中定義的導(dǎo)數(shù)來最大化。第二項使用交叉熵損失進行優(yōu)化。生成式對抗網(wǎng)絡(luò),結(jié)合訓(xùn)練好的分類器,也是為了生成更好的樣本。The vanilla GAN[49,14]是一個無條件的GAN,因此在這里并不適合;因為在vanilla GAN中不能保證只產(chǎn)生特定的所需類例。
因此,在提出的生成框架中,我們使用了一個條件生成對抗網(wǎng)絡(luò)[38],其中條件可以作為一個onehot編碼和潛在的噪聲向量提供給生成器,以生成不同的樣本。為了獲得特定于類的樣本,我們利用分類器的交叉熵損失來訓(xùn)練條件生成器。在這種情況下,我們不更新預(yù)先訓(xùn)練好的分類器的參數(shù);我們只更新生成器以產(chǎn)生可以分類為給定類向量的樣本。
這個公式產(chǎn)生的樣本可能不被認為是自然樣本,而且它還會產(chǎn)生對抗性的噪聲樣本。因此這些樣本不能用于進一步的adaptation任務(wù)。為了獲得自然樣本,我們使用了一個對抗性判別器;它是在目標域樣本的幫助下進行訓(xùn)練的。生成器的參數(shù)會隨著判別器的對抗性損失和分類器的交叉熵損失進行更新。
Domain Adaptation Module: domain adaptation模塊由源域和目標域數(shù)據(jù)集的共享特征提取器、分類器網(wǎng)絡(luò)和類似于[12]的鑒別器網(wǎng)絡(luò)組成。鑒別器的目標是引導(dǎo)特征抽取器使用梯度反轉(zhuǎn)層產(chǎn)生域不變特征。在該框架中,域鑒別器被訓(xùn)練來區(qū)分產(chǎn)生的標記樣本和未標記的目標樣本。
同樣的,我們也會針對標簽生成的樣本對訓(xùn)練好的分類器進行微調(diào)。在這個模塊中,所有的網(wǎng)絡(luò),即特征提取器、分類器和判別器,都有可學(xué)習(xí)的參數(shù)。我們還分別對生成和adaptation過程進行了實驗。在這個變體variant中,我們首先使用似然和GAN目標函數(shù)訓(xùn)練生成模型。然后對生成模型參數(shù)進行凍結(jié),得到樣本。之后,這些樣本用于自適應(yīng)。在這里,我們必須確定適應(yīng)所需的樣本數(shù)量。適應(yīng)性能取決于樣本數(shù)量,如表4消融研究部分所示。
我們的模型是SDDA-G,括號中的數(shù)字表示用于適應(yīng)的生成樣本數(shù)量。Oracle參考,當(dāng)實際的源數(shù)據(jù)被用于適應(yīng)時。
4.3. Loss functions
提出的Source Data free Domain Adaptation(SDDA)模型在訓(xùn)練時有以下這些損失。
Likelihood based loss (Llik\mathcal L_{lik}Llik?): 目標是用判別模型中學(xué)習(xí)源數(shù)據(jù)的聯(lián)合分布。這個過程要求從生成模型中得到的數(shù)據(jù)的對數(shù)似然最大化,如式1所定義。因此損失函數(shù)寫為
它的導(dǎo)數(shù)由式2得到。
Adversarial Loss (Ladv\mathcal L_{adv}Ladv?): 該損失用于訓(xùn)練GAN判別器,以區(qū)分真實數(shù)據(jù)和通過生成器生成的數(shù)據(jù)。生成器和GAN鑒別器是對立的。這里aia_iai?為目標數(shù)據(jù),通過T\mathcal TT采樣得到,y為生成數(shù)據(jù)對應(yīng)的標簽,z是latent noise vector。采樣自正態(tài)分布PzP_zPz?。生成器的損失定義為:
Cross-Entropy Loss (Lcrs\mathcal L_{crs}Lcrs?): 這個損失是通過將生成的圖像傳遞給預(yù)訓(xùn)練的分類器獲得的。預(yù)訓(xùn)練分類器的預(yù)測輸出與輸入到生成器的類向量進行比較。這個損失不更新預(yù)訓(xùn)練分類器的參數(shù)。它只是更新生成器的參數(shù),以生成類一致的圖像。
其中gi=G(zi,yi)g_i=G(z_i,y_i)gi?=G(zi?,yi?)是生成的圖像樣本。Lc\mathcal L_cLc?是交叉熵損失。NgN_gNg?是生成的樣本。PcP_cPc?是預(yù)先訓(xùn)練好的分類器。
Domain Discriminative Loss (Ldis\mathcal L_{dis}Ldis?): 該損失用于從特征提取器中獲得域不變的特征。它是源樣本和目標樣本之間的二元分類損失。鑒別器是用損失的梯度來訓(xùn)練的。與此相反,特征提取器由該損失的負梯度進行訓(xùn)練(使用梯度反轉(zhuǎn)層[12]),以獲得域不變性。
N是生成樣本和目標樣本的總數(shù)。did_idi?是domain label,di=0ifxi∈Dganddi=1ifxi∈Dt.Lcd_i=0\ if\ x_i\in\mathcal D_g\ and\ d_i=1\ if\ x_i\in\mathcal D_t.\mathcal L_cdi?=0?if?xi?∈Dg??and?di?=1?if?xi?∈Dt?.Lc?是交叉熵。
Classification Loss (LclsL_{cls}Lcls?): 利用生成樣本的分類損失訓(xùn)練自適應(yīng)分類器。我們根據(jù)損失更新分類器的參數(shù)梯度這種損失的梯度也被用來訓(xùn)練特征提取器來產(chǎn)生類別鑒別特征。
這里C是分類器網(wǎng)絡(luò)。Ng是生成的樣本總數(shù)。
Total Loss: The total loss is given as below
總結(jié)
以上是生活随笔為你收集整理的Domain Impression A Source Data Free Domain Adaptation Method的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纯干货!一款APP从设计稿到切图过程全方
- 下一篇: Educational Codeforc