亚洲全黄无码一级在线看_国产剧情久久久性色_无码av一区二区三区无码_亚洲成a×人片在线观看

當(dāng)前位置: 首頁 > 科技新聞 >

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

時(shí)間:2019-11-13 04:47來源:網(wǎng)絡(luò)整理 瀏覽:
雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))AI科技評論編者按:本文拓展自NAACL 2019教程“NLP領(lǐng)域的遷移學(xué)習(xí)”,這個(gè)教程是由Matthew Pete

雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))AI科技評論編者按:本文拓展自NAACL 2019教程“NLP領(lǐng)域的遷移學(xué)習(xí)”,這個(gè)教程是由Matthew Peters、Swabha Swayamdipta、Thomas Wolf和我組織策劃的。在這篇文章中,我強(qiáng)調(diào)了一些在這個(gè)領(lǐng)域中的見解和收獲,并根據(jù)最近的工作進(jìn)展更新了一部分資料。整篇文章的結(jié)構(gòu)如下圖。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖1

一、內(nèi)容簡介

我們在這篇文章中的對遷移學(xué)習(xí)的主要定義如圖所示,遷移學(xué)習(xí)是一種從源設(shè)置中提取信息并將其應(yīng)用于不同設(shè)定目標(biāo)的方法。NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖2:遷移學(xué)習(xí)過程的說明

在過去一年多的時(shí)間里,以預(yù)訓(xùn)練的語言模型形式進(jìn)行的遷移學(xué)習(xí)已經(jīng)在NLP領(lǐng)域中普及,為許多不同的任務(wù)帶來了新的最好成績。然而,遷移學(xué)習(xí)在自然語言處理中并不是最近才出現(xiàn)的。雷鋒網(wǎng)舉個(gè)簡單的例子,命名實(shí)體識別(NER)任務(wù)的進(jìn)展情況,如下所示。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖3:隨時(shí)間推移在CoNLL-2003上的命名實(shí)體識別(NER)性能

縱觀其歷史, 在這項(xiàng)任務(wù)中大多數(shù)的進(jìn)步已經(jīng)是由不同形式的遷移學(xué)習(xí)推動的:從早期s帶有輔助任務(wù)的自監(jiān)督學(xué)習(xí)(Ando和Zhang,2005)和短語和單詞集群(Lin和Wu,2009)語言模型嵌入(Peters等人, 2017)和預(yù)訓(xùn)練語言模型(Peters, Akbik, Baevski等人)。

在當(dāng)前的自然語言處理領(lǐng)域中,普遍存在著不同類型的遷移學(xué)習(xí)。它們可以按照三個(gè)維度進(jìn)行分類:1、源設(shè)定和目標(biāo)設(shè)定是否處理相同的任務(wù);2、源域和目標(biāo)域的性質(zhì);3、學(xué)習(xí)任務(wù)的順序。這樣就可以把各種遷移學(xué)習(xí)分為圖中的幾類。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖4:NLP中遷移學(xué)習(xí)的分類(Ruder, 2019)

序列遷移學(xué)習(xí)是其中進(jìn)步最大的那一類。通常的做法是,使用你選擇的方法在一個(gè)大型文本語料庫中的未標(biāo)記數(shù)據(jù)上進(jìn)行表征預(yù)訓(xùn)練,然后通過標(biāo)注數(shù)據(jù)把學(xué)到的表征適配到一個(gè)有監(jiān)督任務(wù)上。如下圖。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖5: 序列遷移學(xué)習(xí)的一般過程

二、主要的研究課題

在應(yīng)用這種范式的過程中,我們可以觀察到以下幾個(gè)主要的研究課題

1、單詞表征(如今已經(jīng)是帶有語境的單詞表征)

隨著時(shí)間推移、技術(shù)發(fā)展,單詞表征也更多地聯(lián)系上下文的語義。像word2vec這樣的早期方法 (Mikolov 等人, 2013)為每個(gè)單詞學(xué)習(xí)了單獨(dú)的表征,但與上下文沒有聯(lián)系。后來的方法就開始將這些表征的尺度拓展到了句子和文本級別(Le和Mikolov, 2014;Conneau等人,2017)。當(dāng)前的方法能夠基于單詞的上下文不同而學(xué)到不同的表征(McCann等人,2017; Peters等人,2018)。

