遷移學習介紹

1. 什麼是遷移學習

【個人理解】:遷移學習是一種從源領域學習知識並遷移用於目標領域,來提升目標領域任務效果的機器學習技術。
【百度百科】:遷移學習是一種機器學習方法,就是把爲任務 A 開發的模型作爲初始點,重新使用在爲任務 B 開發模型過程中的方法。
數學表示如下圖:

借用牛頓的話,遷移學習就是站在巨人的肩膀上

2. 傳統機器學習 VS 遷移學習

傳統機器學習都隱含2個基本假設: 數據有相同的特徵空間,且數據有相同的分佈。這在現實場景中往往難以滿足,原因是滿足上述兩種假設的大量數據難以獲取,尤其是帶標註的數據。
順帶一提:傳統機器學習根據訓練數據是否帶標籤可分爲:監督學習、無監督學習、(或有:半監督學習, 是個小衆領域,偏向於學術界)。
監督學習需要大量的標註數據,而這部分數據在現實場景中是十分難得的,尤其是在一些特別的業務領域更是成本高昂,難以獲取大量。無監督學習的算法目前交少,關鍵是當帶標註樣本和不帶標註樣本數量一樣時,監督學習建模效果更好。
而遷移學習的提出最初是建立於用源領域大量的標註數據訓練模型,並將知識模型學習到的知識遷移應用於目標領域,來幫助目標領域在數據量有限的情況下提升任務效果。學習過程可參考下圖:

  • 舉個栗子
  • 場景A: 一個人從直接學習騎摩托車,爲傳統機器學習
  • 場景B: 該人先學習騎自行車,再學習騎摩托車,爲遷移學習。 因爲任務A中的騎摩托車和任務B中的騎自行車在掌握平衡時用到的知識是相似的。

3. 遷移學習的分類

  • 根據場景和任務的相關性分
    微衆銀行的楊強教授,早在2007年的一篇關於Transfer Learning的綜述中就詳細介紹了機器學習領域遷移學習的分類,根據學習環境不同,分爲歸納遷移學習(Inductive TL)、無監督遷移學習和直推式遷移學習(Transductive TL),具體如下圖:

    其中歸納遷移學習(Inductive TL) 根據源領域和目標領域不同可繼續分爲:多任務學習和自學習,如下圖所示:

    Transfer Learning 分類全局概覽如下圖:

  • 根據遷移方法分
    若用不同的遷移方法可將遷移學習分爲:基於實例的遷移、基於特徵表示的遷移、基於參數的遷移和基於知識的遷移:

  • 不同場景下的不同遷移方法比較:

  • Fine-tine(微調 或作 精調)

  1. 近幾年深度學習大火,但由於子領域的數據量受限,任務性能有待進一步提高等因素,依然有必要把傳統機器學習中的遷移學習應用於深度學習領域,因此Fine-tune誕生了。
  2. Fine-tune是用大量的訓練數據訓練一個通用的基準模型,再將其應用於自己的子任務中,使用子任務數據集再在已經訓練好的模型的情況下繼續訓練,訓練時通常會先改動模型的輸出,以達到在子任務領域訓練加速和性能提升。
  3. Fine-tune時可以對全模型參數訓練,也可以訓練輸出層參數,也可以凍結模型指定部分,對其餘部分進行訓練。
  • 多任務學習(multi-task learning)

多任務學習無論是在機器學習領域還是在深度學習領域都有較廣闊的實際落地經驗,如無人駕駛訓練、語音識別、文本分類、機器翻譯等都有工業級應用,其過程如下圖:

  • 零樣本學習(Zero-shot learning)
    零樣本學習是在訓練集上使用有標籤數據進行訓練,在測試集上使用無標籤數據測試的學習過程。由於測試時的數據是沒有見過的,所以在模型訓練時,會對帶標籤數據進行特徵拆分,而測試時會根據測試集數據的特徵來進行分類匹配並根據特徵匹配結果到已建立的數據庫中查詢來輸出對未見過樣本的分類。(會額外維護一個數據庫來記錄不屬於訓練集樣本的特徵矩陣)

4. 近幾年其他學習方法

從傳統機器學習中的遷移學習到深度學習的Fine-tune,以及在BERT中將遷移學習成功的應用,使得Transfer Learning已經走上了巔峯,但是依然暴露一些問題亟待解決,
因此後面有出現了Zero shot Learning(零樣本學習)、小樣本學習、域對抗學習(Domain-adversarial training), 有機會再進一步詳細描述。

參考資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章