| 一文读懂迁移学习(附学习工具包)
????????? 當一個CNN用于另一個領域,就使用到了遷移學習。遷移學習是一種用于模型領域泛化和擴展的工具。
????????? 文章鏈接:獨家 | 一文讀懂遷移學習(附學習工具包)
? ? ? ??? 參考:當深度學習成為過去,遷移學習才是真正的未來?
? ? ? ? ?? 知乎:什么是遷移學習?2018年03月15日 17:24:29
?
1. 前言
遷移學習(Transfer Learning,TL)對于人類來說,就是掌握舉一反三的學習能力。比如我們學會騎自行車后,學騎摩托車就很簡單了;在學會打羽毛球之后,再學打網球也就沒那么難了。對于計算機而言,所謂遷移學習,就是能讓現有的模型算法稍加調整即可應用于一個新的領域和功能的一項技術。
不久前,香港科技大學的楊強教授在機器之心GMIS大會中回顧AlphaGo和柯潔的圍棋大戰時曾說,AlphaGo 看上去像神一樣的存在,好像是無懈可擊,而我們如果從機器學習的角度來看,它還是有弱點的,而且這個弱點還很嚴重。這個弱點即,AlphaGo不像人類一樣有遷移學習的能力。它不能在學會圍棋后,遷移到擁有下象棋的能力,這一局限性需要遷移學習來攻破。另一位大牛吳恩達在NIPS 2016 tutorial中也曾表示非常看好遷移學習的應用前景。他認為遷移學習將是監督學習之后的,在ML的商業應用中得到成功的下一波動力。現實世界紛繁復雜,包含眾多場景。遷移學習可以幫助我們透過現象抓住問題共性,巧妙處理新遇到的問題。
傳統機器學習通常有兩個基本假設,即訓練樣本與測試樣本滿足獨立同分布的假設和必須有足夠可利用的訓練樣本假設。然而,現實生活中這兩個基本假設有時往往難以滿足。比如,股票數據的時效性通常很強,利用上個月數據訓練出來的模型,往往很難順利地運用到下個月的預測中去;比如公司開設新業務,但愁于沒有足夠的數據建立模型進行用戶推薦。近年來在機器學習領域受到廣泛關注的遷移學習恰恰解決了這兩個問題。遷移學習用已有的知識來解決目標領域中僅有少量有標簽樣本數據甚至沒有數據的學習問題,從根本上放寬了傳統機器學習的基本假設。由于被賦予了人類特有的舉一反三的智慧,遷移學習能夠將適用于大數據的模型遷移到小數據上,發現問題的共性,從而將通用的模型遷移到個性化的數據上,實現個性化遷移。
2. 遷移學習的一般化定義
-
條件:給定一個源域Ds和源域上的學習任務Ts,目標域Dt和目標域上的學習任務Tt
-
目標:用Ds和Ts學習目標域上的預測函數f(·)
-
限制條件:Ds≠Dt,Ts≠Tt
3 遷移學習的分類3.1 按特征空間分
-
同構遷移學習(Homogeneous TL): 源域和目標域的特征空間相同,XS=XT
-
異構遷移學習(Heterogeneous TL):源域和目標域的特征空間不同,XS≠XT
3.2 按遷移情景分
-
歸納式遷移學習(Inductive TL):源域和目標域的學習任務不同
-
直推式遷移學習(Transductive TL):源域和目標域不同,學習任務相同
-
無監督遷移學習(Unsupervised TL):源域和目標域均沒有標簽
4. 遷移學習的基本方法
-
樣本遷移(Instance based TL)
在源域中找到與目標域相似的數據,把這個數據的權值進行調整,使得新的數據與目標域的數據進行匹配。下圖的例子就是找到源域的例子3,然后加重該樣本的權值,使得在預測目標域時的比重加大。優點是方法簡單,實現容易。缺點在于權重的選擇與相似度的度量依賴經驗,且源域與目標域的數據分布往往不同。
-
特征遷移(Feature based TL)
假設源域和目標域含有一些共同的交叉特征,通過特征變換,將源域和目標域的特征變換到相同空間,使得該空間中源域數據與目標域數據具有相同分布的數據分布,然后進行傳統的機器學習。優點是對大多數方法適用,效果較好。缺點在于難于求解,容易發生過適配。
-
模型遷移(Parameter based TL)
假設源域和目標域共享模型參數,是指將之前在源域中通過大量數據訓練好的模型應用到目標域上進行預測,比如利用上千萬的圖象來訓練好一個圖象識別的系統,當我們遇到一個新的圖象領域問題的時候,就不用再去找幾千萬個圖象來訓練了,只需把原來訓練好的模型遷移到新的領域,在新的領域往往只需幾萬張圖片就夠,同樣可以得到很高的精度。優點是可以充分利用模型之間存在的相似性。缺點在于模型參數不易收斂。
-
關系遷移(Relation based TL)
假設兩個域是相似的,那么它們之間會共享某種相似關系,將源域中邏輯網絡關系應用到目標域上來進行遷移,比方說生物病毒傳播到計算機病毒傳播的遷移。
5. 遷移學習的應用場景5.1 遷移學習的理論研究價值
-
解決標注數據稀缺性
大數據時代億萬級別規模的數據導致數據的統計異構性、標注缺失問題越來越嚴重。標注數據缺失會導致傳統監督學習出現嚴重過擬合問題。目前解決數據稀缺性的方法有傳統半監督學習、協同訓練、主動學習等,但這些方法都要求目標域中存在一定程度的標注數據,而在標注數據稀缺的時候額外獲取人工標注數據的代價太大。這時需要遷移學習來輔助提高目標領域的學習效果。
-
非平穩泛化誤差分享
經典統計學習理論給出了獨立同分布條件下模型的泛化誤差上界保證。而在非平穩環境(不同數據域不服從獨立同分布假設)中,傳統機器學習理論不再成立,這給異構數據分析挖掘帶來了理論風險。從廣義上看,遷移學習可以看做是傳統機器學習在非平穩環境下的推廣。因此在非平穩環境下,遷移學習是對經典機器學習的一個重要理論補充。
5.2 遷移學習的實際應用
-
訓練機械臂
在真實的機器人上訓練模型太慢,而且非常昂貴。解決辦法是先進行模擬學習,將模擬學習學到的知識遷移到現實世界的機器人訓練中,這里源域和目標域之間的特征空間是相同的。近年來該領域的研究又引發了許多人的興趣。下圖是谷歌DeepMind的工作:圖左是在模擬環境下訓練機械臂的移動,訓練好之后,可以把知識遷移到現實世界的機械臂上,真實的機械臂稍加訓練也可以達到非常好的效果,如下圖右。
視頻參見:https://www.youtube.com/watch?v=YZz5Io_ipi8
-
輿情分析
遷移學習也可應用在輿情分析中的用戶評價上。以電子產品和視頻游戲產品用戶評價為例,圖中綠色為好評標簽,而紅色為差評標簽。從圖左的電子產品評價(源域)中抽取特征,建立電子產品評價領域的模型,然后將其應用到右圖的視頻游戲領域(目標域)中,實現輿情大規模的遷移,并且在新的領域不需要標簽。
-
推薦系統
遷移學習也可以用在推薦系統,在某個領域做好一個推薦系統,然后應用在稀疏的、新的垂直領域。比如已成熟完善的電影推薦系統可以應用在冷啟動中的書籍推薦系統中。
-
個性化對話
先訓練一個通用型的對話系統,然后再根據特定領域的小數據修正它,使得這個對話系統適應該特定領域的任務。比如,一個用戶想買咖啡,他并不想回答所有繁瑣的問題,例如是問要大杯小杯,熱的冷的?
-
數據生成式的遷移學習-GAN
生成式對抗網絡(GAN)是一個新的機器學習的思想。GAN模型中的兩位博弈方分別由生成式模型(generative model)和判別式模型(discriminative model)充當。生成模型G捕捉樣本數據的分布,用服從某一分布(均勻分布,高斯分布等)的噪聲z生成一個類似真實訓練數據的樣本,追求效果是越像真實樣本越好;判別模型 D 是一個二分類器,估計一個樣本來自于訓練數據(而非生成數據)的概率,如果樣本來自于真實的訓練數據,D輸出大概率,否則,D輸出小概率。GAN的優化是一個極小極大博弈問題,最終的目的是generator的輸出給discriminator時很難判斷是真實or偽造的。
如果我們有一個很好的生成式模型,在某個數據集上已經訓練好了,如果有一些新的數據,和前一個數據集有明顯的區別,那么我們可以利用“GAN+邊界條件”,把生成式模型遷移到新的數據分布上。比方說,我們寫字的時候,每個人簽名都是不同的,我們不會用印刷體來簽名,因為我們每個人都有自己的寫字的特點。那么,如果用大量的印刷體字作為第一部分的訓練樣本,來訓練一個不錯的通用模型,而用某個人手寫的斜體字做第二部分的訓練樣本,就可以利用Wasserstein GAN把印刷體的模型遷移到個人的簽名。也就是說,這樣的簽名也就更具個性化特點。
6. 遷移學習相關競賽
-
[Unsupervised and Transfer Learning Challenge] (http://www.causality.inf.ethz.ch/unsupervised-learning.php)
-
[2007 IEEE ICDM Data Mining Contest Overview] (http://www.cse.ust.hk/~qyang/ICDMDMC07/)
7. 遷移學習代表性研究學者
開展遷移學習的研究可以從跟蹤遷移學習代表性研究學者的成果著手。國內外遷移學習方面的代表人物有:
-
香港科技大學的楊強教授
-
第四范式的CEO [戴文淵] (https://scholar.google.com.sg/citations?user=AGR9pP0AAAAJ&hl=zh-CN)
-
南洋理工大學的助理教授[Sinno Jialin Pan] (http://www.ntu.edu.sg/home/sinnopan/)
-
中科院計算所副教授[莊福振] (http://www.intsci.ac.cn/users/zhuangfuzhen/)
8. 遷移學習工具包
-
[Boosting for Transfer Learning] (http://www.cse.ust.hk/TL/code/C_TraDaBoost.rar), Wenyuan Dai,Qiang Yang, et al., C語言
-
[Selective Transfer Between Learning Tasks Using Task-Based Boosting] (http://cs.brynmawr.edu/~eeaton/TransferBoost/TransferBoostExp.java), Eric Eaton and Marie desJardins, Java
-
[Domain Adaptation in Natural Language Processing] (http://www.mysmu.edu/faculty/jingjiang/software/DALR.html), Jiang Jiang,C++
-
[Triplex Transfer Learning: Exploiting both Shared and Distinct Concepts for Text Classification] (http://www.intsci.ac.cn/users/zhuangfuzhen/code&data_TriTL.rar), Fuzhen Zhuang , Ping Luo, et al.,Matlab
-
[Heterogeneous Transfer Learning for Image Classification] (http://www.cse.ust.hk/~yinz/htl4ic.zip), Yin Zhu, Yuqiang Chen, et al.,Matlab
-
[Domain Adaptation Toolbox] (https://github.com/viggin/domain-adaptation-toolbox), Ke Yan,Matlab
9. 參考資料
2017香港科技大學楊強機器之心GMIS峰會演講
2016香港科技大學楊強KDD China技術峰會演講Sinno Jialin Pan and Qiang Yang, A survey on transfer learningKarl Weiss, Taghi M. Khoshgoftaar and DingDing Wang, A survey of transfer learning龍明盛,遷移學習問題與方法研究注:上文部分圖片摘自以上參考資料
?
?
?
總結
以上是生活随笔為你收集整理的| 一文读懂迁移学习(附学习工具包)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚂蚁集团宣布国际业务组织升级,任命杨鹏为
- 下一篇: 日本 NTT 一临时工非法窃取用户信息,