2、LM預(yù)訓(xùn)練

許多成功的預(yù)訓(xùn)練方法都是基于語言建模(LM)的變體。 LM的優(yōu)點(diǎn)是它不需要任何人工注釋,并且許多語言都有足夠的文本資料學(xué)出一個(gè)不錯(cuò)的模型d。此外,LM是多用途的,可以通過各種目標(biāo)函數(shù),學(xué)習(xí)句子和單詞的表征。

3、由淺入深

在過去的幾年里,NLP領(lǐng)域中最先進(jìn)的模型變得越來越深入。僅僅兩年前,大多數(shù)任務(wù)上表現(xiàn)最佳的模型都還是2-3層的深度BiLSTM,只有機(jī)器翻譯領(lǐng)域表現(xiàn)最好的模型是與眾不同的16層(Wu 等人, 2016)。相比之下,目前的模型如BERT-Large和GPT-2由24個(gè)Transformer模塊組成,而最新的模型甚至?xí)睢?/p>

4、預(yù)訓(xùn)練vs目標(biāo)設(shè)定

預(yù)訓(xùn)練和目標(biāo)任務(wù)的選擇密切相關(guān)。例如,句子的表達(dá)對于單詞級別的預(yù)測并沒有用,而基于詞組的預(yù)訓(xùn)練對于詞組級的預(yù)測是重要的??偟膩碚f,為了獲得最佳的目標(biāo)性能,而選擇類似的預(yù)訓(xùn)練任務(wù)是有益的。

三、預(yù)訓(xùn)練

1. 為什么語言建模會如此有效?

預(yù)訓(xùn)練語言模型的取得了驚人的成功。語言建模成功的一個(gè)原因可能是,它是一項(xiàng)非常困難的工作,即使對于人類來說也不例外。為了有機(jī)會解決這個(gè)難題,模型需要學(xué)習(xí)語法,語義以及某些世界常識。給定足夠的數(shù)據(jù),大量參數(shù)和足夠的計(jì)算能力,模型就可以有不錯(cuò)的學(xué)習(xí)成果。根據(jù)過往的實(shí)驗(yàn)來看,語言建模比翻譯或自動編碼等其它預(yù)訓(xùn)練工作更有效(Zhang ,Wang等人)。

最近對人類語言的預(yù)測率失真(PRD)的分析(Hahn and Futrell, 2019)研究表明,人類語言和語言建模都具有無窮高的統(tǒng)計(jì)復(fù)雜性,但語言建??梢栽谳^低層次上模仿逼近人類語言。這一觀察結(jié)果有兩個(gè)啟示:1)我們可以用相對較小的模型以獲得較為精準(zhǔn)的結(jié)果;2) 我們的模型有很大的拓展?jié)摿?。對于這兩種啟示,我們都有充足證據(jù),我們可以在下一節(jié)中看到。

2. 樣本效率

預(yù)訓(xùn)練的一個(gè)主要好處就是它減少了對有標(biāo)注數(shù)據(jù)的需求。 在實(shí)際使用中,與非預(yù)訓(xùn)練模型相比,遷移學(xué)習(xí)模型通常只需要十分之一甚至更少的樣本數(shù)量就達(dá)到類似的表現(xiàn),如下圖所示(Howard 和Ruder, 2018)。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖6:從零開始訓(xùn)練的模型(藍(lán)色)與分別對標(biāo)記目標(biāo)數(shù)據(jù)(橙色)和未標(biāo)記目標(biāo)數(shù)據(jù)(綠色)進(jìn)行微調(diào)的兩個(gè)預(yù)訓(xùn)練模型(紅色)的性能(Howard和Ruder, 2018)。

3、增大預(yù)訓(xùn)練規(guī)模

