網(wǎng)上有很多關(guān)于pos機(jī)器模型,15個(gè)預(yù)訓(xùn)練模型對(duì)比分析與剖析的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)器模型的問題,今天pos機(jī)之家(www.shineka.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)器模型
前言
在之前寫過的《NLP的游戲規(guī)則從此改寫?從word2vec, ELMo到BERT》一文中,介紹了從word2vec到ELMo再到BERT的發(fā)展路徑。而在BERT出現(xiàn)之后的這大半年的時(shí)間里,模型預(yù)訓(xùn)練的方法又被Google、Facebook、微軟、百度、OpenAI等極少數(shù)幾個(gè)玩得起游戲的核心玩家反復(fù)迭代了若干版,一次次的刷新我們這些吃瓜群眾的案板上的瓜。
有沒有感覺出瓜速度太快以至于吃速跟不上?不用擔(dān)心,小編幫你們找來了這篇總結(jié)的恰到好處的文章,對(duì)ELMo以來的15個(gè)代表性的預(yù)訓(xùn)練語言模型進(jìn)行了多維度的對(duì)比和分析。尤其是近期找工作的小伙伴們注意啦,這篇文章里面提出來的一些問題很適合作為面試考點(diǎn)(劃掉,交流點(diǎn))噢~
首先上一張鎮(zhèn)樓專用圖,看一下ELMo以來的預(yù)訓(xùn)練語言模型發(fā)展的概況
然后上本文正餐,一個(gè)高能的question list,這也是本文寫作的主線。
Question List
Q1:從不同維度對(duì)比各【預(yù)訓(xùn)練語言模型】?Q2:基于深度學(xué)習(xí)的NLP特征抽取機(jī)制有哪些?各有哪些優(yōu)缺點(diǎn)?Q3:自回歸和自編碼語言模型各有什么優(yōu)缺點(diǎn)?Q4:?jiǎn)蜗蚰P偷膬?nèi)核機(jī)制是怎樣的?有哪些缺點(diǎn)?Q5:Transformer內(nèi)部機(jī)制的深入理解:為什么是縮放點(diǎn)積,而不是點(diǎn)積模型?相較于加性模型,點(diǎn)積模型具備哪些優(yōu)點(diǎn)?多頭機(jī)制為什么有效?Q6-Q10:BERT內(nèi)核機(jī)制探究BERT為什么如此有效?BERT存在哪些優(yōu)缺點(diǎn)?BERT擅長(zhǎng)處理哪些下游NLP任務(wù)?BERT基于“字輸入”還是“詞輸入”好?(對(duì)于中文任務(wù))BERT為什么不適用于自然語言生成任務(wù)(NLG)?Q11-Q15:針對(duì)BERT原生模型的缺點(diǎn),后續(xù)的BERT系列模型是:如何改進(jìn)【生成任務(wù)】的?如何引入【知識(shí)】的?如何引入【多任務(wù)學(xué)習(xí)機(jī)制】的?如何改進(jìn)【mask策略】的?如何進(jìn)行【精細(xì)調(diào)參】的?Q16:XLNet提出的背景是怎樣的?Q17:XLNet為何如此有效:為什么PLM可以實(shí)現(xiàn)雙向上下文的建模?怎么解決沒有目標(biāo)(target)位置信息的問題?Q18:Transformer-XL怎么實(shí)現(xiàn)對(duì)長(zhǎng)文本建模?下面本文將從以下幾個(gè)方面來對(duì)上述問題一一探討
一. 不同視角下的預(yù)訓(xùn)練語言模型對(duì)比
二.預(yù)訓(xùn)練語言模型的基礎(chǔ):特征抽取機(jī)制+語言模型的分類
三.單向模型回顧+內(nèi)核機(jī)制探究
四.BERT的內(nèi)核機(jī)制探究
五.BERT系列模型進(jìn)展介紹
六.XLNET的內(nèi)核機(jī)制探究
七.預(yù)訓(xùn)練語言模型的未來
一、不同視角下的預(yù)訓(xùn)練語言模型對(duì)比
Q1:從不同維度對(duì)比【預(yù)訓(xùn)練語言模型】
從特征抽取、預(yù)訓(xùn)練語言模型目標(biāo)、BERT系列模型的改進(jìn)方向、特征表示4個(gè)視角,對(duì)比預(yù)訓(xùn)練語言模型:
不同的特征抽取機(jī)制RNNs:ELMO/ULMFiT/SiATL;Transformer:GPT1.0/GPT2.0/BERT系列模型;Transformer-XL:XLNet;不同的預(yù)訓(xùn)練語言目標(biāo)自編碼(AutoEncode):BERT系列模型;自回歸(AutoRegression):?jiǎn)蜗蚰P停‥LMO / ULMFiT / SiATL / GPT1.0 / GPT2.0)和XLNet;BERT系列模型的改進(jìn)引入常識(shí):ERNIE1.0 / ERNIE(THU) / ERNIE2.0(簡(jiǎn)稱為“ERNIE系列”);引入多任務(wù)學(xué)習(xí):MTDNN/ERNIE2.0;基于生成任務(wù)的改進(jìn):MASS/UNILM;不同的mask策略:WWM/ERNIE系列/SpanBERT;精細(xì)調(diào)參:RoBERTa;特征表示(是否能表示上下文)單向特征表示:?jiǎn)蜗蚰P停‥LMO/ULMFiT/SiATL/GPT1.0/GPT2.0);雙向特征表示:BERT系列模型+XLNet;二、預(yù)訓(xùn)練語言模型的基礎(chǔ):特征抽取機(jī)制+語言模型的分類
Q2:基于深度學(xué)習(xí)的NLP特征抽取機(jī)制有哪些?各有哪些優(yōu)缺點(diǎn)?
1)能否處理長(zhǎng)距離依賴問題
長(zhǎng)距離依賴建模能力:Transformer-XL > Transformer > RNNs > CNNs
MLP:不考慮序列(位置)信息,不能處理變長(zhǎng)序列,如NNLM和word2vec;CNNs:考慮序列(位置)信息,不能處理長(zhǎng)距離依賴,聚焦于n-gram提取,pooling操作會(huì)導(dǎo)致序列(位置)信息丟失;RNNs:天然適合處理序列(位置)信息,但仍不能處理長(zhǎng)距離依賴(由于BPTT導(dǎo)致的梯度消失等問題),故又稱之為“較長(zhǎng)的短期記憶單元(LSTM)”;Transformer/Transformer-XL:self-attention解決長(zhǎng)距離依賴,無位置偏差;2)前饋/循環(huán)網(wǎng)絡(luò) or 串行/并行計(jì)算
MLP/CNNs/Transformer:前饋/并行RNNs/ Transformer-XL:循環(huán)/串行:3)計(jì)算時(shí)間復(fù)雜度(序列長(zhǎng)度n,embedding size為d,filter大小k)
CNNs:RNNs:Self Attention:Q3:自回歸和自編碼語言模型各有什么優(yōu)缺點(diǎn)?
1)自回歸語言模型
優(yōu)點(diǎn):文本序列聯(lián)合概率的密度估計(jì),即為傳統(tǒng)的語言模型,天然適合處理自然生成任務(wù);缺點(diǎn):聯(lián)合概率按照文本序列從左至右分解(順序拆解),無法通過上下文信息進(jìn)行雙向特征表征;代表模型:ELMO/GPT1.0/GPT2.0;改進(jìn):XLNet將傳統(tǒng)的自回歸語言模型進(jìn)行推廣,將順序拆解變?yōu)殡S機(jī)拆解(排列語言模型),產(chǎn)生上下文相關(guān)的雙向特征表示;2)自編碼語言模型
優(yōu)點(diǎn):本質(zhì)為降噪自編碼特征表示,通過引入噪聲[MASK]構(gòu)建MLM,獲取上下文相關(guān)的雙向特征表示;缺點(diǎn):引入獨(dú)立性假設(shè),為聯(lián)合概率的有偏估計(jì),沒有考慮預(yù)測(cè)[MASK]之間的相關(guān)性不適合直接處理生成任務(wù),MLM預(yù)訓(xùn)練目標(biāo)的設(shè)置造成預(yù)訓(xùn)練過程和生成過程不一致;預(yù)訓(xùn)練時(shí)的[MASK]噪聲在finetune階段不會(huì)出現(xiàn),造成兩階段不匹配問題;代表模型:BERT系列模型;三、單向模型回顧+內(nèi)核機(jī)制探究
Q4:?jiǎn)蜗蚰P偷膬?nèi)核機(jī)制是怎樣的?有哪些缺點(diǎn)?
1)ELMo (Allen Institute)[6]
要點(diǎn):引入雙向語言模型,其實(shí)是2個(gè)單向語言模型(前向和后向)的集成;通過保存預(yù)訓(xùn)練好的2層biLSTM,通過特征集成或finetune應(yīng)用于下游任務(wù);缺點(diǎn):本質(zhì)上為自回歸語言模型,只能獲取單向的特征表示,不能同時(shí)獲取上下文表示;LSTM不能解決長(zhǎng)距離依賴。為什么不能用biLSTM構(gòu)建雙向語言模型?不能采取2層biLSTM同時(shí)進(jìn)行特征抽取構(gòu)建雙向語言模型,否則會(huì)出現(xiàn)標(biāo)簽泄漏的問題;因此ELMO前向和后向的LSTM參數(shù)獨(dú)立,共享詞向量,獨(dú)立構(gòu)建語言模型;2)ULMFiT (fast.ai) / SiATL
2.1)ULMFiT[7]要點(diǎn):
三階段訓(xùn)練:LM預(yù)訓(xùn)練+精調(diào)特定任務(wù)LM+精調(diào)特定分類任務(wù);特征抽取:3層AWD-LSTM;精調(diào)特定分類任務(wù):逐層解凍;2.2) SiATL[8]要點(diǎn):
二階段訓(xùn)練:LM預(yù)訓(xùn)練+特定任務(wù)精調(diào)分類任務(wù)(引入LM作為輔助目標(biāo),輔助目標(biāo)對(duì)于小數(shù)據(jù)有用,與GPT相反); - 特征抽?。篖STM+self-attention;精調(diào)特定分類任務(wù):逐層解凍;都通過一些技巧解決finetune過程中的災(zāi)難性遺忘問題:如果預(yù)訓(xùn)練用的無監(jiān)督數(shù)據(jù)和任務(wù)數(shù)據(jù)所在領(lǐng)域不同,逐層解凍帶來的效果更明顯[9];3)GPT1.0 / GPT2.0 (OpenAI)
GPT1.0[10]要點(diǎn):采用Transformer進(jìn)行特征抽取,首次將Transformer應(yīng)用于預(yù)訓(xùn)練語言模型;finetune階段引入語言模型輔助目標(biāo)(輔助目標(biāo)對(duì)于大數(shù)據(jù)集有用,小數(shù)據(jù)反而有所下降,與SiATL相反),解決finetune過程中的災(zāi)難性遺忘;預(yù)訓(xùn)練和finetune一致,統(tǒng)一二階段框架;GPT2.0[11]要點(diǎn):沒有針對(duì)特定模型的精調(diào)流程:GPT2.0認(rèn)為預(yù)訓(xùn)練中已包含很多特定任務(wù)所需的信息。生成任務(wù)取得很好效果,使用覆蓋更廣、質(zhì)量更高的數(shù)據(jù);缺點(diǎn):依然為單向自回歸語言模型,無法獲取上下文相關(guān)的特征表示;四、BERT內(nèi)核機(jī)制探究
這一部分對(duì)BERT的內(nèi)核機(jī)制進(jìn)行介紹,在回答“BERT為什么如此有效?”之前,首先介紹Transformer的內(nèi)核機(jī)制。
Q5:Transformer[12]內(nèi)部機(jī)制的深入理解(回顧)
1)Multi-Head Attention和Scaled Dot-Product Attention
本質(zhì)是self attention通過attention mask動(dòng)態(tài)編碼變長(zhǎng)序列,解決長(zhǎng)距離依賴、無位置偏差、可并行計(jì)算
為什么是縮放點(diǎn)積,而不是點(diǎn)積模型?當(dāng)輸入信息的維度 d 比較高,點(diǎn)積模型的值通常有比較大方差,從而導(dǎo)致 softmax 函數(shù)的梯度會(huì)比較小。因此,縮放點(diǎn)積模型可以較好地解決這一問題。為什么是雙線性點(diǎn)積模型(經(jīng)過線性變換Q K)?雙線性點(diǎn)積模型,引入非對(duì)稱性,更具健壯性(Attention mask對(duì)角元素值不一定是最大的,也就是說當(dāng)前位置對(duì)自身的注意力得分不一定最高)。相較于加性模型,點(diǎn)積模型具備哪些優(yōu)點(diǎn)?常用的Attention機(jī)制為加性模型和點(diǎn)積模型,理論上加性模型和點(diǎn)積模型的復(fù)雜度差不多,但是點(diǎn)積模型在實(shí)現(xiàn)上可以更好地利用矩陣乘積,從而計(jì)算效率更高(實(shí)際上,隨著維度d的增大,加性模型會(huì)明顯好于點(diǎn)積模型)。多頭機(jī)制為什么有效?類似于CNN中通過多通道機(jī)制進(jìn)行特征選擇;Transformer中先通過切頭(spilt)再分別進(jìn)行Scaled Dot-Product Attention,可以使進(jìn)行點(diǎn)積計(jì)算的維度d不大(防止梯度消失),同時(shí)縮小attention mask矩陣。2)Position-wise Feed-Forward Networks
FFN 將每個(gè)位置的Multi-Head Attention結(jié)果映射到一個(gè)更大維度的特征空間,然后使用ReLU引入非線性進(jìn)行篩選,最后恢復(fù)回原始維度。Transformer在拋棄了 LSTM 結(jié)構(gòu)后,F(xiàn)FN 中的 ReLU成為了一個(gè)主要的提供非線性變換的單元。3)Positional Encoding
將Positional Embedding改為Positional Encoding,主要的區(qū)別在于Positional Encoding是用公式表達(dá)的、不可學(xué)習(xí)的,而Positional Embedding是可學(xué)習(xí)的(如BERT),兩種方案的訓(xùn)練速度和模型精度差異不大;但是Positional Embedding位置編碼范圍是固定的,而Positional Encoding編碼范圍是不受限制的。
為什么引入 和 建模Positional Encoding?引入 和 是為了使模型實(shí)現(xiàn)對(duì)相對(duì)位置的學(xué)習(xí),兩個(gè)位置 pos 和 pos+k 的位置編碼是固定間距k的線性變化:可以證明:間隔為k的任意兩個(gè)位置編碼的歐式空間距離是恒等的,只與k有關(guān)。Q6:BERT[13]為什么如此有效?
引入Masked Language Model(MLM)預(yù)訓(xùn)練目標(biāo),能夠獲取上下文相關(guān)的雙向特征表示;引入Next Sentence Prediction(NSP)預(yù)訓(xùn)練目標(biāo),擅長(zhǎng)處理句子或段落的匹配任務(wù);引入強(qiáng)大的特征抽取機(jī)制Transformer(多種機(jī)制并存):Multi-Head self attention:多頭機(jī)制類似于“多通道”特征抽取,self attention通過attention mask動(dòng)態(tài)編碼變長(zhǎng)序列,解決長(zhǎng)距離依賴(無位置偏差)、可并行計(jì)算;Feed-forward :在位置維度計(jì)算非線性層級(jí)特征;Layer Norm & Residuals:加速訓(xùn)練,使“深度”網(wǎng)絡(luò)更加健壯;引入大規(guī)模、高質(zhì)量的文本數(shù)據(jù);Q7:BERT存在哪些優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):能夠獲取上下文相關(guān)的雙向特征表示;缺點(diǎn):生成任務(wù)表現(xiàn)不佳:預(yù)訓(xùn)練過程和生成過程的不一致,導(dǎo)致在生成任務(wù)上效果不佳;采取獨(dú)立性假設(shè):沒有考慮預(yù)測(cè)[MASK]之間的相關(guān)性,是對(duì)語言模型聯(lián)合概率的有偏估計(jì)(不是密度估計(jì));輸入噪聲[MASK],造成預(yù)訓(xùn)練-精調(diào)兩階段之間的差異;無法文檔級(jí)別的NLP任務(wù),只適合于句子和段落級(jí)別的任務(wù);Q8:BERT擅長(zhǎng)處理哪些下游NLP任務(wù)[14]?
1. 適合句子和段落級(jí)別的任務(wù),不適用于文檔級(jí)別的任務(wù);
2. 適合處理高層語義信息提取的任務(wù),對(duì)淺層語義信息提取的任務(wù)的提升效果不大(如一些簡(jiǎn)單的文本分類任務(wù));
3. 適合處理句子/段落的匹配任務(wù);因此,在一些任務(wù)中可以構(gòu)造輔助句(類似匹配任務(wù))實(shí)現(xiàn)效果提升(如關(guān)系抽取/情感挖掘等任務(wù));
4. 不適合處理NLG任務(wù);
Q9:BERT基于“字輸入”還是“詞輸入”好?(對(duì)于中文任務(wù))
1. 如果基于“詞輸入”,會(huì)加劇OOV問題,會(huì)增大輸入空間,需要利用大得多的語料去學(xué)習(xí)輸入空間到標(biāo)簽空間的函數(shù)映射。
2. 隨著Transfomer特征抽取能力,分詞不再成為必要,詞級(jí)別的特征學(xué)習(xí)可以納入為內(nèi)部特征進(jìn)行表示學(xué)習(xí)。
Q10:BERT為什么不適用于自然語言生成任務(wù)(NLG)?
1. 由于BERT本身在預(yù)訓(xùn)練過程和生成過程的不一致,并沒有做生成任務(wù)的相應(yīng)機(jī)制,導(dǎo)致在生成任務(wù)上效果不佳,不能直接應(yīng)用于生成任務(wù)。
2. 如果將BERT或者GPT用于Seq2Seq的自然語言生成任務(wù),可以分別進(jìn)行預(yù)訓(xùn)練編碼器和解碼器,但是編碼器-注意力-解碼器結(jié)構(gòu)沒有被聯(lián)合訓(xùn)練,BERT和GPT在條件生成任務(wù)中只是次優(yōu)效果。
五、BERT系列模型進(jìn)展介紹
這一部分介紹一些模型,它們均是對(duì)BERT原生模型在一些方向的改進(jìn)。
Q11:針對(duì)BERT原生模型,后續(xù)的BERT系列模型是如何改進(jìn)【生成任務(wù)】的?
1)MASS(微軟)[15]
統(tǒng)一預(yù)訓(xùn)練框架:通過類似的Seq2Seq框架,在預(yù)訓(xùn)練階段統(tǒng)一了BERT和LM模型;Encoder中理解unmasked tokens;Decoder中需要預(yù)測(cè)連續(xù)的[mask]tokens,獲取更多的語言信息;Decoder從Encoder中抽取更多信息;當(dāng)k=1或者n時(shí),MASS的概率形式分別和BERT中的MLM以及GPT中標(biāo)準(zhǔn)的LM一致(k為mask的連續(xù)片段長(zhǎng)度))2)UNILM (微軟)[16]
統(tǒng)一預(yù)訓(xùn)練框架:和直接從mask矩陣的角度統(tǒng)一BERT和LM;3個(gè)Attention Mask矩陣:LM、MLM、Seq2Seq LM;注意:UNILM中的LM并不是傳統(tǒng)的LM模型,仍然是通過引入[MASK]實(shí)現(xiàn)的;Q12:針對(duì)BERT原生模型,后續(xù)的BERT系列模型是如何引入【知識(shí)】的?
1)ERNIE 1.0 (百度)[17]
在預(yù)訓(xùn)練階段引入知識(shí)(實(shí)際是預(yù)先識(shí)別出的實(shí)體),引入3種[MASK]策略預(yù)測(cè):Basic-Level Masking:跟BERT一樣,對(duì)subword進(jìn)行mask,無法獲取高層次語義;Phrase-Level Masking:mask連續(xù)短語;Entity-Level Masking:mask實(shí)體;2)ERNIE (THU)[18]
基于BERT預(yù)訓(xùn)練原生模型,將文本中的實(shí)體對(duì)齊到外部的知識(shí)圖譜,并通過知識(shí)嵌入得到實(shí)體向量作為ERNIE的輸入;由于語言表征的預(yù)訓(xùn)練過程和知識(shí)表征過程有很大的不同,會(huì)產(chǎn)生兩個(gè)獨(dú)立的向量空間。為解決上述問題,在有實(shí)體輸入的位置,將實(shí)體向量和文本表示通過非線性變換進(jìn)行融合,以融合詞匯、句法和知識(shí)信息;引入改進(jìn)的預(yù)訓(xùn)練目標(biāo) Denoising entity auto-encoder (DEA):要求模型能夠根據(jù)給定的實(shí)體序列和文本序列來預(yù)測(cè)對(duì)應(yīng)的實(shí)體;Q13:針對(duì)BERT原生模型,后續(xù)的BERT系列模型是如何引入【多任務(wù)學(xué)習(xí)機(jī)制】的?
多任務(wù)學(xué)習(xí)(Multi-task Learning)[19]是指同時(shí)學(xué)習(xí)多個(gè)相關(guān)任務(wù),讓這些任務(wù)在學(xué)習(xí)過程中共享知識(shí),利用多個(gè)任務(wù)之間的相關(guān)性來改進(jìn)模型在每個(gè)任務(wù)的性能和泛化能力。多任務(wù)學(xué)習(xí)可以看作是一種歸納遷移學(xué)習(xí),即通過利用包含在相關(guān)任務(wù)中的信息作為歸納偏置(Inductive Bias)來提高泛化能力。多任務(wù)學(xué)習(xí)的訓(xùn)練機(jī)制分為同時(shí)訓(xùn)練和交替訓(xùn)練。
1)MTDNN(微軟)[20]:在下游任務(wù)中引入多任務(wù)學(xué)習(xí)機(jī)制
2)ERNIE 2.0 (百度)[21]:在預(yù)訓(xùn)練階段引入多任務(wù)學(xué)習(xí)
MTDNN是在下游任務(wù)引入多任務(wù)機(jī)制的,而ERNIE 2.0 是在預(yù)訓(xùn)練引入多任務(wù)學(xué)習(xí)(與先驗(yàn)知識(shí)庫(kù)進(jìn)行交互),使模型能夠從不同的任務(wù)中學(xué)到更多的語言知識(shí)。主要包含3個(gè)方面的任務(wù):word-aware 任務(wù):捕捉詞匯層面的信息;structure-aware 任務(wù):捕捉句法層面的信息;semantic-aware 任務(wù):捕捉語義方面的信息;主要的方式是構(gòu)建增量學(xué)習(xí)(后續(xù)可以不斷引入更多的任務(wù))模型,通過多任務(wù)學(xué)習(xí)持續(xù)更新預(yù)訓(xùn)練模型,這種連續(xù)交替的學(xué)習(xí)范式不會(huì)使模型忘記之前學(xué)到的語言知識(shí)。將3大類任務(wù)的若干個(gè)子任務(wù)一起用于訓(xùn)練,引入新的任務(wù)時(shí)會(huì)將繼續(xù)引入之前的任務(wù),防止忘記之前已經(jīng)學(xué)到的知識(shí),具體是一個(gè)逐漸增加任務(wù)數(shù)量的過程[22]: (task1)->(task1,task2)->(task1,task2,task3)->…->(task1,task2,…,taskN),Q14:針對(duì)BERT原生模型,后續(xù)的BERT系列模型是如何改進(jìn)【mask策略】的?
原生BERT模型:按照subword維度進(jìn)行mask,然后進(jìn)行預(yù)測(cè);BERT WWM(Google):按照whole word維度進(jìn)行mask,然后進(jìn)行預(yù)測(cè);ERNIE等系列:引入外部知識(shí),按照entity維度進(jìn)行mask,然后進(jìn)行預(yù)測(cè);SpanBert:不需要按照先驗(yàn)的詞/實(shí)體/短語等邊界信息進(jìn)行mask,而是采取隨機(jī)mask:采用Span Masking:根據(jù)幾何分布,隨機(jī)選擇一段空間長(zhǎng)度,之后再根據(jù)均勻分布隨機(jī)選擇起始位置,最后按照長(zhǎng)度mask;通過采樣,平均被遮蓋長(zhǎng)度是3.8 個(gè)詞的長(zhǎng)度;引入Span Boundary Objective:新的預(yù)訓(xùn)練目標(biāo)旨在使被mask的Span 邊界的詞向量能學(xué)習(xí)到 Span中被mask的部分;新的預(yù)訓(xùn)練目標(biāo)和MLM一起使用;注意:BERT WWM、ERNIE等系列、SpanBERT旨在隱式地學(xué)習(xí)預(yù)測(cè)詞(mask部分本身的強(qiáng)相關(guān)性)之間的關(guān)系[23],而在 XLNet 中,是通過 PLM 加上自回歸方式來顯式地學(xué)習(xí)預(yù)測(cè)詞之間關(guān)系;Q15:針對(duì)BERT原生模型,后續(xù)的BERT系列模型是如何進(jìn)行【精細(xì)調(diào)參】的?
RoBERTa(FaceBook)[24]
丟棄NSP,效果更好;動(dòng)態(tài)改變mask策略,把數(shù)據(jù)復(fù)制10份,然后統(tǒng)一進(jìn)行隨機(jī)mask;對(duì)學(xué)習(xí)率的峰值和warm-up更新步數(shù)作出調(diào)整;在更長(zhǎng)的序列上訓(xùn)練:不對(duì)序列進(jìn)行截短,使用全長(zhǎng)度序列;六、XLNet的內(nèi)核機(jī)制探究
在BERT系列模型后,Google發(fā)布的XLNet在問答、文本分類、自然語言理解等任務(wù)上都大幅超越BERT;XLNet的提出是對(duì)標(biāo)準(zhǔn)語言模型(自回歸)的一個(gè)復(fù)興[25],提出一個(gè)框架來連接語言建模方法和預(yù)訓(xùn)練方法。
Q16:XLNet[26]提出的背景是怎樣的?
對(duì)于ELMO、GPT等預(yù)訓(xùn)練模型都是基于傳統(tǒng)的語言模型(自回歸語言模型AR),自回歸語言模型天然適合處理生成任務(wù),但是無法對(duì)雙向上下文進(jìn)行表征,因此人們反而轉(zhuǎn)向自編碼思想的研究(如BERT系列模型);自編碼語言模型(AE)雖然可以實(shí)現(xiàn)雙向上下文進(jìn)行表征,但是:BERT系列模型引入獨(dú)立性假設(shè),沒有考慮預(yù)測(cè)[MASK]之間的相關(guān)性;MLM預(yù)訓(xùn)練目標(biāo)的設(shè)置造成預(yù)訓(xùn)練過程和生成過程不一致;預(yù)訓(xùn)練時(shí)的[MASK]噪聲在finetune階段不會(huì)出現(xiàn),造成兩階段不匹配問題;有什么辦法能構(gòu)建一個(gè)模型使得同時(shí)具有AR和AE的優(yōu)點(diǎn)并且沒有它們?nèi)秉c(diǎn)呢?Q17:XLNet為何如此有效:內(nèi)核機(jī)制分析
1)排列語言模型(Permutation LM,PLM)
如果衡量序列中被建模的依賴關(guān)系的數(shù)量,標(biāo)準(zhǔn)的LM可以達(dá)到上界,不像MLM一樣,LM不依賴于任何獨(dú)立假設(shè)。借鑒 NADE[27]的思想,XLNet將標(biāo)準(zhǔn)的LM推廣到PLM。
為什么PLM可以實(shí)現(xiàn)雙向上下文的建模?PLM的本質(zhì)就是LM聯(lián)合概率的多種分解機(jī)制的體現(xiàn);將LM的順序拆解推廣到隨機(jī)拆解,但是需要保留每個(gè)詞的原始位置信息(PLM只是語言模型建模方式的因式分解/排列,并不是詞的位置信息的重新排列?。┤绻闅v ! 種分解方法,并且模型參數(shù)是共享的,PLM就一定可以學(xué)習(xí)到各種雙向上下文;換句話說,當(dāng)我們把所有可能的! 排列都考慮到的時(shí)候,對(duì)于預(yù)測(cè)詞的所有上下文就都可以學(xué)習(xí)到了!由于遍歷 ! 種路徑計(jì)算量非常大(對(duì)于10個(gè)詞的句子,10!=3628800)。因此實(shí)際只能隨機(jī)的采樣!里的部分排列,并求期望;2)Two-Stream Self-Attention
如果采取標(biāo)準(zhǔn)的Transformer來建模PLM,會(huì)出現(xiàn)沒有目標(biāo)(target)位置信息的問題。問題的關(guān)鍵是模型并不知道要預(yù)測(cè)的到底是哪個(gè)位置的詞,從而導(dǎo)致具有部分排列下的PLM在預(yù)測(cè)不同目標(biāo)詞時(shí)的概率是相同的。
怎么解決沒有目標(biāo)(target)位置信息的問題?對(duì)于沒有目標(biāo)位置信息的問題,XLNet 引入了Two-Stream Self-Attention:Query 流就為了預(yù)測(cè)當(dāng)前詞,只包含位置信息,不包含詞的內(nèi)容信息;Content 流主要為 Query 流提供其它詞的內(nèi)容向量,包含位置信息和內(nèi)容信息;3) 融入Transformer-XL的優(yōu)點(diǎn)(具體見Q18)
Q18:Transformer-XL[28]怎么實(shí)現(xiàn)對(duì)長(zhǎng)文本建模?
BERT(Transformer)的最大輸入長(zhǎng)度為512,那么怎么對(duì)文檔級(jí)別的文本建模?vanilla model進(jìn)行Segment,但是會(huì)存在上下文碎片化的問題(無法對(duì)連續(xù)文檔的語義信息進(jìn)行建模),同時(shí)推斷時(shí)需要重復(fù)計(jì)算,因此推斷速度會(huì)很慢;Transformer-XL改進(jìn)對(duì)于每一個(gè)segment都應(yīng)該具有不同的位置編碼,因此Transformer-XL采取了相對(duì)位置編碼;前一個(gè)segment計(jì)算的representation被修復(fù)并緩存,以便在模型處理下一個(gè)新的segment時(shí)作為擴(kuò)展上下文resume;最大可能依賴關(guān)系長(zhǎng)度增加了N倍,其中N表示網(wǎng)絡(luò)的深度;解決了上下文碎片問題,為新段前面的token提供了必要的上下文;由于不需要重復(fù)計(jì)算,Transformer-XL在語言建模任務(wù)的評(píng)估期間比vanilla Transformer快1800+倍;引入recurrence mechanism(不采用BPTT方式求導(dǎo)):引入相對(duì)位置編碼方案:七、預(yù)訓(xùn)練語言模型的未來
上述的【預(yù)訓(xùn)練語言模型】主要從2大方面進(jìn)行介紹:一是總的對(duì)比;二是分別介紹單向語言模型、BERT系列模型、XLNet模型。
可以看出,未來【預(yù)訓(xùn)練語言模型】更多的探索方向主要為[25]:
復(fù)興語言模型:進(jìn)一步改進(jìn)語言模型目標(biāo),不斷突破模型的上界;大數(shù)據(jù)、大算力:將大數(shù)據(jù)、大算力推到極致;更快的推斷:輕量級(jí)模型是否有可能達(dá)到SOTA效果?引入更豐富的知識(shí)信息,更精細(xì)的調(diào)參,更有價(jià)值的MASK策略;統(tǒng)一條件生成任務(wù)框架,如基于XLNet統(tǒng)一編碼和解碼任務(wù),同時(shí)可考慮更快的解碼方式;參考文獻(xiàn)
[1] NLP將迎來黃金十年 https://www.msra.cn/zh-cn/news/executivebylines/tech-bylines-nlp
[2] a review of the recent history of nlp
[3] AIS:ACL2019進(jìn)展報(bào)告
[4] ACL 主席周明:一起擁抱 ACL 和 NLP 的光明未來
[5] 自然語言處理中的語言模型預(yù)訓(xùn)練方法 https://www.jiqizhixin.com/articles/2018-10-22-3
[6] ELMO:Deep contextualized word representations
[7] ULMFiT:Universal Language Model Fine-tuning)
[8] SiATL:An Embarrassingly Simple Approach for Transfer Learning from Pretrained Language Models
[9] BERT時(shí)代與后時(shí)代的NLP https://zhuanlan.zhihu.com/p/66676144
[10] GPT:Improving Language Understanding by Generative Pre-Training
[11] GPT2.0:Language Models are Unsupervised Multitask Learners
[12] Transformer:Attention is all you need
[13] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[14] Bert時(shí)代的創(chuàng)新(應(yīng)用篇):Bert在NLP各領(lǐng)域的應(yīng)用進(jìn)展 https://zhuanlan.zhihu.com/p/68446772
[15] MASS: Masked Sequence to Sequence Pre-training for Language Generation
[16] UNILM:Unified Language Model Pre-training for Natural Language Understanding and Generation
[17] ERNIE: Enhanced Representation through Knowledge Integration
[18] ERNIE: Enhanced Language Representation with Information Entities
[19] nndl:神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)
[20] MT-DNN:Multi-Task Deep Neural Net for NLU
[21] ERNIE 2.0: A CONTINUAL PRE-TRAINING FRAMEWORK FOR LANGUAGE UNDERSTANDING
[22]陳凱:
https://www.zhihu.com/question/337827682/answer/768908184
[23] SpanBert:對(duì) Bert 預(yù)訓(xùn)練的一次深度探索
[24] RoBERTa: A Robustly Optimized BERT Pretraining Approach
[25] ab他們創(chuàng)造了橫掃NLP的XLNet:專訪CMU博士楊植麟
[26] XLnet: Generalized Autoregressive Pretraining for Language Understanding
[27] Neural autoregressive distribution estimation
[28] Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
以上就是關(guān)于pos機(jī)器模型,15個(gè)預(yù)訓(xùn)練模型對(duì)比分析與剖析的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)器模型的知識(shí),希望能夠幫助到大家!
