當一個CNN用於另外一個領域,就使用到了遷移學習。遷移學習是一種用於模型領域泛化和擴展的工具。
php
文章連接:獨家 | 一文讀懂遷移學習(附學習工具包)html
參考:當深度學習成爲過去,遷移學習纔是真正的將來?
java
知乎:什麼是遷移學習?
git
1. 前言github
遷移學習(Transfer Learning,TL)對於人類來講,就是掌握觸類旁通的學習能力。好比咱們學會騎自行車後,學騎摩托車就很簡單了;在學會打羽毛球以後,再學打網球也就沒那麼難了。對於計算機而言,所謂遷移學習,就是能讓現有的模型算法稍加調整便可應用於一個新的領域和功能的一項技術。算法
不久前,香港科技大學的楊強教授在機器之心GMIS大會中回顧AlphaGo和柯潔的圍棋大戰時曾說,AlphaGo 看上去像神同樣的存在,好像是無懈可擊,而咱們若是從機器學習的角度來看,它仍是有弱點的,並且這個弱點還很嚴重。這個弱點即,AlphaGo不像人類同樣有遷移學習的能力。它不能在學會圍棋後,遷移到擁有下象棋的能力,這一侷限性須要遷移學習來攻破。另外一位大牛吳恩達在NIPS 2016 tutorial中也曾表示很是看好遷移學習的應用前景。他認爲遷移學習將是監督學習以後的,在ML的商業應用中獲得成功的下一波動力。現實世界紛繁複雜,包含衆多場景。遷移學習能夠幫助咱們透過現象抓住問題共性,巧妙處理新遇到的問題。網絡
傳統機器學習一般有兩個基本假設,即訓練樣本與測試樣本知足獨立同分布的假設和必須有足夠可利用的訓練樣本假設。然而,現實生活中這兩個基本假設有時每每難以知足。好比,股票數據的時效性一般很強,利用上個月數據訓練出來的模型,每每很難順利地運用到下個月的預測中去;好比公司開設新業務,但愁於沒有足夠的數據創建模型進行用戶推薦。近年來在機器學習領域受到普遍關注的遷移學習偏偏解決了這兩個問題。遷移學習用已有的知識來解決目標領域中僅有少許有標籤樣本數據甚至沒有數據的學習問題,從根本上放寬了傳統機器學習的基本假設。因爲被賦予了人類特有的觸類旁通的智慧,遷移學習可以將適用於大數據的模型遷移到小數據上,發現問題的共性,從而將通用的模型遷移到個性化的數據上,實現個性化遷移。dom
2. 遷移學習的通常化定義條件:給定一個源域Ds和源域上的學習任務Ts,目標域Dt和目標域上的學習任務Tt機器學習
目標:用Ds和Ts學習目標域上的預測函數f(·)函數
限制條件:Ds≠Dt,Ts≠Tt
同構遷移學習(Homogeneous TL): 源域和目標域的特徵空間相同,XS=XT
異構遷移學習(Heterogeneous TL):源域和目標域的特徵空間不一樣,XS≠XT
概括式遷移學習(Inductive TL):源域和目標域的學習任務不一樣
直推式遷移學習(Transductive TL):源域和目標域不一樣,學習任務相同
無監督遷移學習(Unsupervised TL):源域和目標域均沒有標籤
樣本遷移(Instance based TL)
在源域中找到與目標域類似的數據,把這個數據的權值進行調整,使得新的數據與目標域的數據進行匹配。下圖的例子就是找到源域的例子3,而後加劇該樣本的權值,使得在預測目標域時的比重加大。優勢是方法簡單,實現容易。缺點在於權重的選擇與類似度的度量依賴經驗,且源域與目標域的數據分佈每每不一樣。
特徵遷移(Feature based TL)
假設源域和目標域含有一些共同的交叉特徵,經過特徵變換,將源域和目標域的特徵變換到相同空間,使得該空間中源域數據與目標域數據具備相同分佈的數據分佈,而後進行傳統的機器學習。優勢是對大多數方法適用,效果較好。缺點在於難於求解,容易發生過適配。
模型遷移(Parameter based TL)
假設源域和目標域共享模型參數,是指將以前在源域中經過大量數據訓練好的模型應用到目標域上進行預測,好比利用上千萬的圖象來訓練好一個圖象識別的系統,當咱們遇到一個新的圖象領域問題的時候,就不用再去找幾千萬個圖象來訓練了,只需把原來訓練好的模型遷移到新的領域,在新的領域每每只需幾萬張圖片就夠,一樣能夠獲得很高的精度。優勢是能夠充分利用模型之間存在的類似性。缺點在於模型參數不易收斂。
關係遷移(Relation based TL)
假設兩個域是類似的,那麼它們之間會共享某種類似關係,將源域中邏輯網絡關係應用到目標域上來進行遷移,比方說生物病毒傳播到計算機病毒傳播的遷移。
解決標註數據稀缺性
大數據時代億萬級別規模的數據致使數據的統計異構性、標註缺失問題愈來愈嚴重。標註數據缺失會致使傳統監督學習出現嚴重過擬合問題。目前解決數據稀缺性的方法有傳統半監督學習、協同訓練、主動學習等,但這些方法都要求目標域中存在必定程度的標註數據,而在標註數據稀缺的時候額外獲取人工標註數據的代價太大。這時須要遷移學習來輔助提升目標領域的學習效果。
非平穩泛化偏差分享
經典統計學習理論給出了獨立同分布條件下模型的泛化偏差上界保證。而在非平穩環境(不一樣數據域不服從獨立同分布假設)中,傳統機器學習理論再也不成立,這給異構數據分析挖掘帶來了理論風險。從廣義上看,遷移學習能夠看作是傳統機器學習在非平穩環境下的推廣。所以在非平穩環境下,遷移學習是對經典機器學習的一個重要理論補充。
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/)
開展遷移學習的研究能夠從跟蹤遷移學習表明性研究學者的成果着手。國內外遷移學習方面的表明人物有:
香港科技大學的楊強教授
第四範式的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/)
[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
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龍明盛,遷移學習問題與方法研究
注:上文部分圖片摘自以上參考資料