通常可以通過同時(shí)增加模型參數(shù)和預(yù)訓(xùn)練數(shù)據(jù)量的方式來改善預(yù)訓(xùn)練表征。但隨著預(yù)訓(xùn)練數(shù)據(jù)量的增長,回報(bào)率開始下降。然而,如下圖所示的當(dāng)前的性能曲線并不表示我們已達(dá)到了穩(wěn)定狀態(tài)。因此,我們期待可以在更多數(shù)據(jù)基礎(chǔ)上訓(xùn)練出更大的模型。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖7:平均GLUE數(shù)據(jù)與預(yù)訓(xùn)練的爬行數(shù)據(jù)量對比(Baevski等,2019)。

最近的例子是ERNIE 2.0,XLNet,GPT-2 8B和RoBERTa。 尤其是后者發(fā)現(xiàn),簡單地對BERT進(jìn)行更長時(shí)間和更多數(shù)據(jù)的訓(xùn)練就可以得到更好的結(jié)果,而對GPT-2 8B進(jìn)行更長時(shí)間和更多數(shù)據(jù)的訓(xùn)練則可以減少語言建模數(shù)據(jù)集上的困惑度(盡管幅度很小)。

4、跨語言預(yù)訓(xùn)練

預(yù)訓(xùn)練的一個(gè)主要作用是它可以幫助我們跨越數(shù)字語言間鴻溝,使我們能夠?yàn)槿澜绯^6000種語言都學(xué)習(xí)到NLP模型。(其中大多數(shù)語言是缺乏資料的,這既是為每種語言都學(xué)習(xí)語言模型的難點(diǎn),也是跨語言預(yù)訓(xùn)練有用的地方)跨語言學(xué)習(xí)的工作大多集中在訓(xùn)練不同語言中的單詞嵌入,并學(xué)習(xí)如何使它們之間匹配度更高(Ruder 等人, 2019);同樣地,我們也可以對上下文表征做同樣的事情(Schuster 等人,2019)。另一種常見方法是共享子單詞詞匯表并在多種語言上訓(xùn)練一個(gè)模型(Devlin,Artetxe, Schwenk, Mulcaire, Lample和Conneau等人,2019)。

雖然這很容易實(shí)現(xiàn),并且是一個(gè)很強(qiáng)大的跨語言基線,但它導(dǎo)致資源配置較低的語言代表性不足(Heinzerling和Strube,2019)。特別是多語言BERT已成為備受關(guān)注的話題(Pires ,Wu和Dredze等人,2019),雖然它有很好的零樣本學(xué)習(xí)表現(xiàn),但專門的單語模型仍然是具有極大競爭力的,同時(shí)也更有效率(Eisenschlos 等人, 2019).

5、實(shí)際權(quán)衡

預(yù)訓(xùn)練很費(fèi)錢。我們在教程中使用的Transformer-XL樣式模型的預(yù)訓(xùn)練在8個(gè)V100 gpu上花費(fèi)了5-20小時(shí)(如果是1個(gè)V100那么就要花費(fèi)幾天的時(shí)間)才能達(dá)到一個(gè)好的效果。因此,共享預(yù)訓(xùn)練的模型非常重要。除了需要為transformer的學(xué)習(xí)速率預(yù)熱外,預(yù)訓(xùn)練對超參數(shù)的選擇并不怎么挑剔。一般來說,如果數(shù)據(jù)集足夠大,模型就不應(yīng)該有足夠的容量來進(jìn)行過度擬合。掩蔽語言建模(如BERT中所述)的訓(xùn)練速度通常比標(biāo)準(zhǔn)LM慢2-4倍,因?yàn)檠诒我恍〔糠謫卧~對應(yīng)著只有一小部分的訓(xùn)練指導(dǎo)信號。

四、表征中都有什么

我們已經(jīng)證明,表征可以用來預(yù)測某些語言現(xiàn)象,如翻譯或句法層次的匹配。使用語法進(jìn)行預(yù)訓(xùn)練,能夠取得較好的效果;即使沒有明顯地對語法進(jìn)行編碼,表征仍然可以學(xué)習(xí)到一些語法概念(Williams等人,2018)。

最近的工作進(jìn)一步表明,當(dāng)前最先進(jìn)的模型可以有效地蒸餾出語法知識(Kuncoro等人., 2019)。網(wǎng)絡(luò)架構(gòu)通常決定了表征的內(nèi)容。例如,已經(jīng)觀察到了BERT能夠捕捉語法(Tenney等人)。對于捕捉到的信息,不同的模型架構(gòu)會表現(xiàn)出不同的層間變化趨勢。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖8:探究工作一般用于設(shè)置研究語境詞表示中的語言知識(Liu 等人, 2019)

