国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自然語言處理預(yù)訓(xùn)練模型的研究綜述

2020-12-07 08:20余同瑞韓曉臻李家輝
關(guān)鍵詞:微調(diào)向量文本

余同瑞,金 冉 ,2,韓曉臻,李家輝,郁 婷

1.浙江萬里學(xué)院 大數(shù)據(jù)與軟件工程學(xué)院,浙江 寧波 315100

2.浙江大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310027

1 概述

自然語言處理(Natural Language Processing,NLP)是一門把語言學(xué)、計(jì)算機(jī)科學(xué)、數(shù)學(xué)等相關(guān)領(lǐng)域融為一體的交叉學(xué)科,該領(lǐng)域的相關(guān)應(yīng)用如:機(jī)器翻譯、智能語音助手、文本自動(dòng)分類等都取得了突破性的成就,這離不開預(yù)訓(xùn)練技術(shù)的支持。預(yù)訓(xùn)練技術(shù)是指預(yù)先設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu),并對(duì)編碼后的數(shù)據(jù)輸入到網(wǎng)絡(luò)結(jié)構(gòu)中進(jìn)行訓(xùn)練,增加模型的泛化能力。預(yù)訓(xùn)練技術(shù)最初是針對(duì)圖像領(lǐng)域的問題提出(如ResNET[1]、VGG[2]),因?yàn)樾Ч己?,相關(guān)技術(shù)被應(yīng)用到NLP 領(lǐng)域。預(yù)訓(xùn)練后的模型可以直接根據(jù)下游任務(wù)需求進(jìn)行微調(diào),免去了從零開始的過程。

語言模型可以看作是一串詞序列的概率分布,因此在早期,研究人員提出了N-gram 模型[3],它是基于統(tǒng)計(jì)語言模型的算法,但是這種做法只能通過概率統(tǒng)計(jì)進(jìn)行判斷,會(huì)使數(shù)據(jù)出現(xiàn)嚴(yán)重的稀疏性,無法考慮詞內(nèi)部的關(guān)聯(lián)。

隨著深度學(xué)習(xí)技術(shù)的迅速發(fā)展,詞嵌入正式登上歷史的舞臺(tái),Bengio 等人在 2003 年提出 NNLM 模型[4],隨后出現(xiàn)了一系列詞向量技術(shù)(如Word2Vec[5]、Glove[6]、FastTest[7]等)為文本提供了一種數(shù)值化的表示方法,但是無法解決一詞多義的問題。于是ELMo[8]應(yīng)運(yùn)而生,它采用雙向的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)進(jìn)行進(jìn)行預(yù)訓(xùn)練,將詞向量由靜態(tài)轉(zhuǎn)化為動(dòng)態(tài),使其可以結(jié)合上下文來賦予詞義。GPT[9]首次提出了無監(jiān)督的預(yù)訓(xùn)練和有監(jiān)督的微調(diào),使得訓(xùn)練好的模型能夠更好地適應(yīng)下游任務(wù)。BERT[10]首次將雙向Transformer[11]用于語言模型,使得該模型相對(duì)GPT對(duì)語境的理解會(huì)更加深刻。自此進(jìn)入了預(yù)訓(xùn)練技術(shù)的新時(shí)代,為后續(xù)NLP領(lǐng)域的發(fā)展提供了更多可能性。

本文將按照預(yù)訓(xùn)練模型的歷史發(fā)展順序進(jìn)行概述,將預(yù)訓(xùn)練技術(shù)的發(fā)展主要分為兩個(gè)階段,分別是基于概率統(tǒng)計(jì)的傳統(tǒng)預(yù)訓(xùn)練模型階段和基于深度學(xué)習(xí)的預(yù)訓(xùn)練模型階段。

2 傳統(tǒng)預(yù)訓(xùn)練技術(shù)模型

在NLP 領(lǐng)域上,其發(fā)展趨勢可以概括為三階段:規(guī)則-統(tǒng)計(jì)-深度學(xué)習(xí)。一開始,研究人員的研究的重點(diǎn)放在如何設(shè)定語言規(guī)則上面,但是這個(gè)階段不能處理復(fù)雜的語言問題,因此沒有太大的應(yīng)用價(jià)值。20 世紀(jì)70 年代后互聯(lián)網(wǎng)高速發(fā)展,豐富的語料庫和完善的硬件系統(tǒng)極大地推動(dòng)了NLP的發(fā)展,它開始由理性主義向經(jīng)驗(yàn)主義過渡發(fā)展,讓實(shí)際應(yīng)用更貼合人們的需求。N-gram采用的特征處理方法盡管還有很多不足,但是在NLP發(fā)展史上極具代表性。2006年后深度學(xué)習(xí)(Deep Learning,DL)[12]被應(yīng)用于自然語言處理領(lǐng)域,出現(xiàn)了一批基于神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)的預(yù)處理模型,本章主要介紹一些早期具有代表性的經(jīng)典預(yù)處理模型,并對(duì)它們進(jìn)行分析比較。

2.1 統(tǒng)計(jì)語言模型

統(tǒng)計(jì)語言模型是基于語料庫對(duì)語句進(jìn)行預(yù)處理,然后對(duì)下游任務(wù)進(jìn)行基于概率的判別。N-gram是自然語言處理領(lǐng)域中具有顯著歷史意義的特征處理模型,基本思想是將文本內(nèi)容按照字節(jié)大小為N的滑動(dòng)窗口進(jìn)行操作,形成長度是N的字節(jié)片段序列,然后對(duì)所有的序列的出現(xiàn)頻度進(jìn)行統(tǒng)計(jì),并且按照實(shí)現(xiàn)設(shè)定好的閾值進(jìn)行過濾,形成了這個(gè)文本的特征向量空間。然后用訓(xùn)練后的模型對(duì)語句進(jìn)行概率評(píng)估,來判斷組成是否合理。Brants等人[13]經(jīng)過測試發(fā)現(xiàn),N-gram模型可以使用萬億個(gè)單詞進(jìn)行訓(xùn)練,并且模型性能會(huì)得到很好的提升。Cavnar[14]利用N-gram進(jìn)行文本分類,在測試中取得了很好的成績。

