人工智能之遷移學(xué)習(xí)

前言: 深度學(xué)習(xí)主要強(qiáng)調(diào)的是特征,強(qiáng)化學(xué)習(xí)主要強(qiáng)調(diào)的是反饋,而遷移學(xué)習(xí)主要強(qiáng)調(diào)的是適應(yīng)。

之前介紹過人工智能之機(jī)器學(xué)習(xí)算法有前5大類內(nèi)容,具體請(qǐng)參見相關(guān)文章。今天我們重點(diǎn)探討一下第6類--遷移學(xué)習(xí)(Transfer Learning)。 ^_^

傳統(tǒng)的機(jī)器學(xué)習(xí)是種瓜得瓜,種豆得豆,而遷移學(xué)習(xí)可以舉一反三,投桃報(bào)李。

人工智能競(jìng)爭(zhēng),從算法模型的研發(fā)競(jìng)爭(zhēng),轉(zhuǎn)向數(shù)據(jù)和數(shù)據(jù)質(zhì)量的競(jìng)爭(zhēng),這些成功的模型和算法主要是由監(jiān)督學(xué)習(xí)推動(dòng)的,而監(jiān)督學(xué)習(xí)對(duì)數(shù)據(jù)極度饑渴,需要海量數(shù)據(jù)(大數(shù)據(jù))支撐來達(dá)到應(yīng)用的精準(zhǔn)要求。而人工智能發(fā)展更趨向于不要求海量數(shù)據(jù)也能達(dá)到應(yīng)用的精準(zhǔn)要求,因此“小數(shù)據(jù)學(xué)習(xí)”正在成為新的熱點(diǎn),以遷移學(xué)習(xí),強(qiáng)化學(xué)習(xí)為代表的小數(shù)據(jù)學(xué)習(xí)技術(shù),更能體現(xiàn)人工智能的未來之路。有專家稱,在監(jiān)督學(xué)習(xí)之后,遷移學(xué)習(xí)將引領(lǐng)下一波機(jī)器學(xué)習(xí)技術(shù)商業(yè)化浪潮。

blob.png

遷移學(xué)習(xí)(TL)的概念自從1995年在NIPS5專題討論會(huì)上被提出來后,受到學(xué)術(shù)界的廣泛關(guān)注。遷移學(xué)習(xí)定義過于寬泛,相關(guān)研究中曾出現(xiàn)多種專用術(shù)語,比如learning to learn, life-long learn,multi-task learning, meta-learning, inductive transfer, knowledge transfer, context sensitive learning等。其中,遷移學(xué)習(xí)與多任務(wù)學(xué)習(xí)(multi-task learning)關(guān)系最為緊密。多任務(wù)學(xué)習(xí)同時(shí)學(xué)習(xí)多個(gè)不同的任務(wù),從中發(fā)現(xiàn)隱含的共同特征,以幫助單個(gè)任務(wù)的學(xué)習(xí)。

什么是遷移學(xué)習(xí)?

遷移學(xué)習(xí)TL(Transfer Learning)是把已學(xué)訓(xùn)練好的模型參數(shù)遷移到新的模型來幫助新模型訓(xùn)練??紤]到大部分?jǐn)?shù)據(jù)或任務(wù)是存在相關(guān)性的,所以通過遷移學(xué)習(xí),可以將已經(jīng)學(xué)到的模型參數(shù)通過某種方式來分享給新模型從而加快并優(yōu)化模型的學(xué)習(xí)效率。

遷移學(xué)習(xí)的基本動(dòng)機(jī):

遷移學(xué)習(xí)的基本動(dòng)機(jī)是試圖從一個(gè)問題中獲取的知識(shí)應(yīng)用到另外一個(gè)不同但是相關(guān)的問題中去。比如,一個(gè)熟練應(yīng)用C++語言編程的程序員能很快地學(xué)習(xí)和掌握J(rèn)AVA語言。在某種程度上,機(jī)器學(xué)習(xí)中的遷移學(xué)習(xí)跟心理學(xué)上的“學(xué)習(xí)能力遷移”有一定的關(guān)聯(lián)。在人類進(jìn)化中,遷移學(xué)習(xí)這種能力是非常重要。比如說,人類在學(xué)會(huì)騎自行車后,再騎摩托車就很容易了,人類在學(xué)會(huì)打羽毛球后再學(xué)習(xí)打網(wǎng)球也會(huì)容易很多。人類能把過去的知識(shí)和經(jīng)驗(yàn)應(yīng)用到不同的新場(chǎng)景中,這樣就有了一種適應(yīng)的能力。

遷移學(xué)習(xí)主要類別方法

1)實(shí)例加權(quán)方法:通過某種方式對(duì)來自源領(lǐng)域的訓(xùn)練樣本進(jìn)行權(quán)重計(jì)算,以決定每個(gè)樣本在訓(xùn)練過程中的重要性大小。

2)共同特征學(xué)習(xí)方法:通過若干個(gè)共同特征在源領(lǐng)域和目標(biāo)領(lǐng)域之間傳遞有用的知識(shí)。

遷移學(xué)習(xí)的重要性:

1)從數(shù)據(jù)角度:數(shù)據(jù)為王,計(jì)算是核心,但沒有足夠數(shù)據(jù)或收集數(shù)據(jù)很耗時(shí),對(duì)數(shù)據(jù)打標(biāo)簽很難,用數(shù)據(jù)訓(xùn)練模型很繁瑣。如何進(jìn)行機(jī)器學(xué)習(xí)?遷移學(xué)習(xí)適用于小數(shù)據(jù)量場(chǎng)景;

2)從模型角度:云-端融合的模型被普遍使用,通過需要對(duì)設(shè)備、環(huán)境、用戶做具體適配。個(gè)性化模型適配很復(fù)雜,需要有不同的用戶隱私處理方式。遷移學(xué)習(xí)適合個(gè)性化方面。

3)從應(yīng)用角度:機(jī)器學(xué)習(xí)應(yīng)用中的冷啟動(dòng)問題,推薦系統(tǒng)沒有初始用戶數(shù)據(jù),無法精準(zhǔn)推薦。遷移學(xué)習(xí)可以解決冷啟動(dòng)問題。

遷移學(xué)習(xí)可減少對(duì)標(biāo)定數(shù)據(jù)的依賴,通過和已有數(shù)據(jù)模型之間的遷移,更好地完成機(jī)器學(xué)習(xí)任務(wù)。

遷移學(xué)習(xí)實(shí)現(xiàn)方法:

1)樣本遷移(Instance-based Transfer Learning):在數(shù)據(jù)集(源領(lǐng)域)中找到與目標(biāo)領(lǐng)域相似的數(shù)據(jù),把這個(gè)數(shù)據(jù)放大多倍,與目標(biāo)領(lǐng)域的數(shù)據(jù)進(jìn)行匹配。其特點(diǎn)是:需要對(duì)不同例子加權(quán);需要用數(shù)據(jù)進(jìn)行訓(xùn)練。一般就是對(duì)樣本進(jìn)行加權(quán),給比較重要的樣本較大的權(quán)重。

2)特征遷移(Feature-based Transfer Learning):通過觀察源領(lǐng)域圖像與目標(biāo)域圖像之間的共同特征,然后利用觀察所得的共同特征在不同層級(jí)的特征間進(jìn)行自動(dòng)遷移。在特征空間進(jìn)行遷移,一般需要把源領(lǐng)域和目標(biāo)領(lǐng)域的特征投影到同一個(gè)特征空間里進(jìn)行。

3)模型遷移(Model-based Transfer Learning):利用上千萬的圖象訓(xùn)練一個(gè)圖象識(shí)別的系統(tǒng),當(dāng)遇到一個(gè)新的圖象領(lǐng)域,就不用再去找?guī)浊f個(gè)圖象來訓(xùn)練了,可以原來的圖像識(shí)別系統(tǒng)遷移到新的領(lǐng)域,所以在新的領(lǐng)域只用幾萬張圖片同樣能夠獲取相同的效果。模型遷移的一個(gè)好處是可以區(qū)分,就是可以和深度學(xué)習(xí)結(jié)合起來,可以區(qū)分不同層次可遷移的度,相似度比較高的那些層次被遷移的可能性就大一些。

4)關(guān)系遷移(Relational Transfer Learning):利用源域?qū)W習(xí)邏輯關(guān)系網(wǎng)絡(luò),再應(yīng)用于目標(biāo)域上。如社會(huì)網(wǎng)絡(luò),社交網(wǎng)絡(luò)之間的遷移。

遷移學(xué)習(xí)工具:

NanoNets(納米網(wǎng)絡(luò))是一個(gè)簡(jiǎn)單方便的基于云端實(shí)現(xiàn)的遷移學(xué)習(xí)工具,內(nèi)部包含了一組已經(jīng)實(shí)現(xiàn)好的預(yù)訓(xùn)練模型,每個(gè)模型有數(shù)百萬個(gè)訓(xùn)練好的參數(shù)。用戶可以自己上傳或通過網(wǎng)絡(luò)搜索得到數(shù)據(jù),NanoNets將自動(dòng)根據(jù)待解問題選擇最佳的預(yù)訓(xùn)練模型,并根據(jù)該模型建立一個(gè)NanoNets,并將之適配到用戶的數(shù)據(jù)。NanoNets和預(yù)訓(xùn)練模型之間的關(guān)系結(jié)構(gòu)如下圖所示。

blob.png

遷移學(xué)習(xí)發(fā)展:

1)結(jié)構(gòu)與內(nèi)容分離:當(dāng)面臨一個(gè)機(jī)器學(xué)習(xí)問題,想要發(fā)現(xiàn)不同問題之間的共性,那么可以把問題的結(jié)構(gòu)和內(nèi)容剝離開。雖然這樣的分離并不容易,但是一旦完成,那么系統(tǒng)舉一反三的能力就非常強(qiáng)。