模型捕獲的信息還取決于你如何看待它:可視化激活或是注意力權(quán)重能提供模型知識的總體情況,但只能針對幾個(gè)樣本進(jìn)行分析;如果在學(xué)習(xí)到的表征基礎(chǔ)上訓(xùn)練一個(gè)分類器作為探針,用它來預(yù)測某些屬性,這種方法可以發(fā)現(xiàn)語料庫級別的一些具體特點(diǎn),但也可能引入探針本身帶來的偏倚;最后,網(wǎng)絡(luò)對照試驗(yàn)對于改進(jìn)模型非常有用,但得到的結(jié)論可能會僅限于當(dāng)前的任務(wù)。

五、適配

為了使預(yù)訓(xùn)練模型適應(yīng)目標(biāo)任務(wù),我們可以做出若干不同方向上的決策:架構(gòu)修改,優(yōu)化方案以及是否要獲得更多的學(xué)習(xí)信號。

1、架構(gòu)修改

對于架構(gòu)修改,我們有兩個(gè)選項(xiàng):

a)保持預(yù)訓(xùn)練的模型內(nèi)部不變

簡單的做法可以是在預(yù)訓(xùn)練的模型之上添加一個(gè)或多個(gè)線性層,通常是在Bert基礎(chǔ)上增加?;蛘呶覀円部梢允褂媚P洼敵鲎鳛榱硪粋€(gè)模型的輸入。當(dāng)目標(biāo)任務(wù)需要預(yù)訓(xùn)練的嵌入有一些交互作用但目前的預(yù)訓(xùn)練模型執(zhí)行不了時(shí),這通常是有幫助的,例如以BERT為預(yù)訓(xùn)練模型但需要詞匯表征或建立跨句子關(guān)系模型。

b)修改預(yù)先訓(xùn)練的模型內(nèi)部架構(gòu)

我們希望這樣做的原因之一可能是為了適應(yīng)結(jié)構(gòu)不同的設(shè)定目標(biāo),例如一個(gè)具有多個(gè)輸入序列的任務(wù)。在這種情況下,我們可以使用預(yù)訓(xùn)練的模型盡可能初始化結(jié)構(gòu)不同的設(shè)定模型。我們還可以應(yīng)用于特定項(xiàng)目的修改,例如添加、跳過或殘余連接或警示。最后,修改目標(biāo)任務(wù)的參數(shù)可以通過在預(yù)訓(xùn)練的模型層之間添加瓶頸模塊(“適配器”)來減少需要精細(xì)調(diào)整的參數(shù)數(shù)量(Houlsby,Stickland和Murray等人,2019)。NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖9:變壓器(左)中使用的適配器層(右)(Houlsby等人,2019年)

六、優(yōu)化方案

在優(yōu)化模型方面,我們需要選擇要更新哪些權(quán)重,以及何時(shí)、如何更新它們

1、要更新哪些權(quán)重

對于權(quán)重更新,我們可以選擇微調(diào)或者不微調(diào)(預(yù)訓(xùn)練權(quán)重)

a)不要改變預(yù)訓(xùn)練的權(quán)重(特征提取)

在實(shí)際應(yīng)用中,很多人會在預(yù)訓(xùn)練表征的基礎(chǔ)上訓(xùn)練一個(gè)線性分類器。如果想要獲得最好的性能,通常就不僅使用頂層的表征,而要學(xué)習(xí)層表征的線性組合 (Peters等人, 2018, Ruder 等人, 2019)。另一個(gè)做法是,預(yù)訓(xùn)練的表征可以作為下游模型中的特性。當(dāng)添加適配器時(shí),只訓(xùn)練適配器層。

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖10:在單獨(dú)的下游模型中使用預(yù):訓(xùn)練的模型作為特征

b)改變預(yù)訓(xùn)練過程中的權(quán)重(微調(diào))