然而若文本較長,詞匯鏈概率的計(jì)算復(fù)雜度很高,作者通過馬爾可夫的假設(shè)去減少關(guān)聯(lián)詞的數(shù)量來簡化算式。然而N-gram中n的取值對(duì)模型性能也會(huì)產(chǎn)生較為明顯的影響,所以為了平衡約束信息和數(shù)據(jù)稀疏性之間的關(guān)系,對(duì)于百萬級(jí)的數(shù)據(jù),目前一般采用二元或者三元模型,但是其局限性也很明顯,就是無法建模更遠(yuǎn)的關(guān)系,訓(xùn)練中要是有些n元組未出現(xiàn)則需要使用平滑法[15]和回退法[16]來解決。

2.2 傳統(tǒng)預(yù)訓(xùn)練模型分析

N-gram 模型是對(duì)文本特征進(jìn)行預(yù)處理,它是將相鄰的n個(gè)詞作為一組進(jìn)行編碼,這就導(dǎo)致它過于依賴訓(xùn)練語料的豐富程度,否則就很容易出現(xiàn)數(shù)據(jù)稀疏問題,并且計(jì)算復(fù)雜度會(huì)隨著n的增加而產(chǎn)生指數(shù)級(jí)的增長。NNLM模型首次采用詞向量的思想,分布式表示的低維詞向量很好地解決了詞編碼帶來的離散問題,但是對(duì)于計(jì)算復(fù)雜度過高的問題仍然難以解決。Word2Vec模型的計(jì)算復(fù)雜度和選取的窗口大小無關(guān),而是由詞典大小和詞向量維度來決定。通過在大型語料庫上進(jìn)行訓(xùn)練,利用訓(xùn)練后的詞向量嵌入可以明顯改善很多下游任務(wù)。研究人員通過測試證實(shí)了使用詞嵌入的好處[17-18],但是靜態(tài)的詞向量對(duì)一詞多義等問題仍然無法解決,仍然屬于淺層語言模型,因此迫切需要更有效的模型對(duì)數(shù)據(jù)集進(jìn)行更靈活的處理。

3 基于深度學(xué)習(xí)的預(yù)訓(xùn)練模型

盡管Word2Vec 極大改善了對(duì)文本的處理任務(wù),但是難以捕獲上下文的高級(jí)概念,如多義詞消除、句法結(jié)構(gòu)等問題,為了解決這些問題,Zhou 等人[19]提出的方法是通過利用子詞信息來豐富它們的語義,Neelakantan等人[20]提出為每個(gè)詞義學(xué)習(xí)單獨(dú)的向量。ELMo等動(dòng)態(tài)預(yù)訓(xùn)練模型的提出很好地解決了這些問題,比如ELMo中的詞向量不再是簡單的向量對(duì)應(yīng)關(guān)系,而是通過前后語境對(duì)多義詞進(jìn)行理解,用其內(nèi)部函數(shù)來表達(dá)。

3.1 基于淺層詞嵌入的預(yù)訓(xùn)練模型

因?yàn)镹-gram模型在詞與詞之間關(guān)系建模具有很大的局限性,2000 年,Xu 等人[21]試圖將 NN 引入到語言模型中,實(shí)驗(yàn)表明基于NN的模型相較N-gram模型可以具有更好性能。于是NNLM 應(yīng)運(yùn)而出,它屬于淺層的預(yù)訓(xùn)練模型,開創(chuàng)性地在模型中引入了詞向量的概念。如圖1所示,NNLM分為輸入層、隱藏層和輸出層三部分。

圖1 NNLM模型的結(jié)構(gòu)

NNLM的目標(biāo)是訓(xùn)練出模型:

其中,wt表示詞序列中第t個(gè)單詞,表示第1個(gè)詞到第t-1 個(gè)詞組成的子序列。

模型需要滿足的約束條件是:

由式(2)可知模型中詞的概率都要大于0,并且由于該語言模型是通過每個(gè)詞的輸入來預(yù)測下個(gè)詞的輸出,因此式(3)要求向量中各個(gè)分量組成|V|維的概率值一定要有一個(gè)最大概率值。

針對(duì)之前詞袋模型中因?yàn)樵~組的不規(guī)則分布帶來的數(shù)據(jù)稀疏問題,NNLM采用低維緊湊的詞向量保證詞之間完整的內(nèi)部關(guān)系不會(huì)被影響,Wallach[22]則提出了單詞二元組相結(jié)合的超越詞袋主題模型以及Blei 等人[23]提出的LDA 主題模型,也是一種解決辦法。在相似上下文的語境中,基于神經(jīng)網(wǎng)絡(luò)的模型性能顯著優(yōu)于N-gram模型[24-25],不過缺點(diǎn)也很明顯,比如準(zhǔn)確度低、計(jì)算復(fù)雜度高等問題。于是Mikolov等人[26]提出了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)語言模型,將NNLM的映射層刪去,用來解決NNLM運(yùn)行效率低,對(duì)于上下文預(yù)測準(zhǔn)確度過低的問題。

NNLM的詞向量技術(shù)在Word2Vec模型的提出中起到了關(guān)鍵作用,詞向量為詞之間的潛在語法和語義相似性提供了很好的評(píng)價(jià)尺度,Collobert等人[18]研究表明將預(yù)訓(xùn)練的詞嵌入未標(biāo)記的數(shù)據(jù)中可以明顯改善許多NLP任務(wù)。

