EnforceLearning:迁移学习-监督训练与非监督训练
前言
? ? ? ? CNN刷分ImageNet以來,遷移學習已經得到廣泛的應用,不過使用ImageNet預訓練模型遷移到特定數據集是一個全集到子集的遷移,不是標準定義的遷移學習(模型遷移),而是“模型移動”。若對網絡結構不加修改地進行運用,則只是一個參數調優的過程。
? ? ? ? 遷移學習(Transfer Learning,TL)對于人類來說,就是掌握舉一反三的學習能力。比如我們學會騎自行車后,學騎摩托車就很簡單了;在學會打羽毛球之后,再學打網球也就沒那么難了。對于計算機而言,所謂遷移學習,就是能讓現有的模型算法稍加調整即可應用于一個新的領域和功能的一項技術。
? ? ? ? 從定義上看來,遷移學習為特定模型的定義域遷移。舉一反三有一個基本的要求,即是自然數是遞歸系統,自然數對加法運算形成一個半群。這就引發遷移學習的必然要求,在某個層面具有特定的相似性。 參考:一文讀懂遷移學習。
?
遷移學習,對應了模型的初始化問題。
- 對于局部極值的問題,nature綜述中,三個大牛作者的說法是:對于深度網絡來說,局部極值從來都不是一個問題,從任意的初始參數值開始訓練網絡,最后都能達到相似的分類效果。這也是被最近的理論和實踐所證明的。但是從隨機初始化到最優解,有可能需要不可負擔的算力成本和時間成本。
? ? ? ? 遷移學習的一個重要結果為,使深度學習從無監督預訓練到僅使用有監督訓練,使深度監督學習變得有效且被廣泛使用,參考:DeepLearning系列15-有監督和無監督訓練。Andrew NG的教程是06年到12年之間的產物,當時無監督訓練是主流,Li feifei的CNN教程和caffe官網的教程是產生于12年之后,這時數據庫足夠大(上千萬級別),模型足夠先進(ReLU激活函數,dropout等等),同時計算速度足夠快(GPU加速),使得無監督預訓練(自編碼神經網絡)在很多應用場景中失去了存在的價值,有監督訓練已足夠完成任務。更重要的一點是遷移學習的使用,通過不斷的定義域遷移,從minist到iris、cifar10、ImageNet、再到各類專業領域數據集,逐步對模型的少量修改最終演化出各個領域較優的深度模型,推動了深度學習的巨大發展。
? ? ? ? 遷移學習的極端情況為一次學習和零次學習,分別對應只有一個新樣本的學習和沒有任何新數據(僅提供幾種簡單的屬性描述和屬性值定義域的描述)的學習。
? ? ? ? CVPR2018論文:Taskonomy: Disentangling Task Transfer Learning;
?
遷移學習的基本方法/表象
-
樣本遷移(Instance based TL)
在源域中找到與目標域相似的數據,把這個數據的權值進行調整,使得新的數據與目標域的數據進行匹配。下圖的例子就是找到源域的例子3,然后加重該樣本的權值,使得在預測目標域時的比重加大。優點是方法簡單,實現容易。缺點在于權重的選擇與相似度的度量依賴經驗,且源域與目標域的數據分布往往不同。
樣本遷移的假設為樣本空間的近似或者包含特性。模型并沒有遷移,而只是“移動”。
-
特征遷移(Feature based TL)
假設源域和目標域含有一些共同的交叉特征,通過特征變換,將源域和目標域的特征變換到相同空間,使得該空間中源域數據與目標域數據具有相同分布的數據分布,然后進行傳統的機器學習。優點是對大多數方法適用,效果較好。缺點在于難于求解,容易發生過適配。
-
模型遷移(Parameter based TL)
假設源域和目標域共享模型參數,是指將之前在源域中通過大量數據訓練好的模型應用到目標域上進行預測,比如利用上千萬的圖象來訓練好一個圖象識別的系統,當我們遇到一個新的圖象領域問題的時候,就不用再去找幾千萬個圖象來訓練了,只需把原來訓練好的模型遷移到新的領域,在新的領域往往只需幾萬張圖片就夠,同樣可以得到很高的精度。優點是可以充分利用模型之間存在的相似性。缺點在于模型參數不易收斂。
-
關系遷移(Relation based TL)
假設兩個域是相似的,那么它們之間會共享某種相似關系,將源域中邏輯網絡關系應用到目標域上來進行遷移,比方說生物病毒傳播到計算機病毒傳播的遷移。
?
數學定義要求
定義域遷移:
? ? ? ? ?遷移學習的直接定義為特定模型的定義域遷移。這就要求新的定義域與模型的定義域結構相近,即模型大致可以描述新的數據集的結構,如圖中的兩類定義域有大面積的交叉。此種形式為模型的假設空間-形式空間不曾改變,即未改變模型的超參數,而模型的參數空間發生變化,即模型的泛函定義域產生了一些變化。
? ? ? ? ?大量的CNN模型應用使用了遷移方法。使用ImageNet的預訓練模型應用于特定領域,并未改變CNN的結構,只使用新定義域樣本進行了模型調優。或者在一個已理論或實驗證明的較優結構上,進行少量的新樣本混合,直接可以訓練原始模型。
?
高層特征提取:
? ? ? ? 特征遷移,在兩類不同的定義域上,可能定義域空間完全不重合,而直覺上有相似的特定高層特征,因此可以使用特定的特征遷移模型。比如貓狗識別模型和豹構識別模型。
? ? ? ? ?方法通過特征變化,把一個特征空間變化到另一個特征空間,對應了修改CNN的底層,修改了模型。在數學上相當于重構泛函形式的過程,把新的泛函形式映射到模型的泛函形式空間。
? ? ? ?參考:什么是One-Shot Learning?Discriminative Learning of Latent Features for Zero-Shot Recognition.?Zero-short learning 就是用來解決識別我們的訓練樣本中從沒就沒有出現過的樣本。但是,雖然訓練樣本中從來沒有出現過該樣本,但是卻有類似的樣本出現過。
? ? ? ?
? ? ? ?感性認識的話,雖然我們不知道這東西叫鴨嘴獸,但是我們可以說出他和誰誰誰像。
剝離高層特征:
? ? ? ? 模型遷移,在相近的兩個定義域內,通常具有相似的底層特征,可以使用抽象高層特征的模型遷移。
? ? ? ? ?在CNN領域,標示為特定的CNN模型可以不加修改的直接使用前幾層的特征提取層,而僅對后幾層的網絡進行超參數尋優和參數調優。對應修改了CNN模型的高層,修改了模型。
? ? ? ? 比如在一個固定的證明檢測貓的多層CNN模型中,可以對此CNN模型做少量修改和訓練即使用。通過近修改后幾層的結構,并對新模型進行相對少量新樣本的訓練,即可以完成從識別“波斯貓”到識別“新加坡貓”的遷移。
?
關系遷移
? ? ? ?關系遷移的要求是兩類定義具有相似的或者同構的關系,即兩類數據通過不同的特征抽象,可以通過相似的邏輯進行描述。
?
總結:
? ? ? ?基本的遷移模型為模型的完全遷移,基于定義域具有相似的特征,僅通過改變模型的參數,使用新的數據集訓練原始模型即可。模型遷移基于不同的定義域具有相似的底層特征,近做模型頂層的修改,使用新的數據集訓練頂層模型。特征遷移基于不同的定義域具有相似的高層特征,對原始模型添加新的底層映射,使用新的數據集訓練模型底層;關系遷移基于不同的定義域具有相似的邏輯關系,可遷移的為模型的邏輯層,僅需要對模型的前期特征提取進行訓練即可。
?
其他
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):源域和目標域均沒有標簽
遷移學習工具包
[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龍明盛,遷移學習問題與方法研究注:上文部分圖片摘自以上參考資料
總結
以上是生活随笔為你收集整理的EnforceLearning:迁移学习-监督训练与非监督训练的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怪物猎人世界冰原歼世灭尽龙怎么出 如何评
- 下一篇: 方舟翼龙怎么驯服 方舟无齿翼龙怎么驯服