采用預(yù)訓(xùn)練的權(quán)值作為下游模型參數(shù)的初始化值。然后,在適應(yīng)階段對整個(gè)預(yù)訓(xùn)練架構(gòu)進(jìn)行訓(xùn)練。

2、如何以及何時(shí)更新權(quán)重

選擇順序和如何更新權(quán)重的主要目的是要避免覆蓋有用的預(yù)訓(xùn)練的信息并最大化正遷移。與此相關(guān)的是災(zāi)難性遺忘的概念(McCloskey&Cohen,1989;French,1999),是指一個(gè)模型忘記了它最初訓(xùn)練的任務(wù)。在大多數(shù)設(shè)置中,我們只關(guān)心目標(biāo)任務(wù)的性能,但這可能因應(yīng)用場合的不同而有所不同。

更新我們模型的參數(shù)的一個(gè)指導(dǎo)原則是,在時(shí)間上、強(qiáng)度上或與預(yù)訓(xùn)練的模型相比,自上而下地逐步更新:

a)時(shí)間上的逐步更新(凍結(jié)法)

對不同分布和不同任務(wù)的數(shù)據(jù)同時(shí)進(jìn)行所有層的訓(xùn)練可能會導(dǎo)致性能不穩(wěn)定,產(chǎn)生的解決方案較差。相反,我們單獨(dú)訓(xùn)練網(wǎng)絡(luò)中不同的層,讓它們有時(shí)間適應(yīng)新的任務(wù)和數(shù)據(jù)。這可以追溯到早期深層神經(jīng)網(wǎng)絡(luò)的分層訓(xùn)練(Hinton等人,2006;Bengio等人,2007)。最近的方法(Felbo等人,2017;Howard和Ruder,2018年;Chronopoulou等,2019年) 的變化主要在于共同訓(xùn)練的層的選擇不同。 尚未對transformer模型的解凍進(jìn)行詳細(xì)的研究。

b)強(qiáng)度上的逐步更新(降低的學(xué)習(xí)率)

我們希望通過降低學(xué)習(xí)率,以避免覆蓋有用的信息。較低的學(xué)習(xí)率在較低層次(因?yàn)樗鼈儠蹲降胶芏嗟钠毡樾畔?、訓(xùn)練早期(因?yàn)槟P腿匀恍枰m應(yīng)目標(biāo)分布)和訓(xùn)練后期(當(dāng)模型接近結(jié)尾時(shí))尤為重要。為此,我們可以使用判別性微調(diào)(Howard和Ruder,2018),它降低了每一層的學(xué)習(xí)速度,如下所示。為了在早期的訓(xùn)練中保持較低的學(xué)習(xí)率,可以使用三角學(xué)習(xí)速率計(jì)劃,也就是transformer的學(xué)習(xí)率預(yù)熱。(Liu等人,2019)最近指出,在訓(xùn)練的早期階段,預(yù)熱可以減少差異

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖11:歧視性微調(diào)(Howard和Ruder,2018年)

c)逐步更新vs預(yù)訓(xùn)練模型(正則化)

最大限度地減少災(zāi)難性遺忘的一種方法是鼓勵(lì)目標(biāo)模型參數(shù)使用正則化項(xiàng),減小與預(yù)訓(xùn)練模型的參數(shù)的差異性(Wiese等人,CoNLL 2017,Kirkpatrick等人,PNAS 2017)。

七、權(quán)衡與實(shí)際考慮

一般來說,需要從頭開始訓(xùn)練的參數(shù)越多訓(xùn)練速度就越慢。特征提取需要添加比微調(diào)更多的參數(shù)(peters等人,2019),因此訓(xùn)練速度通常較慢。然而,當(dāng)一個(gè)模型需要適應(yīng)很多的任務(wù)時(shí),特征提取更節(jié)省空間,因?yàn)樗恍枰趦?nèi)存中存儲一個(gè)預(yù)先訓(xùn)練過的模型的副本。適配器通過為每個(gè)任務(wù)添加少量的附加參數(shù)來達(dá)到平衡。