2)多層次特征學(xué)習(xí):把問題分到不同層次,有些層次就更容易幫助進(jìn)行機(jī)器學(xué)習(xí)的遷移。用了這種層次型的遷移學(xué)習(xí),不同的層次具有不同的遷移能力,對(duì)于不同層次的遷移能力就有了一個(gè)定量的估計(jì)。當(dāng)需要處理新任務(wù)時(shí),就可以把某些區(qū)域或某些層次給固定住,把其他的區(qū)域用小數(shù)據(jù)來做訓(xùn)練,這樣就能夠達(dá)到遷移學(xué)習(xí)的效果。

3)多步、傳遞式學(xué)習(xí):從舊領(lǐng)域遷移到新領(lǐng)域,從一個(gè)多數(shù)據(jù)的領(lǐng)域遷移到少數(shù)據(jù)的領(lǐng)域,這種稱之為單步遷移。很多場(chǎng)景是需要分階段進(jìn)行多步傳導(dǎo)式的遷移,可以構(gòu)建一個(gè)深度網(wǎng)絡(luò),而這個(gè)網(wǎng)絡(luò)中間層既能照顧目標(biāo)這個(gè)問題領(lǐng)域,又能照顧原來的領(lǐng)域。如果有一些中間領(lǐng)域,那么其可以把原領(lǐng)域和目標(biāo)領(lǐng)域一步步的銜接起來??梢远x兩個(gè)目標(biāo)函數(shù),兩個(gè)目標(biāo)函數(shù)一同工作時(shí),一個(gè)優(yōu)化了最后的目標(biāo),另一個(gè)則選擇了樣本。如此迭代,原領(lǐng)域的數(shù)據(jù)就從多步遷移到目標(biāo)領(lǐng)域。

blob.png

4)學(xué)習(xí)如何遷移:在給定任何一個(gè)遷移學(xué)習(xí)問題,系統(tǒng)可以自動(dòng)在過去所有嘗試過的算法里面,利用經(jīng)驗(yàn)找到最合適的算法,可以是基于特征的、基于多層網(wǎng)絡(luò)的、基于樣本的或者是基于某種混合。或者把經(jīng)驗(yàn)總結(jié)起來訓(xùn)練一個(gè)新的算法,這個(gè)算法的老師就是所有這些機(jī)器學(xué)習(xí)算法、文章、經(jīng)歷和數(shù)據(jù)。所以,學(xué)習(xí)如何遷移,就好像常說的學(xué)習(xí)如何學(xué)習(xí),這個(gè)才是學(xué)習(xí)的最高境界,也就是學(xué)習(xí)方法的獲取。

5)遷移學(xué)習(xí)作為元學(xué)習(xí):把遷移學(xué)習(xí)本身作為一個(gè)元學(xué)習(xí)(Meta Learning的方法,賦予到不同學(xué)習(xí)的方式上。假設(shè)以前有一個(gè)機(jī)器學(xué)習(xí)的問題或者是模型,現(xiàn)在只要在上面套一個(gè)遷移學(xué)習(xí)的罩子,它就可以變成一個(gè)遷移學(xué)習(xí)的模型了。

6)數(shù)據(jù)生成式遷移學(xué)習(xí):對(duì)于生成式對(duì)抗網(wǎng)絡(luò)來說,圖靈測(cè)試外面的裁判是學(xué)生,里面的那個(gè)機(jī)器也是學(xué)生,兩個(gè)人的目的是在對(duì)抗中共同成長(zhǎng),兩方不斷互相刺激,形成一種對(duì)抗(共同學(xué)習(xí)特點(diǎn))。通過小數(shù)據(jù)可以生成很多模擬數(shù)據(jù),通過模擬數(shù)據(jù)又來判定它是真的還是假的,用以刺激生成式模型的成長(zhǎng)??梢酝ㄟ^小數(shù)據(jù)產(chǎn)生更多的數(shù)據(jù),在新的領(lǐng)域就可以實(shí)現(xiàn)遷移學(xué)習(xí)的目的。

最近,遷移學(xué)習(xí)技術(shù)在機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘領(lǐng)域得到了深入的研究。

結(jié)語:

伴隨著最近幾年的機(jī)器學(xué)習(xí)熱潮,遷移學(xué)習(xí)也成為目前最炙手可熱的研究方向。機(jī)器學(xué)習(xí)的未來發(fā)展在小數(shù)據(jù)、個(gè)性化、可靠性上面,那就是遷移學(xué)習(xí)。遷移學(xué)習(xí)體現(xiàn)了人類特有的類比能力,是“舉一反三”式的發(fā)散思維。遷移學(xué)習(xí)已經(jīng)廣泛被使用在各種人工智能機(jī)器學(xué)習(xí)應(yīng)用場(chǎng)景中。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2018-05-07
人工智能之遷移學(xué)習(xí)
前言: 深度學(xué)習(xí)主要強(qiáng)調(diào)的是特征,強(qiáng)化學(xué)習(xí)主要強(qiáng)調(diào)的是反饋,而遷移學(xué)習(xí)主要強(qiáng)調(diào)的是適應(yīng)。之前介紹過人工智能之機(jī)器學(xué)習(xí)算法有前5大類內(nèi)容,具體請(qǐng)參見相關(guān)文章。

長(zhǎng)按掃碼 閱讀全文