天天看點

域自适應學習是一種源任務和目标任務一樣,但是源域和目标域的資料分布不一樣,并且源域有大量的标記好的樣本,目标域則沒有(或者隻有非常少的)有标記的樣本的遷移學習方法——感覺和核函數類似

域自适應學習(Domain Adaptation Learning)能夠有效地解決訓練樣本和測試樣本機率分布不一緻的學習問題,是目前機器學習的熱點研究領域,在自然語言處理,文本分析,生物資訊學,跨語言分析,視訊分析,情感分析和手寫體識别等領域有廣泛應用。 [1]

 首先Domain Adaptation基本思想是既然源域和目标域資料分布不一樣,那麼就把資料都映射到一個特征空間中,在特征空間中找一個度量準則,使得源域和目标域資料的特征分布盡量接近,于是基于源域資料特征訓練的判别器,就可以用到目标域資料上。

領域自适應簡述

Domain Adaptation是一種源任務和目标任務一樣,但是源域和目标域的資料分布不一樣,并且源域有大量的标記好的樣本,目标域則沒有(或者隻有非常少的)有标記的樣本的遷移學習方法。這樣就是怎麼把源域上從大量的有标記樣本中學習的知識遷移到目标域上,來解決相同的問題,而目标域上能利用的大多隻有沒有标記的樣本。

這裡要解釋一下“資料分布不一樣”是什麼意思,就比如下圖中(a)組是不同來源的自行車和筆記本電腦的照片,有從購物網站下載下傳的,也有數位相機拍的生活照,也有網絡上擷取的照片等,它們雖然都表達自行車和筆記本電腦,但是資料分布是不同的。

比如用(b)組的門牌号資料集SVHN去訓練模型,去提取SVNH和MNIST的特征,然後将其可視化到一個平面内,是下圖左邊的樣子,藍色點是源域(SVNH)的樣本,紅色的點是目标域(MNIST)的樣本,也就是說直接在源域上訓練得到的分類器的分類邊界無法很好的區分目标域的樣本。而領域自适應這種遷移學習方法想達到的效果就是下圖右邊這樣,讓源域和目标域中的樣本能對齊,這樣模型就能在目标域上很好的使用了。

4 DA的研究方向

在領域自适應裡面也會細分出很多方向。如果源域和目标域距離太大(比如源域是文字,目标域是圖像),就可能需要程序多步的遷移,将這個非常大的遷移劃分成一步一步的小段遷移,這就是下圖中的多步領域自适應(Multi-step DA) 通過選擇合适的中間域來轉換成一個個單步領域自适應(One-step DA),這樣就隻要去研究單步遷移怎麼做。

然後單步遷移又可以根據源域和目标域資料情況可以分成同質(Homogeneous,即資料空間一樣,隻是資料分布不一樣)和異質(Heterogeneous,資料空間都不同)兩種。

H o m o g e n e o u s ⇒ X S = X T ,   P ( X S ) ≠ P ( X T ) H e t e r o g e n e o u s ⇒ X S ≠ X T

HomogeneousHeterogeneous⇒XS=XT, P(XS)≠P(XT)⇒XS≠XT

Homogeneous⇒XS=XT, P(XS)≠P(XT)Heterogeneous⇒XS≠XT

Homogeneous

Heterogeneous

接下來,在同質或者異質的DA中又分别可以根據目标域資料的打标簽情況分為監督的、半監督的、無監督的DA。學術界研究最多的是無監督的DA,這個比較困難而且價值比較高。

5 DA方法的種類

傳統的的ML方法是最小化損失:

m i n   1 n ∑ i = 1 n L ( x i , y i , θ ) min \ \frac{1}{n} \sum_{i=1}^{n} L(x_i, y_i, \theta)

基于特征的自适應(Feature Adaption)是将源域樣本和目标域樣本用一個映射Φ \PhiΦ調整到同一個特征空間,這樣在這個特征空間樣本能夠“對齊”,這也是最常用的方法:

m i n   1 n ∑ i = 1 n L ( Φ ( x i s ) , y i s , θ ) min \ \frac{1}{n} \sum_{i=1}^{n} L(\Phi(x_i^s), y_i^s, \theta)

基于執行個體的自适應(Instance Adaption)是考慮到源域中總有一些樣本和目标域樣本很相似,那麼就将源域的所有樣本的Loss在訓練時都乘以一個權重w i w_iw

i

(即表示“看重”的程度),和目标域越相似的樣本,這個權重就越大:

m i n   1 n ∑ i = 1 n w i L ( x i s , y i s , θ ) min \ \frac{1}{n} \sum_{i=1}^{n} w_iL(x_i^s, y_i^s, \theta)

基于模型參數的自适應(Model Adaption)是找到新的參數θ ′ \theta'θ

,通過參數的遷移使得模型能更好的在目标域上工作:

繼續閱讀