就性能而言,沒有一種適配器方法能在所有設(shè)置中都帶來帶來最好的表現(xiàn)。如果源和目標(biāo)任務(wù)不一致,特征提取似乎更可取(Peters等人,2019)。否則,特征提取和微調(diào)通常執(zhí)行類似的操作,這取決于用于超參數(shù)調(diào)整的預(yù)算(微調(diào)通常需要對超參數(shù)進(jìn)行更廣泛的搜索和嘗試)。據(jù)說,transformer比lstms更容易微調(diào)(對超參數(shù)不那么敏感),并且可以通過微調(diào)實(shí)現(xiàn)更好的性能。

然而,大型的預(yù)訓(xùn)練模型(如Bert-Large)在對小訓(xùn)練集的任務(wù)進(jìn)行精細(xì)調(diào)整時(shí),往往會導(dǎo)致性能退化。通常顯示為“ON-off”:如下圖所示,模型要么運(yùn)行良好,要么根本不起作用。想要了解這種行為的條件和原因,目前來說還是一個(gè)等待解決的研究問題。NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

圖12:BERT(紅色)和BERT的20個(gè)隨機(jī)重啟的任務(wù)分?jǐn)?shù)分布,在MNLI(綠色)上進(jìn)行微調(diào),每次任務(wù)的微調(diào)不超過5k(Phang等,2018)。

八、獲得更多的學(xué)習(xí)信號

目標(biāo)任務(wù)通常都缺少資源.我們通常可以通過組合多種不同的學(xué)習(xí)信號來提高遷移學(xué)習(xí)的性能

1、提高樣本效率

如果存在相關(guān)的任務(wù),我們可以先在相關(guān)任務(wù)上使用更多數(shù)據(jù)對模型進(jìn)行微調(diào),然后再對目標(biāo)任務(wù)進(jìn)行微調(diào)。這尤其有助于數(shù)據(jù)有限的情況和執(zhí)行類似任務(wù) (Phunet 等人,2018),并提高了目標(biāo)任務(wù)的樣本效率(Yogatama等人,2019)。

2、多任務(wù)微調(diào)

或者,我們也可以根據(jù)相關(guān)任務(wù)和目標(biāo)任務(wù)的要求對模型進(jìn)行共同微調(diào)。這個(gè)相關(guān)的任務(wù)也可以是一個(gè)無監(jiān)督的輔助任務(wù)。語言建模是一個(gè)很好的選擇,并且已經(jīng)證明即使沒有預(yù)訓(xùn)練也能起到幫助(Rei等人,2017年)。任務(wù)比率可以進(jìn)行選擇,逐漸減小輔助任務(wù)的比例,在訓(xùn)練結(jié)束時(shí)輔助任務(wù)的比例可以減小到0(Chronopoulou等人,NAACL,2019年)。語言模型微調(diào)也已經(jīng)作為一個(gè)單獨(dú)步驟使用在了ULMFiT中 (Howard和Ruder,2018)。最近,即便有很多個(gè)目標(biāo)任務(wù),多任務(wù)微調(diào)也可以帶來收益 (Liu等人,2019;Wang等人,2019)。

3、數(shù)據(jù)集分割

我們可以使用只在數(shù)據(jù)的某個(gè)子集上訓(xùn)練的輔助任務(wù),而不對輔助任務(wù)微調(diào)。為此,我們首先要分析模型的誤差,采用啟發(fā)式方法自動識別訓(xùn)練數(shù)據(jù)中的突出子集,然后與目標(biāo)任務(wù)聯(lián)合訓(xùn)練輔助任務(wù)。

4、半監(jiān)督學(xué)習(xí)

我們還可以使用半監(jiān)督學(xué)習(xí)方法,通過擾亂未標(biāo)記的數(shù)據(jù)來使我們的模型預(yù)測更加準(zhǔn)確。 干擾方式可以是噪聲,掩蔽(Clark等人,2018)也可以是數(shù)據(jù)增強(qiáng),(Xie 等人,2019)。

5、集成模型

為了提高性能,可以把不同超參數(shù)訓(xùn)練的模型、不同預(yù)訓(xùn)練模型精細(xì)調(diào)節(jié)得到的模型、乃至不同任務(wù),不同數(shù)據(jù)集的子集上訓(xùn)練的模型集成起來

6、蒸餾