Word2Vec提出了兩個(gè)新的模型體系結(jié)構(gòu):Skip-gram和CBOW,其中Skip-gram模型是通過輸入特定詞向量,輸出上下文對(duì)應(yīng)的詞向量。CBOW 是通過輸入某一特征詞的上下文對(duì)應(yīng)詞向量來輸出特定向量。兩個(gè)模型基本思想相似,都是通過訓(xùn)練學(xué)習(xí)得到權(quán)重矩陣,根據(jù)矩陣得到文本中詞所對(duì)應(yīng)的詞向量,節(jié)省了再次訓(xùn)練的時(shí)間和資源。它們?cè)谀P徒Y(jié)構(gòu)上與NNLM 相比,隱藏層無激活函數(shù),輸入層與輸出層兩者維度相同直接相連,大大減少了模型的參數(shù)數(shù)量,更多地利用了上下文的信息。

針對(duì)softmax操作時(shí)計(jì)算復(fù)雜度過高的問題,Word2Vec采用了負(fù)采樣和層序兩種方法來減少計(jì)算量。負(fù)采樣借鑒了C&W 模型[18]和NCE[27]的思想,在輸入訓(xùn)練樣本進(jìn)行NN的訓(xùn)練時(shí),它每次只按照一定概率采集K個(gè)詞當(dāng)作負(fù)例,讓一個(gè)訓(xùn)練樣本更新一小部分權(quán)重,降低梯度下降過程中的計(jì)算量,計(jì)算開銷由O(|V|) 下降到O(|k|)。層序利用的是二叉樹結(jié)構(gòu),把出現(xiàn)頻率高的詞放在前面的葉子節(jié)點(diǎn)可以減少計(jì)算量,每次迭代的計(jì)算開銷由O(|V|)下降至O(lb| |v)。

因?yàn)樵~嵌入取得較好的性能表現(xiàn),研究人員也嘗試了其他方法,比如Le等人[28]提出的段向量,Kiros等人[29]提出的Skip-Thought向量,該模型利用當(dāng)時(shí)流行的序列到序列(Sequence to Sequence,Seq2seq)框架[30],實(shí)現(xiàn)了在大規(guī)模文本集下的無監(jiān)督訓(xùn)練。Melamud 等人[31]提出了Context2Vec來生成上下文相關(guān)的表示。

3.2 ELMo模型

ELMo是基于特征的語言模型,可以結(jié)合上下文語境對(duì)詞進(jìn)行建模。與Word2Vec等采用的簡單查表獲取唯一表示的詞向量不同,ELMo中詞向量表示的是內(nèi)部網(wǎng)絡(luò)狀態(tài)函數(shù),對(duì)于相同的詞它所展現(xiàn)出來的詞向量是動(dòng)態(tài)變化的。

所以它首先采用雙向LSTM進(jìn)行預(yù)訓(xùn)練,這個(gè)模型包括前向 LSTM 模型和后向 LSTM 模型,Jozefowicz 等人[32]的研究表明增加LSTM 的寬度和深度可以大大提高測試的準(zhǔn)確性。ELMo 的雙向概念是通過網(wǎng)絡(luò)結(jié)構(gòu)得以體現(xiàn)的,模型結(jié)構(gòu)如圖2所示。

圖2 ELMo模型的結(jié)構(gòu)

前向LSTM的模型公式:

其中,(t1,t2,…,tN)表示組成的N個(gè)單詞、序列,對(duì)第k個(gè)詞前文中k-1 個(gè)詞進(jìn)行建模,預(yù)測第k個(gè)詞的概率。

后向LSTM的模型公式:

其中該公式通過已知下文建模,實(shí)現(xiàn)對(duì)第k個(gè)單詞的概率預(yù)測。

最大化對(duì)數(shù)前向和后向的似然概率:

其中,Θx表示輸入的初始詞向量參數(shù),Θs表示softmax層的參數(shù),保證LSTM在各個(gè)方向的獨(dú)立參數(shù),兩者共享部分權(quán)重,并非完全獨(dú)立。

這里預(yù)訓(xùn)練的最終產(chǎn)物是biLM,Peters等[33]研究也表明使用biLM的重要性遠(yuǎn)高于使用前向語言模型和進(jìn)行大規(guī)模訓(xùn)練語言。

ELMo 是帶有任務(wù)屬性的,它是由biLM 中間層表示的線性組合。針對(duì)某一單詞tk,一個(gè)L層的biLM可以得到2L+1 層表示:

將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)獲取的原始詞向量、通過在biLM中計(jì)算獲得的兩個(gè)中間詞向量進(jìn)行加權(quán)平均,獲得最終的ELMo:

其中,stask為正則化的softmax權(quán)重,γtask則屬于標(biāo)量參數(shù),根據(jù)任務(wù)模型進(jìn)行合理化縮放,對(duì)于優(yōu)化過程有重要意義。

同期提出的 ULMFit 模型[34]借鑒了 Merity 等人[35]提出的AWD-LSTM框架,也是將預(yù)訓(xùn)練與微調(diào)相結(jié)合,只不過在微調(diào)階段進(jìn)行了兩次,首先在數(shù)據(jù)集上利用預(yù)訓(xùn)練好的模型進(jìn)行微調(diào),然后把該模型作為具體任務(wù)模型上的多層,進(jìn)行第二次微調(diào),經(jīng)過測試發(fā)現(xiàn)其在分類任務(wù)上性能優(yōu)異。

ELMo和ULMFit相較之前模型有兩點(diǎn)改進(jìn):(1)不同于之前固定窗口的大小,加入了上下文信息,保證向量可以包含這部分信息。(2)增加模型的神經(jīng)深度,保證每一層向量都用于預(yù)測。

