1. 程式人生 > >遷移學習Transfer Learning

遷移學習Transfer Learning

1、簡介

一句話概括:從以前的任務當中去學習知識(knowledge)或經驗,並應用於新的任務當中。

傳統的機器學習方法包括有監督學習、無監督學習和半監督學習,針對不完全資料,有監督和半監督學習還有相應的變形,如處理噪聲分類標籤問題以及代價敏感學習。然而,這些方法的大多數都假設已標註資料與未標註資料的分佈是相同的。與之相反的是,遷移學習允許源空間、任務空間,並且在測試集和訓練集中的分佈是不同的。

2、數學形式描述

domain. 資料域(domain)由兩個部分組成:特徵空間 XXXX 和邊緣概率分佈 P(X)P(X) 

task. 一個任務(task)由兩個部分組成:空間的標籤 YYYY,和一個目的預測函式 f(.)

Transfer Learning: Ds≠Dt或者 Ts≠Tt 

說明:當 Ds=DtDs=Dt 且 Ts=TtTs=Tt 的時候是傳統的機器學習演算法。比如在文字分類的例子中, Ds≠DtDs≠Dt 可能兩個文字的語言不同,也有可能文字相同但是多關注的主題不同; Ts≠TtTs≠Tt 可能是一個是二分類問題,另一個十分類問題,也有可能是根據使用者定義的類源和目標中的文字是不均衡的。  

3、分類

 

4、遷移學習方法

(1)Domain-adversarial Training:

引入一個 domain classifier(相當於GAN 中 discriminator),用於判別 feature extractor

輸出的 feature 屬於 target domain 還是 source domain, feature extractor 則努力消除 features 分佈在 target domain 和 source domain 上的差異,騙過domain classifier的鑑別

(2) Fine-tuning:拿訓練好的網路(引數load而不是隨機初始化),在目標資料集上稍微迭代幾次

(3)Multitask Learning:copy某些層,改變某些層

(4)Zero-Shot learning:測試集中的標籤在訓練集中沒有出現過