最后,大型模型或模型組合可能被提煉成小型單一模型。該模型也可以更加簡單化 (Tang等人,2019年),也可以產(chǎn)生不同的歸納偏差(Kuncoro等人,2019年)。多任務(wù)微調(diào)也可以與提煉相結(jié)合(Clark等人,2019)。

九、下游應(yīng)用

預(yù)訓(xùn)練大型模型在計(jì)算和環(huán)境影響方面的成本很高(Strubell等人,2019年)。只要有可能,最好使用開源模型。如果您需要訓(xùn)練自己的模型,請與社區(qū)分享您的預(yù)訓(xùn)練模型。

1、框架和函數(shù)庫

為了共享和使用經(jīng)過訓(xùn)練的模型,可以有不同的選擇:

2、Hubs

Hubs是中央存儲庫,并能提供訪問預(yù)訓(xùn)練模型的通用API 。最常見的兩個(gè)Hub是TensorFlow Hub和PyTorch Hub。Hub通常使用起來很簡單;但是,由于模型的源代碼難以訪問,所以它們更像一個(gè)黑匣子。此外,修改預(yù)訓(xùn)練模型架構(gòu)的內(nèi)部結(jié)構(gòu)可能會很困難。

3、研究者發(fā)布了檢查點(diǎn)模型

檢查點(diǎn)文件通常包含了預(yù)訓(xùn)練模型的所有權(quán)重。與Hub相比,仍然需要?jiǎng)?chuàng)建模型圖,需要單獨(dú)加載模型權(quán)重。因此,檢查點(diǎn)文件比Hub模塊更難使用,但它可以讓你完全控制模型內(nèi)部。

4、第三方函數(shù)庫

像是 AllenNLP, fast.ai和 pytorch-transformers這類的第三方函數(shù)庫,可以輕松訪問預(yù)訓(xùn)練模型。 此類庫通??蓪?shí)現(xiàn)快速實(shí)驗(yàn),并涵蓋了許多經(jīng)典的示例以進(jìn)行遷移學(xué)習(xí)。

十、有待解決的問題及未來發(fā)展方向

1、預(yù)訓(xùn)練語言模型的缺陷

預(yù)訓(xùn)練的語言模型仍然不擅長細(xì)粒度的語言任務(wù)(Liu等人,2019)、層次句法推理(Kuncoro等人,2019)和常識(Zellers等人,2019)。在自然語言生成方面仍然有所欠缺,特別是在長期的維系、關(guān)系和連貫性方面。微調(diào)的時(shí)候它們更傾向于過于過度擬合表面形式信息,目前仍然被視為是“效率極高的表面學(xué)習(xí)者”。

正如我們前面所指出的,特別是對少量數(shù)據(jù)進(jìn)行微調(diào)的大型模型很難進(jìn)行優(yōu)化,而且存在高度的差異性。目前經(jīng)過預(yù)訓(xùn)練的語言模型非常龐大。蒸餾和剪枝是處理這一問題的兩種方法。

2、預(yù)訓(xùn)練任務(wù)

雖然語言建模目標(biāo)經(jīng)過試驗(yàn)正名是有效的,但它也有缺陷。最近,我們看到雙向語境和詞序列的建模尤為重要。也許最重要的是,語言建模鼓勵(lì)人們關(guān)注語法和詞的共現(xiàn),并且只提供了用于理解語義和維系上下文弱信號。我們可以從其他形式的自我監(jiān)督中汲取靈感。此外,我們還可以設(shè)計(jì)專門的預(yù)訓(xùn)練任務(wù),學(xué)習(xí)某些關(guān)系(Joshi等人,2019年;Sun等人,2019年)。

雷鋒網(wǎng)小結(jié),很難能從原始文本中學(xué)習(xí)某種類型的信息。最新的方法就是將結(jié)構(gòu)化知識(Zhang等人,2019;Logan IV等人,2019年)或多模態(tài)(Sun等人,2019;Lu等人,2019)引入,作為緩解這一問題的兩種潛在方式。

原文鏈接:http://ruder.io/state-of-transfer-learning-in-nlp/

NLP領(lǐng)域中的遷移學(xué)習(xí)現(xiàn)狀

推薦內(nèi)容