淺談遷移學習
一、背景
隨著越來越多的機器學習應用場景的出現(xiàn),而現(xiàn)有表現(xiàn)比較好的監(jiān)督學習需要大量的標注數(shù)據(jù),標注數(shù)據(jù)是一項枯燥無味且花費巨大的任務,所以遷移學習受到越來越多的關(guān)注。
傳統(tǒng)機器學習(主要指監(jiān)督學習)
- 基于同分布假設
- 需要大量標注數(shù)據(jù)
然而實際使用過程中不同數(shù)據(jù)集可能存在一些問題,比如
- 數(shù)據(jù)分布差異
- 標注數(shù)據(jù)過期:訓練數(shù)據(jù)過期,也就是好不容易標定的數(shù)據(jù)要被丟棄,有些應用中數(shù)據(jù)是分布隨著時間推移會有變化
如何充分利用之前標注好的數(shù)據(jù)(廢物利用),同時又保證在新的任務上的模型精度?
基于這樣的問題,所以就有了對于遷移學習
的研究
二、定義及分類
Transfer Learning Definition:
Ability of a system to recognize and apply knowledge and skills learned in previous domains/tasks to novel domains/tasks.
2.1、目標
將某個領(lǐng)域或任務上學習到的知識或模式應用到不同但相關(guān)的領(lǐng)域或問題中。
2.2、主要思想
從相關(guān)領(lǐng)域中遷移標注數(shù)據(jù)或者知識結(jié)構(gòu)、完成或改進目標領(lǐng)域或任務的學習效果。
人在實際生活中有很多遷移學習,比如學會騎自行車,就比較容易學摩托車,學會了C語言,在學一些其它編程語言會簡單很多。那么機器是否能夠像人類一樣舉一反三呢?
上圖是一個商品評論情感分析的例子,圖中包含兩個不同的產(chǎn)品領(lǐng)域:books 圖書領(lǐng)域和 furniture 家具領(lǐng)域;在圖書領(lǐng)域,通常用“broad”、“quality fiction”等詞匯來表達正面情感,而在家具領(lǐng)域中卻由“sharp”、“l(fā)ight weight”等詞匯來表達正面情感??梢姶巳蝿罩?,不同領(lǐng)域的不同情感詞多數(shù)不發(fā)生重疊、存在領(lǐng)域獨享詞、且詞匯在不同領(lǐng)域出現(xiàn)的頻率顯著不同,因此會導致領(lǐng)域間的概率分布失配問題。
2.3、遷移學習的形式定義及一種分類方式
遷移學習里有兩個非常重要的概念
- 域(Domain)
- 任務(Task)
域 可以理解為某個時刻的某個特定領(lǐng)域,比如書本評論和電視劇評論可以看作是兩個不同的domain
任務 就是要做的事情,比如情感分析和實體識別就是兩個不同的task
三、關(guān)鍵點
1.研究可以用哪些知識在不同的領(lǐng)域或者任務中進行遷移學習,即不同領(lǐng)域之間有哪些共有知識可以遷移。
2.研究在找到了遷移對象之后,針對具體問題所采用哪種遷移學習的特定算法,即如何設計出合適的算法來提取和遷移共有知識。
3.研究什么情況下適合遷移,遷移技巧是否適合具體應用,其中涉及到負遷移的問題。
當領(lǐng)域間的概率分布差異很大時,上述假設通常難以成立,這會導致嚴重的負遷移問題。
負遷移是舊知識對新知識學習的阻礙作用,比如學習了三輪車之后對騎自行車的影響,和學習漢語拼音對學英文字母的影響
研究如何利用正遷移,避免負遷移
四、基于實例的遷移
基于實例的遷移學習研究的是,如何從源領(lǐng)域中挑選出,對目標領(lǐng)域的訓練有用的實例,比如對源領(lǐng)域的有標記數(shù)據(jù)實例進行有效的權(quán)重分配,讓源域?qū)嵗植冀咏繕擞虻膶嵗植?,從而在目標領(lǐng)域中建立一個分類精度較高的、可靠地學習模型。
因為,遷移學習中源領(lǐng)域與目標領(lǐng)域的數(shù)據(jù)分布是不一致,所以源領(lǐng)域中所有有標記的數(shù)據(jù)實例不一定都對目標領(lǐng)域有用。戴文淵等人提出的TrAdaBoost算法就是典型的基于實例的遷移。
五、基于特征的遷移
5.1、特征選擇
基于特征選擇的遷移學習算法,關(guān)注的是如何找出源領(lǐng)域與目標領(lǐng)域之間共同的特征表示,然后利用這些特征進行知識遷移。
5.2、特征映射
基于特征映射的遷移學習算法,關(guān)注的是如何將源領(lǐng)域和目標領(lǐng)域的數(shù)據(jù)從原始特征空間映射到新的特征空間中去。
這樣,在該空間中,源領(lǐng)域數(shù)據(jù)與的目標領(lǐng)域的數(shù)據(jù)分布相同,從而可以在新的空間中,更好地利用源領(lǐng)域已有的有標記數(shù)據(jù)樣本進行分類訓練,最終對目標領(lǐng)域的數(shù)據(jù)進行分類測試。
六、基于共享參數(shù)的遷移
基于共享參數(shù)的遷移研究的是如何找到源數(shù)據(jù)和目標數(shù)據(jù)的空間模型之間的共同參數(shù)或者先驗分布,從而可以通過進一步處理,達到知識遷移的目的,假設前提是,學習任務中的的每個相關(guān)模型會共享一些相同的參數(shù)或者先驗分布。
七、深度學習和遷移學習結(jié)合
深度學習需要大量的高質(zhì)量標注數(shù)據(jù),Pre-training + fine-tuning 是現(xiàn)在深度學習中一個非常流行的trick,尤其是以圖像領(lǐng)域為代表,很多時候會選擇預訓練的ImageNet對模型進行初始化。
下面將主要通過一些paper對深度學習中的遷移學習應用進行探討
八、Pre-training+Fine-tuning
2014年Bengio等人在NIPS上發(fā)表論文 How transferable are features in deep neural networks,研究深度學習中各個layer特征的可遷移性(或者說通用性)
文章中進行了如下圖所示的實驗,有四種模型
- Domain A上的基本模型BaseA
- Domain B上的基本模型BaseB
- Domain B上前n層使用BaseB的參數(shù)初始化(后續(xù)有frozen和fine-tuning兩種方式)
- Domain B上前n層使用BaseA的參數(shù)初始化(后續(xù)有frozen和fine-tuning兩種方式)
將深度學習應用在圖像處理領(lǐng)域中時,會觀察到第一層(first-layer)中提取的features基本上是類似于Gabor濾波器(Gabor filters)和色彩斑點(color blobs)之類的。
通常情況下第一層與具體的圖像數(shù)據(jù)集關(guān)系不是特別大,而網(wǎng)絡的最后一層則是與選定的數(shù)據(jù)集及其任務目標緊密相關(guān)的;文章中將第一層feature稱之為一般(general)特征,最后一層稱之為特定(specific)特征
- 特征遷移使得模型的泛化性能有所提升,即使目標數(shù)據(jù)集非常大的時候也是如此。
- 隨著參數(shù)被固定的層數(shù)n的增長,兩個相似度小的任務之間的transferability gap的增長速度比兩個相似度大的兩個任務之間的transferability gap增長更快 兩個數(shù)據(jù)集越不相似特征遷移的效果就越差
- 即使從不是特別相似的任務中進行遷移也比使用隨機filters(或者說隨機的參數(shù))要好
- 使用遷移參數(shù)初始化網(wǎng)絡能夠提升泛化性能,即使目標task經(jīng)過了大量的調(diào)整依然如此。
九、DANN (Domain-Adversarial Neural Network)
這篇paper將近兩年流行的對抗網(wǎng)絡思想引入到遷移學習中,從而提出了DANN
圖中所展示的即為DANN的結(jié)構(gòu)圖,框架由feature extractor、label predictor和domain classifier三個部分組成,并且在feature extractor和domain classifier 之間有一個gradient reversal layer;其中domain classifier只在訓練過程中發(fā)揮作用
- DANN將領(lǐng)域適配和特征學習整合到一個訓練過程中,將領(lǐng)域適配嵌入在特征表示的學習過程中;所以模型最后的分類決策是基于既有區(qū)分力又對領(lǐng)域變換具有不變性的特征。
- 優(yōu)化特征映射參數(shù)的目的是為了最小化label classifier的損失函數(shù),最大化domain classifier的損失函數(shù),前者是為了提取出具有區(qū)分能力的特征,后者是為了提取出具有領(lǐng)域不變性的特征,最終優(yōu)化得到的特征兼具兩種性質(zhì)。
以上就是淺談遷移學習的詳細內(nèi)容,更多關(guān)于遷移學習的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
TCP 四種定時器(重傳定時器,堅持計時器,保活定時器,時間等待計時器)
這篇文章主要介紹了TCP 四種定時器,重傳定時器,堅持計時器,?;疃〞r器,時間等待計時器的相關(guān)資料,需要的朋友可以參考下2017-03-03