ELMo在6個(gè)自然語言處理任務(wù)測試中都表現(xiàn)出了良好的性能,尤其是在閱讀理解任務(wù)上,在加入ELMo模型后提升了4.7個(gè)百分點(diǎn)。對(duì)于輸入原始詞向量也可以使用Word2Vec 采用的傳統(tǒng)詞向量,能夠很好地縮短訓(xùn)練時(shí)間,這表明了遷移學(xué)習(xí)在NLP任務(wù)中有很好的發(fā)展前景,后續(xù)相關(guān)研究由此也得到了一種新的思路。

3.3 GPT模型

GPT首次無監(jiān)督的預(yù)訓(xùn)練和有監(jiān)督的微調(diào)相結(jié)合,使得模型更加符合下游任務(wù)的需求。此前在進(jìn)行模型訓(xùn)練時(shí),需要大量手動(dòng)標(biāo)記的數(shù)據(jù),這限制了它們?cè)谠S多缺乏注釋資源的領(lǐng)域中的適應(yīng)性[36]。如圖3 所示,與ELMO 相比,GPT 針對(duì)NLP 下游任務(wù)采用統(tǒng)一框架,直接在Transformer[11]上的最后一層接上softmax作為任務(wù)輸出層,減少了計(jì)算復(fù)雜度。Dai等[37]和Howard等[34]曾嘗試先對(duì)語言模進(jìn)行預(yù)訓(xùn)練,然后針對(duì)下游任務(wù)進(jìn)行微調(diào),在文本分類相關(guān)的工作取得了很好的改善,但是LSTM 的使用限制了它們的預(yù)測局限在短范圍內(nèi)。GPT 盡管采用單向的Transformer 進(jìn)行編碼,但是相較ELMo而言可以更好地捕獲長距離語言結(jié)構(gòu)。

圖3 GPT模型的結(jié)構(gòu)

GPT的訓(xùn)練過程也包括兩個(gè)階段,第一階段是在大型文本語料庫上對(duì)模型進(jìn)行預(yù)訓(xùn)練,第二階段是微調(diào)階段,讓模型更好地適應(yīng)下游任務(wù)。

在無監(jiān)督的預(yù)訓(xùn)練階段,根據(jù)語料庫u={u1,u2,…,un}來最大化似然函數(shù):

其中,k表示上下文窗口大小,Θ表示參數(shù)進(jìn)行建模。

使用多層Transformer decoder作為語言模型,對(duì)于上文輸入進(jìn)行self-attention 操作,然后結(jié)合前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network,F(xiàn)NN),使用softmax輸出目標(biāo)詞的分布。

其中,U代表代表上文的詞向量,We代表詞嵌入矩陣,Wp代表位置嵌入矩陣,對(duì)于輸入的向量計(jì)算其概率分布。

在有監(jiān)督的微調(diào)階段,線性輸出層為:

其中,x1,x2,…,xm和標(biāo)簽y組成實(shí)例,將序列輸入到預(yù)訓(xùn)練的模型后得到輸出向量,然后將其輸出到具有參數(shù)Wy的附加線性輸出層中來預(yù)測標(biāo)簽y。

需要極大化的似然函數(shù)為:

使用語言模型來輔助有監(jiān)督的微調(diào),可以改進(jìn)監(jiān)督模型的泛化以及加速收斂,最終下游任務(wù)使用的監(jiān)督模型函數(shù)為:

其中,C表示數(shù)據(jù)集,L1(C)表示基于特征訓(xùn)練出的函數(shù),L2(C)表示基于特征和標(biāo)簽訓(xùn)練出的函數(shù),λ表示權(quán)重。

從論文中的消除實(shí)驗(yàn)來看,預(yù)訓(xùn)練部分對(duì)于測試性能影響很大,除去預(yù)訓(xùn)練部分模型在多個(gè)任務(wù)中的性能平均下降14.8 個(gè)百分點(diǎn),并且使用Transformer 替換LSTM后,效果提升5.6個(gè)百分點(diǎn)。

3.4 BERT模型

BERT 證明了使用雙向預(yù)訓(xùn)練效果更好,解決了GPT模型為了防止泄密,在進(jìn)行預(yù)測時(shí)舍棄了下文信息的局限性。使用多層雙向LSTM 的ELMo 前向LSTM和后向LSTM 相互獨(dú)立,并未進(jìn)行雙向信息融合,所以并不會(huì)存在泄密的問題。但是BERT 使用的雙向結(jié)構(gòu)不同于ELMo 只是將兩個(gè)單向的LSTM 的最高層進(jìn)行簡單的拼接。如圖4所示,它使用的是Transformer編碼器,由于self-attention機(jī)制,所以模型上下層直接全部互相連接的。

圖4 BERT模型的結(jié)構(gòu)

在模型輸入方面,BERT輸入的編碼向量是詞向量、位置向量、句子切分向量這三個(gè)嵌入特征的單位和。

在模型的預(yù)訓(xùn)練上,BERT 利用兩個(gè)監(jiān)督任務(wù)進(jìn)行預(yù)訓(xùn)練。

第一個(gè)任務(wù)是Mask LM(MLM),為了解決GPT完全舍棄下文的問題,不再進(jìn)行整個(gè)句子的預(yù)測而是對(duì)某個(gè)詞去做預(yù)測,首先屏蔽一定百分比的詞,然后通過模型實(shí)現(xiàn)對(duì)屏蔽詞的預(yù)測,來進(jìn)行訓(xùn)練。但是會(huì)存在兩點(diǎn)不足:一是由于屏蔽的詞在微調(diào)期間并不會(huì)出現(xiàn),在進(jìn)行微調(diào)時(shí)會(huì)出現(xiàn)與預(yù)訓(xùn)練不匹配的問題。二是預(yù)測的是屏蔽掉的是詞而非句子,會(huì)使整個(gè)句子預(yù)訓(xùn)練的收斂速度更慢。針對(duì)第一個(gè)不足的解決辦法是在80%時(shí)間保持屏蔽的狀態(tài),10%的時(shí)間里進(jìn)行隨機(jī)詞替換,10%的時(shí)間使用詞本身。對(duì)于第二個(gè)問題,作者認(rèn)為收斂速度算是對(duì)模型效果提升的妥協(xié)。

