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