本文介紹了面向NLP任務(wù)的遷移學(xué)習(xí)新模型ULMFit,只需使用極少量的標(biāo)記數(shù)據(jù),文本分類精度就能和數(shù)千倍的標(biāo)記數(shù)據(jù)訓(xùn)練量達(dá)到同等水平。在數(shù)據(jù)標(biāo)記成本高數(shù)量少的情況下,這個(gè)通用語(yǔ)言微調(diào)模型可以大幅降低你的NLP任務(wù)訓(xùn)練時(shí)間和成本。
在本文中,我們將介紹自然語(yǔ)言處理(NLP)在遷移學(xué)習(xí)上的最新應(yīng)用趨勢(shì),并嘗試執(zhí)行一個(gè)分類任務(wù):使用一個(gè)數(shù)據(jù)集,其內(nèi)容是亞馬遜網(wǎng)站上的購(gòu)物評(píng)價(jià),已按正面或負(fù)面評(píng)價(jià)分類。然后在你可以按照這里的說(shuō)明,用你自己的數(shù)據(jù)重新進(jìn)行實(shí)驗(yàn)。
遷移學(xué)習(xí)模型的思路是這樣的:既然中間層可以用來(lái)學(xué)習(xí)圖像的一般知識(shí),我們可以將其作為一個(gè)大的特征化工具使用。下載一個(gè)預(yù)先訓(xùn)練好的模型(模型已針對(duì)ImageNet任務(wù)訓(xùn)練了數(shù)周時(shí)間),刪除網(wǎng)絡(luò)的最后一層(完全連接層),添加我們選擇的分類器,執(zhí)行適合我們的任務(wù)(如果任務(wù)是對(duì)貓和狗進(jìn)行分類,就選擇二元分類器),最后僅對(duì)我們的分類層進(jìn)行訓(xùn)練。
由于我們使用的數(shù)據(jù)可能與之前訓(xùn)練過(guò)的模型數(shù)據(jù)不同,我們也可以對(duì)上面的步驟進(jìn)行微調(diào),以在相當(dāng)短的時(shí)間內(nèi)對(duì)所有的層進(jìn)行訓(xùn)練。
除了能夠更快地進(jìn)行訓(xùn)練之外,遷移學(xué)習(xí)也是特別有趣的,僅在最后一層進(jìn)行訓(xùn)練,讓我們可以僅僅使用較少的標(biāo)記數(shù)據(jù),而對(duì)整個(gè)模型進(jìn)行端對(duì)端訓(xùn)練則需要龐大的數(shù)據(jù)集。標(biāo)記數(shù)據(jù)的成本很高,在無(wú)需大型數(shù)據(jù)集的情況下建立高質(zhì)量的模型是很可取的方法。
遷移學(xué)習(xí)NLP的尷尬
目前,深度學(xué)習(xí)在自然語(yǔ)言處理上的應(yīng)用并沒(méi)有計(jì)算機(jī)視覺(jué)領(lǐng)域那么成熟。在計(jì)算機(jī)視覺(jué)領(lǐng)域中,我們可以想象機(jī)器能夠?qū)W習(xí)識(shí)別邊緣、圓形、正方形等,然后利用這些知識(shí)去做其他事情,但這個(gè)過(guò)程對(duì)于文本數(shù)據(jù)而言并不簡(jiǎn)單。
最初在NLP任務(wù)中嘗試遷移學(xué)習(xí)的趨勢(shì)是由“嵌入模型”一詞帶來(lái)的。
實(shí)驗(yàn)證明,事先將預(yù)先訓(xùn)練好的詞向量加入模型,可以在大多數(shù)NLP任務(wù)中改進(jìn)結(jié)果,因此已經(jīng)被NLP社區(qū)廣泛采用,并由此繼續(xù)尋找質(zhì)量更高的詞/字符/文檔表示。與計(jì)算機(jī)視覺(jué)領(lǐng)域一樣,預(yù)訓(xùn)練的詞向量可以被視為特征化函數(shù),轉(zhuǎn)換一組特征中的每個(gè)單詞。
不過(guò),詞嵌入僅代表大多數(shù)NLP模型的第一層。之后,我們?nèi)匀恍枰獜念^開(kāi)始訓(xùn)練所有RNN / CNN /自定義層。
高階方法:微調(diào)語(yǔ)言模型,在上面加一層分類器
今年早些時(shí)候,Howard和Ruder提出了ULMFit模型作為在NLP遷移學(xué)習(xí)中使用的更高級(jí)的方法(論文地址:https://arxiv.org/pdf/1801.06146.pdf)。
他們的想法是基于語(yǔ)言模型(Language Model)。語(yǔ)言模型是一種能夠根據(jù)已經(jīng)看到的單詞預(yù)測(cè)下一個(gè)單詞的模型(比如你的智能手機(jī)在你發(fā)短信時(shí),可以為你猜測(cè)下一個(gè)單詞)。就像圖像分類器通過(guò)對(duì)圖像分類來(lái)獲得圖像的內(nèi)在知識(shí)一樣,如果NLP模型能夠準(zhǔn)確地預(yù)測(cè)下一個(gè)單詞,似乎就可以說(shuō)它已經(jīng)學(xué)會(huì)了很多關(guān)于自然語(yǔ)言結(jié)構(gòu)的知識(shí)。這些知識(shí)可以提供高質(zhì)量的初始化狀態(tài),然后針對(duì)自定義任務(wù)進(jìn)行訓(xùn)練。
ULMFit模型一般用于非常大的文本語(yǔ)料庫(kù)(如維基百科)上訓(xùn)練語(yǔ)言模型,并將其作為構(gòu)建任何分類器的基礎(chǔ)架構(gòu)。由于你的文本數(shù)據(jù)可能與維基百科的編寫(xiě)方式不同,因此你可以對(duì)語(yǔ)言模型的參數(shù)進(jìn)行微調(diào)。然后在此語(yǔ)言模型的頂部添加分類器層,僅僅對(duì)此層進(jìn)行訓(xùn)練。
Howard和Ruder建議向下逐層“解凍”,逐步對(duì)每一層進(jìn)行訓(xùn)練。他們還在之前關(guān)于學(xué)習(xí)速度(周期性學(xué)習(xí))的研究成果基礎(chǔ)上,提出了他們自己的三角學(xué)習(xí)速率(triangular learning rates)。
用100個(gè)標(biāo)記數(shù)據(jù),達(dá)到用20000個(gè)標(biāo)記數(shù)據(jù)從頭訓(xùn)練的結(jié)果
這篇文章得出的神奇結(jié)論是,使用這種預(yù)訓(xùn)練的語(yǔ)言模型,讓我們能夠在使用更少的標(biāo)記數(shù)據(jù)的情況下訓(xùn)練分類器。盡管網(wǎng)絡(luò)上未標(biāo)記的數(shù)據(jù)幾乎是無(wú)窮無(wú)盡的,但標(biāo)記數(shù)據(jù)的成本很高,而且非常耗時(shí)。
下圖是他們從IMDb情感分析任務(wù)中報(bào)告的結(jié)果:
該模型只用了100個(gè)示例進(jìn)行訓(xùn)練,錯(cuò)誤率與20000個(gè)示例從頭到尾進(jìn)行完全訓(xùn)練的模型相仿。
此外,他們?cè)谖闹羞€提供了代碼,讀者可以自選語(yǔ)種,對(duì)語(yǔ)言模型進(jìn)行預(yù)訓(xùn)練。由于維基百科上的語(yǔ)言多種多樣,因此我們可以使用維基百科數(shù)據(jù)快速完成語(yǔ)種的轉(zhuǎn)換。眾所周知,公共標(biāo)簽數(shù)據(jù)集更難以使用英語(yǔ)以外的語(yǔ)言進(jìn)行訪問(wèn)。在這里,你可以對(duì)未標(biāo)記數(shù)據(jù)上的語(yǔ)言模型進(jìn)行微調(diào),花幾個(gè)小時(shí)對(duì)幾百個(gè)至幾千個(gè)數(shù)據(jù)點(diǎn)進(jìn)行手動(dòng)標(biāo)注,并使分類器頭適應(yīng)您預(yù)先訓(xùn)練的語(yǔ)言模型,完成自己的定制化任務(wù)。
為了加深對(duì)這種方法的理解,我們?cè)诠矓?shù)據(jù)集上進(jìn)行了嘗試。我們?cè)贙aggle上找了一個(gè)數(shù)據(jù)集。它包含400萬(wàn)條關(guān)于亞馬遜產(chǎn)品的評(píng)論,并按積極/消極情緒(即好評(píng)和差評(píng))加上了標(biāo)記。我們用ULMfit模型對(duì)這些評(píng)論按好評(píng)/差評(píng)進(jìn)行分類。結(jié)果發(fā)現(xiàn),該模型用了1000個(gè)示例,其分類準(zhǔn)確度已經(jīng)達(dá)到了在完整數(shù)據(jù)集上從頭開(kāi)始訓(xùn)練的FastText模型的水平。甚至在僅僅使用100個(gè)標(biāo)記示例的情況下,該模型仍然能夠獲得良好的性能。
所以,語(yǔ)言模型了解的是語(yǔ)法還是語(yǔ)義?
我們使用ULMFit模型進(jìn)行了監(jiān)督式和無(wú)監(jiān)督式學(xué)習(xí)。訓(xùn)練無(wú)監(jiān)督的語(yǔ)言模型的成本很低,因?yàn)槟梢栽诰€訪問(wèn)幾乎無(wú)限數(shù)量的文本數(shù)據(jù)。但是,使用監(jiān)督模型就很昂貴了,因?yàn)樾枰獙?duì)數(shù)據(jù)進(jìn)行標(biāo)記。
雖然語(yǔ)言模型能夠從自然語(yǔ)言的結(jié)構(gòu)中捕獲大量相關(guān)信息,但尚不清楚它是否能夠捕捉到文本的含義,也就是“發(fā)送者打算傳達(dá)的信息或概念”或能否實(shí)現(xiàn)“與信息接收者的交流”。
我們可以這樣認(rèn)為,語(yǔ)言模型學(xué)到的更多是語(yǔ)法而不是語(yǔ)義。然而,語(yǔ)言模型比僅僅預(yù)測(cè)語(yǔ)法的模型表現(xiàn)更好。比如,“I eat this computer“(我吃這臺(tái)電腦)和“I hate this computer”(我討厭這臺(tái)電腦),兩句話在語(yǔ)法上都是正確的,但表現(xiàn)更優(yōu)秀的語(yǔ)言模型應(yīng)該能夠明白,第二句話比第一句話更加“正確”。語(yǔ)言模型超越了簡(jiǎn)單的語(yǔ)法/結(jié)構(gòu)理解。因此,我們可以將語(yǔ)言模型視為對(duì)自然語(yǔ)言句子結(jié)構(gòu)的學(xué)習(xí),幫助我們理解句子的意義。
由于篇幅所限,這里就不展開(kāi)探討語(yǔ)義的概念(盡管這是一個(gè)無(wú)窮無(wú)盡且引人入勝的話題)。如果你有興趣,我們建議你觀看Yejin Choi在ACL 2018上的演講,深入探討這一主題。
微調(diào)遷移學(xué)習(xí)語(yǔ)言模型,大有前景
ULMFit模型取得的進(jìn)展推動(dòng)了面向自然語(yǔ)言處理的遷移學(xué)習(xí)研究。對(duì)于NLP任務(wù)來(lái)說(shuō),這是一個(gè)激動(dòng)人心的事情,其他微調(diào)語(yǔ)言模型也開(kāi)始出現(xiàn),尤其是微調(diào)遷移語(yǔ)言模型(FineTuneTransformer LM)。
我們還注意到,隨著更優(yōu)秀的語(yǔ)言模型的出現(xiàn),我們甚至可以完善這種知識(shí)遷移。高效的NLP框架對(duì)于解決遷移學(xué)習(xí)的問(wèn)題是非常有前景的,尤其是對(duì)一些常見(jiàn)子詞結(jié)構(gòu)的語(yǔ)言,比如德語(yǔ),經(jīng)過(guò)詞級(jí)訓(xùn)練的語(yǔ)言模型的表現(xiàn)前景非常好。
怎么樣?趕緊試試吧~
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1198瀏覽量
24592 -
nlp
+關(guān)注
關(guān)注
1文章
483瀏覽量
21974 -
遷移學(xué)習(xí)
+關(guān)注
關(guān)注
0文章
74瀏覽量
5547
原文標(biāo)題:只有100個(gè)標(biāo)記數(shù)據(jù),如何精確分類400萬(wàn)用戶評(píng)論?
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論