第二個(gè)任務(wù)是Next Sentence Prediction(NSP),主要是為了實(shí)現(xiàn)基于上個(gè)句子對(duì)下個(gè)句子的預(yù)測,首先在50%的時(shí)間是拼接原始的上下句子,標(biāo)簽設(shè)為正例。50%的時(shí)間里拼接原始句子與隨機(jī)的下一句,標(biāo)簽設(shè)為負(fù)例,這樣做的目的是提取句子間的關(guān)系。但是這樣的隨機(jī)選擇會(huì)導(dǎo)致隨機(jī)性太強(qiáng),很難針對(duì)句意進(jìn)行建模。在隨后發(fā)布的XLNet取消了這個(gè)任務(wù),并且RoBERTa[38]和SpanBERT[39]通過測試發(fā)現(xiàn),沒有NSP 的話模型的效果會(huì)更好。

BERT首次將無監(jiān)督的預(yù)訓(xùn)練和有監(jiān)督的微調(diào)這一模式推廣到更深層的雙向結(jié)構(gòu)中,它對(duì)自然語言處理領(lǐng)域帶來的提升是里程碑式的。NLP 領(lǐng)域中存在著大量的無監(jiān)督數(shù)據(jù),通過在數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,得到較為完善的語言模型。Hewitt等[40]、Jawahar等[41]、Kim 等[42]提出了幾種從BERT中提取依存樹和成分句法樹的方法,證明了BERT 編碼語法結(jié)構(gòu)的能力。在處理NLP 的相關(guān)任務(wù)時(shí)可以進(jìn)行遷移學(xué)習(xí),針對(duì)任務(wù)進(jìn)行有監(jiān)督的微調(diào),節(jié)約了訓(xùn)練模型所需的時(shí)間和資源。

但BERT模型參數(shù)量眾多,預(yù)訓(xùn)練時(shí)對(duì)硬件要求高并且消耗時(shí)間很長,一般難以自行完成預(yù)訓(xùn)練過程。

3.5 基于深度學(xué)習(xí)的預(yù)訓(xùn)練模型分析

目前的研究表明,在大型無標(biāo)注語料庫進(jìn)行預(yù)訓(xùn)練,可以在NLP任務(wù)上顯著提高模型性能。由此也拉開了遷移學(xué)習(xí)的序幕,目前主要有兩種常見的遷移學(xué)習(xí)方式:特征提取和微調(diào),兩者的區(qū)別就是以ELMo 等為代表的模型使用的特征提取方法凍結(jié)了預(yù)訓(xùn)練參數(shù),而以BERT 等為代表的模型采用的微調(diào)則是動(dòng)態(tài)地改變參數(shù),根據(jù)下游任務(wù)進(jìn)行參數(shù)上的微調(diào)。特征提取需要更復(fù)雜的任務(wù)架構(gòu),并且就綜合性能來看,微調(diào)的方法更適合下游任務(wù)。

GLUE是多種自然語言理解任務(wù)的集合,可以用于評(píng)測模型的性能。如表1所示[10],使用Transformer編碼器進(jìn)行特征抽取的GPT、BERT 模型相較使用LSTM 編碼器的ELMo 模型在情感分析、文本匹配、閱讀理解等多個(gè)測試中效果取得了大幅提升,并且由于BERT采用深度雙向Transformer 進(jìn)行預(yù)訓(xùn)練,可以獲取更深層次的文本表征,取得了很好的實(shí)驗(yàn)結(jié)果。

表1 BERT、ELMo、GPT在GLUE數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 %

4 模型的相關(guān)改進(jìn)工作

近年來,隨著預(yù)訓(xùn)練技術(shù)的蓬勃發(fā)展,自然語言處理領(lǐng)域進(jìn)入了快速發(fā)展階段。但是由于語言的復(fù)雜性,目前仍存在很大挑戰(zhàn)。盡管BERT 等預(yù)訓(xùn)練模型有了顯著的性能提升,但是不同方法之間進(jìn)行仔細(xì)比較都有不足,目前主要任務(wù)都是針對(duì)現(xiàn)有模型進(jìn)行評(píng)估改進(jìn)以及對(duì)高性能深度學(xué)習(xí)架構(gòu)的研究。

4.1 處理性能改進(jìn)

BETR 雖然功能強(qiáng)大,但在實(shí)際應(yīng)用中仍存在問題。Lan等人[43]提出了ALBERT模型來降低BERT預(yù)訓(xùn)練時(shí)的內(nèi)存消耗和訓(xùn)練速度。Liu等人[38]針對(duì)其訓(xùn)練不足的問題,提出了RoBERTTa 模型對(duì)其進(jìn)行性能改進(jìn),主要改進(jìn)體現(xiàn)在:(1)對(duì)模型進(jìn)行更長時(shí)間的培訓(xùn);(2)刪除下一段句預(yù)測目標(biāo);(3)長序列訓(xùn)練;(4)動(dòng)態(tài)改變應(yīng)用于訓(xùn)練數(shù)據(jù)的掩蔽模式。

GPT-2[44]盡管與GPT 都使用的單向語言模型,但是它將Transformer 堆疊到了48 層,并且通過超大語料庫進(jìn)行了訓(xùn)練,生成高質(zhì)量的數(shù)據(jù)集。這種不計(jì)成本地進(jìn)行超大規(guī)模訓(xùn)練使得模型的性能得到了大大提升。得益于海量的模型容量,GPT-2針對(duì)不同任務(wù)模型進(jìn)行識(shí)別調(diào)整,而不是采用微調(diào)的方式。

