文章內容主要整理自Sinno Jialin Pan and Qiang Yang的論文《A survey on transfer Learning》。html
在機器學習、深度學習和數據挖掘的大多數任務中,咱們都會假設training和inference時,採用的數據服從相同的分佈(distribution)、來源於相同的特徵空間(feature space)。但在現實應用中,這個假設很難成立,每每遇到一些問題:node
一、帶標記的訓練樣本數量有限。好比,處理A領域(target domain)的分類問題時,缺乏足夠的訓練樣本。同時,與A領域相關的B(source domain)領域,擁有大量的訓練樣本,但B領域與A領域處於不一樣的特徵空間或樣本服從不一樣的分佈。app
二、數據分佈會發生變化。數據分佈與時間、地點或其餘動態因素相關,隨着動態因素的變化,數據分佈會發生變化,之前收集的數據已通過時,須要從新收集數據,重建模型。dom
這時,知識遷移(knowledge transfer)是一個不錯的選擇,即把B領域中的知識遷移到A領域中來,提升A領域分類效果,不須要花大量時間去標註A領域數據。遷移學習,作爲一種新的學習範式,被提出用於解決這個問題。機器學習
遷移學習的研究來源於一個觀測:人類能夠將之前的學到的知識應用於解決新的問題,更快的解決問題或取得更好的效果。遷移學習被賦予這樣一個任務:從之前的任務當中去學習知識(knowledge)或經驗,並應用於新的任務當中。換句話說,遷移學習目的是從一個或多個源任務(source tasks)中抽取知識、經驗,而後應用於一個目標領域(target domain)當中去。ide
自1995年以來,遷移學習吸引了衆多的研究者的目光,遷移學習有不少其餘名字:學習去學習(Learning to learn)、終身學習(life-long learning)、推導遷移(inductive transfer)、知識強化(knowledge consolidation)、上下文敏感性學習(context-sensitive learning)、基於知識的推導誤差(knowledge-based inductive bias)、累計/增量學習(increment / cumulative learning)等。函數
領域(domain)和任務(task)定義:性能
領域由兩個部分組成:特徵空間(feature space)X和特徵空間的邊緣分佈P(x),其中,x={x1,x2......xn} 屬於X。若是兩個領域不一樣,它們的特徵空間或邊緣機率分佈不一樣。領域表示成D={X,P(x)}。學習
任務組成:給定一個領域D={X,P(x)}的狀況下,一個任務也包含兩個部分:標籤空間Y和一個目標預測函數f(.)。一個任務表示爲:T={Y,f(.)}。目標預測函數不能被直接觀測,但能夠經過訓練樣本學習獲得。從機率論角度來看,目標預測函數f(.)能夠表示爲P(Y|X)。任務表示成T={Y,P(Y|X)}測試
通常狀況下,只考慮只存在一個source domain Ds 和一個target domain Dt的狀況。其中,源領域Ds = {(xs1,ys1),(xs2,ys2)......(xsns,ysns)},xsi 屬於Xs,表示源領域的觀測樣本,ysi屬於Ys,表示源領域觀測樣本xsi對應的標籤。目標領域Dt = {(xt1,yt1),(xt2,yt2).......(xtnt,ytnt)},xti屬於Xt,表示目標領域觀測樣本,ysi屬於Yt,表示目標領域xti對應的輸出。一般狀況下,源領域觀測樣本數目ns與目標領域觀測樣本數目nt存在以下關係:1<= nt << ns。
基於以上的符號定義,給出正式的遷移學習的定義:在給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的狀況,且Ds 不等於Dt或Ts不等於Tt,狀況下;遷移學習使用源領域Ds和Ts中的知識提高或優化目標領域Dt中目標預測函數ft(.)的學習效果。
經過以上的定義能夠發現:
1)、領域D=(X,P(x)),當源和目標領域D不一樣時,存在兩種狀況:(1)Xs不等於XT,源領域和目標領域的特徵空間不一樣;(2)P(xs)不等於P(xt),即源空間和目標空間的特徵空間相同,但觀測樣本X的邊緣分佈不一樣。
2)任務T={Y,P(Y|X)},當源和目標領域T不一樣時,存在兩種狀況:(1)Ys不等於Yt,源領域的標籤空間與目標領域的標籤空間不一樣;(2)P(Ys|Xs)不等於P(Yt|Xt),即源領域和目標領域的條件機率分佈不一樣。
在遷移學習領域有三個研究問題:(1)、遷移什麼;(2)、如何遷移;(3)、何時遷移。
1)遷移什麼:那一部分知識能夠在多個領域或任務之間遷移,即多個領域或任務知識的共同部分,經過從源領域學習這部分共同的知識,提高目標領域任務的效果。
關注遷移什麼知識時,須要注意negative transfer問題:當源領域和目標領域之間沒有關係,卻要在之間強制遷移知識是不可能成功的。極端狀況下,反倒會影響目標領域任務學習的效果,這種狀況稱爲負遷移(negative transfer),須要盡力避免。
2)找到了遷移什麼,接下來須要解決如何遷移:怎麼作知識遷移。何時遷移:在什麼狀況下、何時,能夠作知識的遷移。
推導學習(inductive learning)與轉導學習(tranductive learning)的區別:
推到學習:須要先用一些樣本(training set)創建一個模型,再基於創建好的模型去去預測新的樣本(testing set)的類型。以分類爲例,推到學習就是一個經典的貝葉斯決策,經過貝葉斯共識:P(Y|X)=P(X|Y)*P(Y)/ P(X),創建後驗機率分佈P(Y|X),進而預測測試樣本類別。缺點就是必須先創建一個模型,不少時候創建效果好的模型並不容易,特別是當帶標記的訓練樣本少、無標記的測試樣本很是多時。那麼可否直接利用大量無標記的測試樣原本識別樣本類別呢?由此產生了轉到學習方法。
轉導學習:不須要創建後驗機率模型,直接從無標記的測試樣本X出發,構建P(X)的分佈,對測試樣本分類。與推到學習相比,轉到學習也有它的缺點:由於是直接基於P(X)處理,轉導學習的測試樣本必須預先已知。
基於遷移學習的定義中源領域和目標領域D和任務T的不一樣,遷移學習能夠分紅三類:推導遷移學習(inductive transfer learning),轉導遷移學習(tranductive transfer learning)和無監督遷移學習(unsupervised transfer learning)
一、推導遷移學習定義:給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的狀況,且Ts不等於Tt,狀況下;推導遷移學習使用源領域Ds和Ts中的知識提高或優化目標領域Dt中目標預測函數ft(.)的學習效果。
可見,在推導遷移學習中,源任務(source task)與目標任務(target task)必定不一樣,目標領域Dt與源領域Ds能夠相同,也能夠不一樣。在這種狀況下,目標領域須要一部分帶標記的數據用於創建目標領域的預測函數ft(.)。根據源領域中是否含有標記樣本,能夠把推導遷移學習分爲兩個類:
(1)、當源領域中有不少標記樣本時,推導遷移學習與多任務學習(multitask learning)相似。區別在於,經過從源領域遷移知識,推導遷移學習只注重提高目標領域的效果;但多任務學習注重同時提高源領域和目標領域的效果。
(2)當源領域沒有標記樣本時,推導遷移學習與自學習相似。
二、轉導遷移學習定義:給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的狀況,且Ts等於Tt、Ds不等於Dt,狀況下;轉導遷移學習使用源領域Ds和Ts中的知識提高或優化目標領域Dt中目標預測函數ft(.)的學習效果。此外,模型訓練師,目標領域Dt中必須提供一些無標記的數據。
可見,在轉導遷移學習中,源任務Ts和目標任務Tt相同,但領域Ds與Dt不一樣。這種狀況下,源領域有大量標記樣本,但目標領域沒有標記樣本。根據Ds和Dt的不一樣,能夠把轉到學習分爲兩個類:(1)、源領域和目標領域特徵空間不一樣,即Xs不等於Xt。(2)、特徵空間相同,但邊緣機率不一樣,即P(xs)不等於P(xt)。在(2)狀況下,轉導遷移學習與領域適應性(domain adaptation)、協方差偏移(covariate shift)問題相同。
三、無監督遷移學習定義:給定源領域Ds和源領域學習任務Ts、目標領域Dt和目標領域任務Tt的狀況,且Ts不等於Tt、標籤空間Yt和Ys不可觀測,狀況下;轉導遷移學習使用源領域Ds和Ts中的知識提高或優化目標領域Dt中目標預測函數ft(.)的學習效果。
在無監督遷移學習中,目標任務與源任務不一樣但卻相關。此時,無監督遷移學習主要解決目標領域中的無監督學習問題,相似於傳統的聚類、降維和密度估計等機器學習問題。
由此能夠獲得遷移學習的分類,以及和其餘機器學習方法之間的關係圖1所示。
圖1 基於定義的遷移學習分類
根據遷移的內容,遷移學習能夠分爲四類:
基於實例的遷移學習(instance-based transfer learning):源領域(source domain)中的數據(data)的某一部分能夠經過reweighting的方法重用,用於target domain的學習。
基於特徵表示的遷移學習(feature-representation transfer learning):經過source domain學習一個好的(good)的特徵表示,把知識經過特徵的形式進行編碼,並從suorce domain傳遞到target domain,提高target domain任務效果。
基於參數的遷移學習(parameter-transfer learning):target domain和source domian的任務之間共享相同的模型參數(model parameters)或者是服從相同的先驗分佈(prior distribution)。
基於關係知識遷移學習(relational-knowledge transfer learning):相關領域之間的知識遷移,假設source domain和target domain中,數據(data)之間聯繫關係是相同的。
前三類遷移學習方式都要求數據(data)獨立同分布假設。同時,四類遷移學習方式都要求選擇的sourc doma與target domain相關,
表1給出了遷移內容的遷移學習分類:
表1 基於遷移內容的遷移學習分類
將基於定義遷移學習分類和基於遷移內容的遷移學習分類結合,獲得遷移學習分類結果如表2所示:
表2 基於定義遷移學習分類和基於遷移內容的遷移學習分類結合
從表2能夠發現,遷移學習大多數的研究工做都集中於推導遷移學習和轉導遷移學習上,無監督的遷移學習模式,在將來會吸引更多研究者關注。
用於情感分類,圖像分類,命名實體識別,WiFi信號定位,自動化設計,中文到英文翻譯等問題。
領域自適應(Domain Adaptation)是遷移學習中的一種表明性方法,詳細關係見下圖。
領域自適應問題定義爲:源域(source domain)和目標域(target domain)共享相同的特徵和類別,可是特徵分佈不一樣,如何利用信息豐富的源域樣原本提高目標域模型的性能。源域表示與測試樣本不一樣的領域,具備豐富的監督標註信息;目標域表示測試樣本所在的領域,無標籤或者只有少許標籤。源域和目標域每每屬於同一類任務,可是分佈不一樣。
此圖源自楊強大佬的文章《A Survey on Transfer Learning》。
另外wiki上的Domain Adaptation詞條也有相似的圖片描述:
參考論文:
[1] A survey on transfer Learning. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 22, NO. 10, OCTOBER 2010
[2] Learning to Learn. S. Thrun and L. Pratt, eds. Kluwer Academic Publishers, 1998.
[3] R. Caruana, 「Multitask Learning,」 Machine Learning, vol. 28, no. 1, pp. 41-75, 1997.
[4] R. Raina, A. Battle, H. Lee, B. Packer, and A.Y. Ng, 「Self-Taught Learning: Transfer Learning from Unlabeled Data,」 Proc. 24th Int’l Conf. Machine Learning, pp. 759-766, June 2007.
[5] H. Daume´ III and D. Marcu, 「Domain Adaptation for Statistical Classifiers,」 J. Artificial Intelligence Research, vol. 26, pp. 101-126, 2006.
[6] B. Zadrozny, 「Learning and Evaluating Classifiers under Sample Selection Bias,」 Proc. 21st Int’l Conf. Machine Learning, July 2004.
[7] H. Shimodaira, 「Improving Predictive Inference under Covariate Shift by Weighting the Log-Likelihood Function,」 J. Statistical Planning and Inference, vol. 90, pp. 227-244, 2000.
[8] W. Dai, Q. Yang, G. Xue, and Y. Yu, 「Self-Taught Clustering,」 Proc. 25th Int’l Conf. Machine Learning, pp. 200-207, July 2008.
[9] Z. Wang, Y. Song, and C. Zhang, 「Transferred Dimensionality Reduction,」 Proc. European Conf. Machine Learning and Knowledge Discovery in Databases (ECML/PKDD ’08), pp. 550-565, Sept. 2008.
http://www.javashuo.com/article/p-dalcdhtg-ka.html