- 概述
基本概念
1.數據域(domain):用D={χ,P(X)}表示,它包含兩部分:特徵空間χ和邊緣概率分佈P(X)其中X={x1,...xn}∈χ
在文本分類任務中,把每一個單詞看作二值的特徵即出現或者不出現,所有檢索詞向量的空間就是χ,xi對應某一文本第i個詞向量的值,X就是特定的學習樣本。如果說兩個數據域不同,表示兩個數據域的特徵空間或者邊緣概率分佈不同。
- 任務(task):用T={У,ƒ(X)}表示,它包含兩部分:標籤空間У和目標預測函數ƒ(X),ƒ(X)也可以看作條件概率P(y|x)
在文本分類任務中У是所有標籤的集合。
遷移學習的介紹
遷移學習是指源數據域到目標數據域的遷移。源數據域Ds={(x1,y1),...,(xn,yn)},其中xn∈χs,yn∈Уs。目標數據域Dt={(x’1,y’1),...(x’n,y’n)},其中x’n∈χt,y’n∈Уt。一般情況下Ds的數據量總是遠遠大於Dt的數據量。
Transfer Learning的定義:
給出源領域的數據Ds和任務Ts,目標領域的數據Dt和任務Tt,遷移學習旨在使用源領域Ds和Ts中的知識去改進對於目標領域的預測函數ƒt(),其中Ds≠Dt或者Ts≠Tt
由於D={χ,P(X)},在上述的定義中Ds≠Dt意味着χs≠χt或者Ps(X)≠Pt(X)。
在文本分類任務中,這兩種情況分別意味着在源文本集和目標文本集之間,詞特徵不同(兩個文本使用兩種不同語言的情況)以及邊緣分佈不同。
類似的,由於T={У,ƒ(X)},Ts≠Tt意味着Уs≠Уt或者Ps(y|x)≠Pt(y|x)。
在文本分類任務中,這兩種情況分別意味着源領域上的任務要求將文本分爲2類,目標領域的任務要求將文本分爲10類,以及在定義的類別上,源數據和目標數據數量不平衡。
根據源領域和目標領域的相似度,可以將情況總結如下:
|
Ds&Dt |
Ts&Tt |
|
傳統機器學習 |
相同 |
相同 |
|
遷移學習 |
歸納式遷移學習 |
相同/相關 |
相關 |
無監督遷移學習 |
相關 |
相關 |
|
直推式遷移學習 |
相關 |
相同 |
根據每一種類型的遷移學習,又可根據標籤數據的多少分情況討論:
- 歸納式遷移學習
- 源數據域包含有大量標籤數據,這時歸納式遷移學習和多任務學習類似。
- 源數據域沒有可用的標籤數據,這時歸納式遷移學習相當於自我學習。
- 直推式遷移學習
a.特徵空間不同χs≠χt
b.特徵空間相同χs=χt但是邊緣分佈不同Ps(X)≠Pt(X),此時可用域適應,樣本選擇偏差和Covariate Shift。
- 無監督遷移學習
總結如下表:
|
相關領域 |
源數據域標籤 |
目標數據域標籤 |
任務 |
歸納式遷移學習
|
多任務學習 |
有 |
有 |
分類迴歸 |
自我學習 |
無 |
有 |
分類迴歸 |
|
直推式遷移學習 |
域適應,樣本選擇偏差和Covariate Shift |
有 |
無 |
分類迴歸 |
無監督遷移學習 |
|
無 |
無 |
聚類降維 |
- 國內外發展現狀
歸納式遷移學習
基於實例的遷移:主要思想就是在目標領域的訓練中,雖然源數據域不能直接使用,但是可以從中挑選部分,用於目標領域的學習。
1.TrAdaBoost算法是AdaBoost的提升版本,用於解決歸納式遷移學習問題。它假設源數據域和目標數據域使用相同的特徵和標籤集合,但是分佈不相同。有一些源數據對於目標領域的學習是有幫助的,但是還有一些是無幫助甚至是有害的。所以它迭代地指定源數據域每一個數據的權重,旨在訓練當中減小“壞”數據的影響,加強“好”數據的作用。
2.使用啓發式的方法,根據條件概率P(Yt|Xt)和P(Ys|Xs)的差異,去除源數據域中“不好”的樣本。
基於特徵表示的遷移:主要思想是尋找一個“好”的特徵表示,最小化域間差異和分類迴歸的誤差。可以分爲有監督和無監督兩種情況。
有監督特徵構造的基本思想是學習一個低維的特徵表示,使得特徵可以在相關的多個任務中共享,同時也要使分類迴歸的誤差最小。此時目標函數如下:
其中S和T表示源域和目標域,U是將高維的數據映射爲低維表示的矩陣。
無監督特徵構造的基本思想包含兩步,第一步在源領域上學習一個基向量b和基於這組基對於輸入x的新的表示a
在得到基向量b之後,第二步在目標領域上根據基向量b來學習其特徵表示
最後通過使用目標領域的新特徵來訓練分類迴歸模型。
基於參數的遷移:參數遷移方法假定在相關任務上的模型應該共享一些參數、先驗分佈或者超參數。
多任務學習中多使用這種方法,通過將多任務學習對於源域和目標域的權值做改變(增大目標域權值,減小源域權值),即可將多任務學習轉變成遷移學習。
基於相關性的遷移:和前三種方式不同,相關知識遷移方法在相關域中處理遷移學習的問題,它不假設每一個域的數據都是獨立同分布的,而是將數據之間的聯繫從源域遷移到目標域。
直推式遷移學習
基於實例的遷移:直推式遷移學習因爲任務相同,所以可以直接使用源域上的損失函數。在源域上最小化目標函數如下
但是由於目標域數據是沒有標籤的,所以取而代之使用源域的數據,如果Ds和Dt分佈相同,可以直接使用
否則,就不能簡單的使用Ds,而是需要通過轉化,對於每一個樣本增加一個權值
此時需要計算
因爲直推式遷移學習任務相同的假設,Ps(y|x)=Pt(y|x),可得出
接下來只要計算就可以解決直推式遷移學習問題。
基於特徵表示的遷移:大多數特徵表示遷移方法都基於非監督學習。SCL算法,使用目標域的無標籤數據提取一些相關特徵從而減小兩個域之間的差異。SCL算法第一步在兩個域的無標籤數據上定義一個pivot特徵集合(包含m個pivot特徵),然後把一個pivot特徵看作一個標籤
最終通過學習得到,第三步將W矩陣做奇異值分解從而形成增廣特徵。
無監督遷移學習
基於特徵表示的遷移:無監督遷移學習的研究工作較少,在無監督遷移問題上通常通過自我聚類以及TDA(Transferred Discriminative Analysis)算法來聚類和降維。
自我聚類的目標是基於源域無標籤數據的幫助,來對目標域無標籤數據聚類,通過學習跨域的共同的特徵空間,幫助目標域的聚類,目標函數如下:
其中Z是共享的特徵空間,I計算兩個量之間的互信息,最終要使得聚類過後損失的互信息最小。
- 多源遷移學習
- 基於實例的多源遷移學習
- 基於特徵的多源遷移學習
- 研究學者
- 未來的發展趨勢
第一,針對領域相似性、共同性的度量,目前還沒有深入的研究成果,未來還需要確定更加準確的度量方法。第二,在算法研究方面,遷移學習的應用範圍很廣。遷移學習多用於分類算法方面,其他方面的應用算法有待進一步研究。比如情感分類、強化學習、排序學習、度量學習、人工智能規劃等。第三,關於可遷移學習條件,獲取實現正遷移的本質屬性還沒有完全摸透,如何避免負遷移,實現遷移的有效性也是方向之一。
- 技術難點
負遷移是一個重要的技術難點。負遷移表示目標域訓練中源域數據的使用不僅沒有提升模型能力,反而降低了識別率的現象。儘管實際當中如何避免負遷移現象是很重要的問題,但是在這個問題上的研究依然很少,經驗表明如果兩個任務太不相似,那麼魯莽的強制遷移會損害性能。目前已有一些對任務和任務之間聚類的探索,旨在對如何自動避免負遷移提供指導。
另外在非簡單分類或者回歸的問題上,如何更好地優化遷移算法,以達到適合任務的最佳效果,也是一個難點。在不同的應用背景下,遷移學習是否適合以及需要做怎樣的改進都是值得去考慮的。