研究人員發(fā)現(xiàn)盡管目前的模型效果顯著,但是針對(duì)特定的下游任務(wù),仍然需要基于任務(wù)的微調(diào)數(shù)據(jù)集。但是研究發(fā)現(xiàn),擴(kuò)大語言模型的訓(xùn)練規(guī)??梢詷O大提高與任務(wù)無關(guān)的性能,因此推出了GPT-3[45],它把模型尺寸擴(kuò)大到了1 750億個(gè)參數(shù),使用45 TB數(shù)據(jù)進(jìn)行訓(xùn)練,通過實(shí)驗(yàn)證明,針對(duì)特定下游任務(wù)無需微調(diào)就能夠有很好的性能表現(xiàn)。

XLNet[46]可以看作是改進(jìn)版的BERT,因?yàn)锽ERT在預(yù)訓(xùn)練中采用了MASK標(biāo)記,破壞了其與下游任務(wù)的一致性。因此XLNet采用了自回歸模型代替自編碼模型,盡管自回歸模型屬于單向模型,但是研究人員巧妙地利用排列語言模型保留了序列的上下文信息,并且消除了mask標(biāo)記引起的負(fù)面影響。為了避免這種改變產(chǎn)生和Transformer結(jié)構(gòu)引起沖突,導(dǎo)致模型無法實(shí)現(xiàn)目標(biāo)位置感知,論文中提出了引進(jìn)雙流自注意力機(jī)制,采用兩種表述來代替之前的表述,并且針對(duì)模型更新了Transformer-XL[47]兩個(gè)重要的技術(shù)點(diǎn),分別是相對(duì)位置編碼和片段循環(huán)機(jī)制。如表2 所示,改進(jìn)后的RoBERT 和XLNet 相較BERT在自然語言推斷、文本蘊(yùn)含任務(wù)取得了較大的效果提升,在語義相似、情感分析類數(shù)據(jù)集中也有很好的性能表現(xiàn)。

4.2 處理任務(wù)改善

(1)多語言理解任務(wù)

早期多語言文本表示是通過詞嵌入[48]的方式,將要處理的詞映射到相同的雙語空間中,但是這需要高質(zhì)量對(duì)齊的句子或詞典。該任務(wù)的相關(guān)模型MultilingualBERT 在零樣本遷移學(xué)習(xí)上表現(xiàn)良好,但是針對(duì)語言類型的結(jié)構(gòu)轉(zhuǎn)換還有待優(yōu)化。

表2 BERT、XLNet、RoBERTa在GLUE數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 %

針對(duì)mBERT 對(duì)于跨語言任務(wù)優(yōu)化有限,Lample 等人[49]借鑒GPT采用的生成式預(yù)訓(xùn)練的方法提出了XLM模型,該模型并不是簡單地將每種語言都作為一個(gè)模型進(jìn)行封裝,而是將多語語料進(jìn)行采樣拼接,構(gòu)建多語詞表,并且提出了三項(xiàng)預(yù)訓(xùn)練任務(wù):因果語言建模(Causal Language Modeling,CLM)、掩碼語言建模(Masked Language Model,MLM)、翻譯語言建模(Translation Language Modeling,TLM)。CLM用Tramsform作特征抽取,由前面的詞對(duì)下一個(gè)詞的概率進(jìn)行預(yù)測。MLM與BERT的單語言模型類似,它的不同點(diǎn)在于使用的是任意長度的文本流進(jìn)行替換;翻譯語言建模是對(duì)MLM的擴(kuò)展,將并行的句子連接起來,提高跨語言訓(xùn)練的效果。評(píng)估實(shí)驗(yàn)基于零樣本學(xué)習(xí)的配置,使用英語的訓(xùn)練集和多語言的測試集,其中train是將英語翻譯成多種語言,test 是將多種語言翻譯成英語,如表3 所示[49],在英文、西班牙文、德文、阿拉伯文、中文、烏爾都語等語料中與BERT 進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明XLM 在跨語言任務(wù)上具有很強(qiáng)性能。

表3 BERT、XML在跨語言分類的實(shí)驗(yàn)結(jié)果%

(2)生成任務(wù)

GPT 和BERT 模型在自然語言理解類任務(wù)處理上取得了很好的效果,但是因?yàn)槟P涂蚣艿南拗?,它們文本生成任?wù)的問題上測試效果并不是很理想。于是Song 等人[50]提出了MASS 模型,采用編碼器-解碼器框架,編碼器輸入帶有屏蔽字段的句子,然后解碼器對(duì)屏蔽部分進(jìn)行預(yù)測,通過對(duì)編碼器和解碼器的聯(lián)合訓(xùn)練提高表示提取和語言建模能力,在文章中通過對(duì)英法翻譯的測試,該模型取得了最高的成績,甚至超過了早期基于注意力的監(jiān)督模型。Dong 等人[51]提出了UNILM 模型,如表4 所示,與之前模型相比UNILM 使用單向模型、雙向模型、Seq2Seq 模型進(jìn)行預(yù)訓(xùn)練,因此它對(duì)于自然語言理解和自然語言生成的相關(guān)任務(wù)都能夠很好地處理。

表4 預(yù)訓(xùn)練模型對(duì)比

在自然語言生成任務(wù)上,以摘要生成和生成式問答為例。摘要生成要求模型有更強(qiáng)的表征、理解和生成文本的能力,如表5 所示[51],將UNILM 與一些先進(jìn)的模型進(jìn)行比較,選取的PGNet[52]、S2S-ELMo[53]和 Bottom-Up[54]都屬于序列對(duì)序列模型,不同點(diǎn)在于PGNet模型是基于指針生成器,而S2S-ELMo 是通過預(yù)先訓(xùn)練的ELMo 表示進(jìn)行擴(kuò)充,Bottom-Up是通過自下而上的內(nèi)容選擇器來選擇突出的短語進(jìn)行文本摘要,通過實(shí)驗(yàn)結(jié)果可以看出UNILM的測試效果最好。

表5 CNN/DailyMail摘要的評(píng)價(jià)結(jié)果%

問答系統(tǒng)可以分為抽取式問答和生成式問答,然而生成式問答對(duì)系統(tǒng)要求更高?!俺槿?合成”的生成式問答系統(tǒng)模塊之間獨(dú)立性強(qiáng),信息共享性差,產(chǎn)生錯(cuò)誤難以解決。基于Seq2Seq 模型的問答系統(tǒng)無法準(zhǔn)確生成命名實(shí)體,容易出現(xiàn)答非所問的情況。UNILM 采用Seq2Seq模型來完成,對(duì)于超過最大長度的段落,使用滑動(dòng)窗口將文章分為幾塊,并選擇單詞重疊度最高的部分進(jìn)行處理,如表6 所示[51],CoQA[55]是用于構(gòu)建會(huì)話問答系統(tǒng)的數(shù)據(jù)集,用于評(píng)估模型的會(huì)話和閱讀理解能力。與該數(shù)據(jù)集中描述的生成式問答模型Seq2Seq和PGNet進(jìn)行比較,其中Seq2Seq 是具有注意力機(jī)制的Seq2Seq模型,PGNet通過序列間的復(fù)制機(jī)制擴(kuò)充Seq2Seq,通過實(shí)驗(yàn)發(fā)現(xiàn),UNILM的測試結(jié)果表現(xiàn)突出,比PGNet高出了40個(gè)百分點(diǎn)。

表6 在CoQA中的生成問答結(jié)果

但是綜合來看的話,相比自然語言理解任務(wù)目前取得的成就而言,目前生成任務(wù)的改善工作仍然有很大的改善空間。

(3)特定語言的處理任務(wù)

目前研究發(fā)現(xiàn)[56],針對(duì)特定語言進(jìn)行預(yù)訓(xùn)練,效果明顯好于多語言訓(xùn)練模型。FlauBERT[57]利用大型法語語料庫進(jìn)行預(yù)訓(xùn)練,在大多數(shù)任務(wù)中表現(xiàn)都優(yōu)于其他訓(xùn)練方法。

中文由于沒有明確的語言邊界,很容易導(dǎo)致重要語義的丟失,ZEN[58]是基于BERT 的文本編碼器,采用N-gram增強(qiáng)表現(xiàn),有效地集成大顆粒度文本信息,具有收斂速度快性能表現(xiàn)良好的特點(diǎn)。ERNIE2.0[59]引入多任務(wù)學(xué)習(xí),實(shí)現(xiàn)對(duì)詞法、語法、語義的預(yù)訓(xùn)練,如表7所示,ERNIE2.0在9個(gè)GLUE任務(wù)上實(shí)現(xiàn)了對(duì)BERT的超越。

表7 BERT、ERNIE2.0在GLUE數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果%

如表8 所示[59],將 ERNIE2.0 和 BERT 放在 9 個(gè)常見的中文NLP處理任務(wù)中進(jìn)行測試,結(jié)果表明在中文閱讀理解任務(wù)、命名實(shí)體識(shí)別、自然語言推斷、情感分析、自然語言推斷、問答匹配等任務(wù)中取得了更好的成績。

(4)多模態(tài)處理任務(wù)

VideoBERT[60]屬于視頻和語言表示學(xué)習(xí)的聯(lián)合模型,通過對(duì)視頻數(shù)據(jù)和語音識(shí)別的輸出數(shù)據(jù)進(jìn)行訓(xùn)練,實(shí)現(xiàn)高級(jí)語義特征的學(xué)習(xí)。VisualBERT[61]則是利用Transformer 圖層實(shí)現(xiàn)輸入文本元素和輸入圖像中的區(qū)域隱式對(duì)齊,實(shí)現(xiàn)視覺和語言任務(wù)的建模。SpeechBERT[62]實(shí)現(xiàn)了音頻和文本的聯(lián)合學(xué)習(xí),通過實(shí)驗(yàn)表明其在問答任務(wù)模型的潛力。

4.3 新式模型的綜合分析

BERT、GPT等模型的提出掀起了遷移學(xué)習(xí)的熱潮,基于深度學(xué)習(xí)的模型預(yù)訓(xùn)練模型不斷涌現(xiàn),目前預(yù)訓(xùn)練技術(shù)已經(jīng)成為該領(lǐng)域的發(fā)展重心。目前模型常見的特征抽取器可以分為LSTM、Transformer、Transformer-XL三大類,自XLNet 模型引入了自回歸模型的概念,也可以將語言模型分為以BERT 系列模模型為代表的自編碼模型和ELMo、XLNet、GPT系列模型為代表的自回歸模型兩大類。

表8 BERT、ERNIE2.0在GLUE數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果%

NLP常見的下游任務(wù)可以分為四大類:第一類任務(wù)是序列標(biāo)注,比如分詞、命名實(shí)體識(shí)別、語義標(biāo)注等;第二類任務(wù)是分類任務(wù),比如文本分類、情感分析等;第三類任務(wù)是句子關(guān)系判斷,比如句法分析、問答QA、自然語言推理等;第四類是生成式任務(wù),比如機(jī)器翻譯、文本摘要、閱讀理解、對(duì)話系統(tǒng)等。如表9所示,歸納出各個(gè)模型的深度學(xué)習(xí)架構(gòu)及其預(yù)訓(xùn)練任務(wù),按照模型特點(diǎn)總結(jié)出其適用的NLP相關(guān)任務(wù)。

5 模型后續(xù)發(fā)展的展望

預(yù)訓(xùn)練模型的出現(xiàn)具有劃時(shí)代的意義,目前基于DL的各種預(yù)訓(xùn)練模型已經(jīng)廣泛應(yīng)用到解決下游各種自然語言處理的任務(wù)中。但是目前結(jié)合實(shí)際應(yīng)用場景來看,仍有很多需要改進(jìn)的地方,下面是對(duì)后續(xù)發(fā)展方向的四點(diǎn)看法。

5.1 大規(guī)模的預(yù)訓(xùn)練

目前預(yù)訓(xùn)練模型還有很大改善空間,需要更多的訓(xùn)練場景和更大的語料庫來完善模型的準(zhǔn)確度。Shoeybi等人[64]利用層內(nèi)模型并行方法訓(xùn)練具有數(shù)十億參數(shù)的Transformer 模型,研究發(fā)現(xiàn)在 GPT-3 模型和 BERT 模型上都獲得了很好的表現(xiàn)。但是對(duì)于模型的大規(guī)模訓(xùn)練也是很大的挑戰(zhàn),不但要高性能硬件上的支撐,更需要有更有效的訓(xùn)練技術(shù)支持,針對(duì)BERT只對(duì)15%的詞進(jìn)行學(xué)習(xí)導(dǎo)致的算力浪費(fèi),Clark 等人[65]提出將BERT 中MLM 進(jìn)行替換,采用了replaced token dection 任務(wù)進(jìn)行預(yù)訓(xùn)練,經(jīng)過測試發(fā)現(xiàn),相較BERT性能有2.9個(gè)百分點(diǎn)的提高,并且性能和RoBRETa 相差不多但是訓(xùn)練所需時(shí)間縮短了75%,這也是一種很好的發(fā)展方向。

表9 基于深度學(xué)習(xí)的預(yù)訓(xùn)練模型對(duì)比

5.2 面向任務(wù)的預(yù)訓(xùn)練

目前的預(yù)訓(xùn)練模型趨于大型化,如何針對(duì)不同的下游任務(wù)進(jìn)行匹配也同樣重要,最近也出現(xiàn)了一些針對(duì)專業(yè)語料庫進(jìn)行訓(xùn)練的預(yù)訓(xùn)練模型,如用于科學(xué)文本的SciBERT[66],用于臨床文本的 ClinicalBERT 模型[67-68],不過目前仍有很大進(jìn)步空間。

5.3 模型輕量化

目前流行的預(yù)訓(xùn)練模型大都經(jīng)過了大量預(yù)訓(xùn)練,并且由于模型框架設(shè)計(jì)等方面的原因?qū)τ布枨蠛芨?,高門檻導(dǎo)致研究人員難以去從頭訓(xùn)練,要針對(duì)模型進(jìn)行進(jìn)一步研究改進(jìn),只能對(duì)模型進(jìn)行微調(diào)。這種情況不利于相關(guān)研究工作的開展,使整個(gè)領(lǐng)域發(fā)展受到阻礙。針對(duì)這些問題,也出現(xiàn)了一些新的模型,如百度公司發(fā)布的ERNIE-Tiny 是小型化的ERNIE[63],減少了層數(shù),預(yù)測提速4.7倍,但是處理效果下降明顯。

5.4 防止對(duì)抗性示例攻擊

Qiu等[69]在文章中提到深層神經(jīng)網(wǎng)絡(luò)很容易受到對(duì)抗性示例的攻擊,很容易誤導(dǎo)模型產(chǎn)生特定的錯(cuò)誤預(yù)測。在圖像處理領(lǐng)域,對(duì)抗性攻擊和防御已經(jīng)得到了很好的研究。但是由于自然語言處理領(lǐng)域中語言特有的離散型,很難進(jìn)行處理。Jin等[70]通過生成自然對(duì)抗的文本,成功攻擊了BERT、CNN 和RNN 三個(gè)目標(biāo)模型,這表明目前的語言處理模型針對(duì)這方面還有很高的提升空間。

6 結(jié)束語

本文主要按照自然語言處理相關(guān)經(jīng)典模型的改進(jìn)更迭進(jìn)行概述,根據(jù)模型對(duì)數(shù)據(jù)的處理特點(diǎn)分為以Word2Vec為代表的靜態(tài)預(yù)處理模型、ELMo為代表的動(dòng)態(tài)預(yù)處理模型、新式的改進(jìn)模型三部分進(jìn)行介紹。并結(jié)合了同時(shí)期的相關(guān)研究通過對(duì)模型的數(shù)據(jù)處理、相關(guān)的架構(gòu)設(shè)計(jì)、整體的性能評(píng)估三部分分析比較,將自然語言處理領(lǐng)域的相關(guān)研究梳理出來。

盡管近兩年自然語言處理領(lǐng)域迎來了蓬勃的發(fā)展,但是由于語言的復(fù)雜性,目前預(yù)訓(xùn)練技術(shù)還存在很大挑戰(zhàn),如何去訓(xùn)練出高兼容性、高性能的自然語言處理模型仍然是需要長期努力的目標(biāo)。

猜你喜歡
微調(diào)向量文本
文本聯(lián)讀學(xué)概括 細(xì)致觀察促寫作
向量的分解
樂海樂器“微調(diào)軸”研發(fā)成功
聚焦“向量與三角”創(chuàng)新題
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識(shí)別
向量垂直在解析幾何中的應(yīng)用
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
宏觀政策適時(shí)適度進(jìn)行預(yù)調(diào)微調(diào)
林周县| 潼关县| 邳州市| 平顺县| 中超| 旬邑县| 雷州市| 东辽县| 唐河县| 绥滨县| 东兰县| 新营市| 上犹县| 平果县| 出国| 鄂伦春自治旗| 天全县| 兰坪| 图木舒克市| 福建省| 小金县| 三台县| 梁平县| 明溪县| 满城县| 东安县| 永和县| 开平市| 阿合奇县| 平江县| 泰来县| 三河市| 忻城县| 镇平县| 罗城| 望奎县| 元朗区| 阜阳市| 大冶市| 衡东县| 宿州市|