分類目錄:《自然語(yǔ)言處理從入門到應(yīng)用》總目錄
相關(guān)文章:
· 預(yù)訓(xùn)練模型總覽:從宏觀視角了解預(yù)訓(xùn)練模型
· 預(yù)訓(xùn)練模型總覽:詞嵌入的兩大范式
· 預(yù)訓(xùn)練模型總覽:兩大任務(wù)類型
· 預(yù)訓(xùn)練模型總覽:預(yù)訓(xùn)練模型的拓展
· 預(yù)訓(xùn)練模型總覽:遷移學(xué)習(xí)與微調(diào)
· 預(yù)訓(xùn)練模型總覽:預(yù)訓(xùn)練模型存在的問題
從大量無(wú)標(biāo)注數(shù)據(jù)中進(jìn)行預(yù)訓(xùn)練使許多自然語(yǔ)言處理任務(wù)獲得顯著的性能提升??偟膩砜?,預(yù)訓(xùn)練模型的優(yōu)勢(shì)包括:
- 在龐大的無(wú)標(biāo)注數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練可以獲取更通用的語(yǔ)言表示,并有利于下游任務(wù)
- 為模型提供了一個(gè)更好的初始化參數(shù),在目標(biāo)任務(wù)上具備更好的泛化性能、并加速收斂
- 是一種有效的正則化手段,避免在小數(shù)據(jù)集上過擬合,而一個(gè)隨機(jī)初始化的深層模型容易對(duì)小數(shù)據(jù)集過擬合
下圖就是各種預(yù)訓(xùn)練模型的思維導(dǎo)圖,其分別按照詞嵌入(Word Embedding)方式分為靜態(tài)詞向量(Static Word Embedding)和動(dòng)態(tài)詞向量(Dynamic Word Embedding)方式分類、按照監(jiān)督學(xué)習(xí)和自監(jiān)督學(xué)習(xí)方式進(jìn)行分類、按照拓展能力等分類方式展現(xiàn):
思維導(dǎo)圖可編輯源文件下載地址:https://download.csdn.net/download/hy592070616/87954682
預(yù)訓(xùn)練模型按照任務(wù)類型可分為2大類:監(jiān)督學(xué)習(xí)和自監(jiān)督學(xué)習(xí)兩類。監(jiān)督學(xué)習(xí)在預(yù)訓(xùn)練模型中的主要代表就是CoVe,CoVe作為機(jī)器翻譯的Encoder部分可以應(yīng)用于多種NLP下游任務(wù)。除了CoVe外,NLP中的絕大多數(shù)預(yù)訓(xùn)練模型都屬于自監(jiān)督學(xué)習(xí)。自監(jiān)督學(xué)習(xí)實(shí)際是無(wú)監(jiān)督學(xué)習(xí)的一種方法,自監(jiān)督學(xué)習(xí)主要是利用輔助任務(wù)從大規(guī)模的無(wú)監(jiān)督數(shù)據(jù)中挖掘自身的監(jiān)督信息,通過這種構(gòu)造的監(jiān)督信息對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而可以學(xué)習(xí)到對(duì)下游任務(wù)有價(jià)值的表征。因此,從“構(gòu)造監(jiān)督信息”這個(gè)角度來看,自監(jiān)督也可看作是監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)的一種融合。嚴(yán)格地講,從是否由人工標(biāo)注來看,自監(jiān)督學(xué)習(xí)屬于無(wú)監(jiān)督學(xué)習(xí)的范疇。綜合各種自監(jiān)督學(xué)習(xí)的分類方式,我們可以將預(yù)訓(xùn)練模型在自監(jiān)督學(xué)習(xí)中分為兩種類型:基于上下文(Context Based)和基于對(duì)比(Contrastive Based)。
基于上下文(Context Based)的預(yù)訓(xùn)練模型
基于上下文的預(yù)訓(xùn)練模型主要基于數(shù)據(jù)本身的上下文信息構(gòu)造輔助任務(wù),在NLP中我們通常引入語(yǔ)言模型作為訓(xùn)練目標(biāo)。預(yù)訓(xùn)練模型中的語(yǔ)言模型主要分為三大類:
模式 | 語(yǔ)言模型類型 | 優(yōu)點(diǎn) | 缺點(diǎn) |
---|---|---|---|
LM | 自回歸語(yǔ)言模型 | 語(yǔ)言模型聯(lián)合概率的無(wú)偏估計(jì),考慮被預(yù)測(cè)單詞之間的相關(guān)性,適合生成任務(wù) | 按照文本序列順序拆解(從左至右分解),無(wú)法獲取雙向上下文信息表征 |
DAE | 自編碼語(yǔ)言模型 | 本質(zhì)為降噪自編碼(DAE)特征表示,通過引入噪聲[MASK] 構(gòu)建MLM獲取雙向上下文信息表征 |
引入獨(dú)立性假設(shè),為語(yǔ)言模型聯(lián)合概率的有偏估計(jì),沒有考慮預(yù)測(cè)token之間的相關(guān)性;預(yù)訓(xùn)練時(shí)的[MASK] 噪聲在微調(diào)不會(huì)出現(xiàn),造成兩階段不匹配問題 |
PLM | 排列語(yǔ)言模型 | 綜合了LM和DAE兩者的優(yōu)點(diǎn) | 收斂速度較慢; XLNet對(duì)于多種排列方式隨機(jī)采樣,并僅預(yù)測(cè)了排列后序列的最后幾個(gè)token |
自回歸語(yǔ)言模型(LM): p ( x 1 : T ) = ∏ t = 1 T p ( x t ∣ x 0 : t ? 1 ) p(x_{1:T})=\prod_{t=1}^Tp(x_t|x_{0:t-1}) p(x1:T?)=∏t=1T?p(xt?∣x0:t?1?)
- 優(yōu)點(diǎn):語(yǔ)言模型(Language Model,LM)聯(lián)合概率的無(wú)偏估計(jì),即為傳統(tǒng)的語(yǔ)言模型,考慮被預(yù)測(cè)單詞之間的相關(guān)性,天然適合處理自然生成任務(wù)
- 缺點(diǎn):聯(lián)合概率按照文本序列順序拆解(從左至右分解),無(wú)法獲取雙向上下文信息表征
- 代表模型:ELMO、GPT-1、GPT-2、ULMFiT、SiATL
自編碼語(yǔ)言模型(DAE): p ( x 1 : T ) ≈ ∑ t = 1 T m t log ? p ( x t ∣ x ~ ) p(x_{1:T})\approx\sum_{t=1}^Tm_t\log p(x_t|\tilde{x}) p(x1:T?)≈∑t=1T?mt?logp(xt?∣x~)
BERT是自編碼語(yǔ)言模型的一個(gè)典型代表,但其采用的MLM策略和Transformer Encoder結(jié)構(gòu),導(dǎo)致其不適合直接處理生成任務(wù)。為了解決這一問題,也可采用基于Seq2Seq MLM方法:Encoder部分采取masked策略,而Decoder部分以自回歸的方式預(yù)測(cè)Encoder部分被masked的token。此外,還有很多基于自編碼語(yǔ)言模型的預(yù)訓(xùn)練模型提出了不同的MLM增強(qiáng)策略,稱之為 Enhanced Masked Language Modeling(E-MLM)。
- 優(yōu)點(diǎn):
- 本質(zhì)為降噪自編碼(DAE)特征表示,通過引入噪聲
[MASK]
構(gòu)建MLM(Masked Language Model),獲取雙向上下文信息表征(DAE旨在采用部分損壞的輸入,期望在恢復(fù)原始的未失真輸入,故自編碼語(yǔ)言模型MLM也可以視為DAE的一種) - 如果當(dāng)前token被預(yù)測(cè),則 m t = 1 m_t=1 mt?=1,否則 m t = 0 m_t=0 mt?=0 , x ~ \tilde{x} x~為原始文本被替換后的輸入
- 本質(zhì)為降噪自編碼(DAE)特征表示,通過引入噪聲
- 缺點(diǎn):
- 引入獨(dú)立性假設(shè),為語(yǔ)言模型聯(lián)合概率的有偏估計(jì),沒有考慮預(yù)測(cè)token之間的相關(guān)性
- 預(yù)訓(xùn)練時(shí)的
[MASK]
噪聲在微調(diào)階段不會(huì)出現(xiàn),造成兩階段不匹配問題,為解決這一問題,在15%被預(yù)測(cè)的token中,80%被替換為[MASK]
,10%被隨機(jī)替換,10%被替換為原詞。
- 代表模型:BERT、MASS、T5、RoBERTa、UniLM、XLM、SpanBERT、ERNIE-Baidu、E-BERT、ERNIE-THU、BART。
排列語(yǔ)言模型(PLM)
排列語(yǔ)言模型(Permuted Language Model,PLM)綜合了LM和DAE兩者的優(yōu)點(diǎn)。嚴(yán)格來講,PLM和LM是標(biāo)準(zhǔn)的自回歸語(yǔ)言模型(PLM是一種廣義的自回歸方法),而MLM不是一個(gè)標(biāo)準(zhǔn)的語(yǔ)言模型,其引入獨(dú)立性假設(shè),隱式地學(xué)習(xí)預(yù)測(cè)token(mask部分本身的強(qiáng)相關(guān)性)之間的關(guān)系。如果衡量序列中被建模的依賴關(guān)系的數(shù)量,標(biāo)準(zhǔn)的自回歸語(yǔ)言模型可以達(dá)到上界,不依賴于任何獨(dú)立假設(shè)。LM和PLM能夠通過自回歸方式來顯式地學(xué)習(xí)預(yù)測(cè)token之間的關(guān)系。然而,LM無(wú)法對(duì)雙向上下文進(jìn)行表征,而PLM將這種傳統(tǒng)的自回歸語(yǔ)言模型(LM)進(jìn)行推廣,將順序拆解變?yōu)殡S機(jī)拆解(從左至右分解),產(chǎn)生上下文相關(guān)的雙向特征表示。PLM最為典型的代表就是XLNet,這是對(duì)標(biāo)準(zhǔn)語(yǔ)言模型的一個(gè)復(fù)興:提出一個(gè)框架來連接標(biāo)準(zhǔn)語(yǔ)言模型建模方法和預(yù)訓(xùn)練方法。PLM的本質(zhì)就是語(yǔ)言模型聯(lián)合概率的多種分解機(jī)制的體現(xiàn),其將LM的順序拆解推廣到隨機(jī)拆解。PLM沒有改變?cè)嘉谋拘蛄械淖匀晃恢茫皇嵌x了token預(yù)測(cè)的順序。PLM只是針對(duì)語(yǔ)言模型建模不同排列下的因式分解排列,并不是詞的位置信息的重新排列。
下表是上述三類語(yǔ)言模型的總結(jié):
模型 | 語(yǔ)言模型 | 編碼器 | 特點(diǎn) |
---|---|---|---|
ELMo | LM | LSTM | 2個(gè)單向語(yǔ)言模型(前向和后向)的拼接 |
ULMFiT | LM | LSTM | 引入逐層解凍解決微調(diào)中的災(zāi)難性問題 |
SiATL | LM | LSTM | 引入逐層解凍+輔助LM解決微調(diào)中的遺忘問題 |
GPT-1 | LM | Transformer-Decoder | 首次將Transformer應(yīng)用于預(yù)訓(xùn)練語(yǔ)言模型 |
GPT-2 | LM | Transformer-Decoder | 沒有特定模型的微調(diào)流程,生成任務(wù)取得很好效果 |
BERT | DAE(MLM) | Transformer-Encoder | MLM獲取上下文相關(guān)的雙向特征表示 |
MASS / T5 | DAE(Seq2SeqMLM) | Transformer | 統(tǒng)一為類似Seq2Seq的預(yù)訓(xùn)練框架來改進(jìn)BERT生成任務(wù) |
UNILM | DAE(E-MLM) | Transformer-Encoder | 通過3個(gè)mask矩陣改進(jìn)BERT生成任務(wù) |
RoBERTa | DAE(E-MLM) | Transformer-Encoder | 預(yù)訓(xùn)練過程中采用動(dòng)態(tài)mask |
XLM | DAE(E-MLM) | Transformer-Encoder | 在翻譯語(yǔ)言模型的平行語(yǔ)料上執(zhí)行MLM |
SpanBERT | DAE(E-MLM) | Transformer-Encoder | 采用random span mask和span boundary objective2個(gè)預(yù)訓(xùn)練目標(biāo) |
ENRIE-BAIDU | DAE(E-MLM) | Transformer-Encoder | mask實(shí)體和短語(yǔ),2.0版本引入多任務(wù)進(jìn)行增量學(xué)習(xí) |
ENRIE-THU / E-BERT | DAE(E-MLM) | Transformer-Encoder | 引入知識(shí):將實(shí)體向量與文本表示融合 |
BART | DAE | Transformer | 采用Seq2Seq框架和5中DAE方法 |
XLNET | DAE(PLM) | Transformer-XL | 雙向上下文表征和雙注意力流 |
基于對(duì)比(Contrastive Based)的預(yù)訓(xùn)練模型
基于對(duì)比(Contrastive Based)的預(yù)訓(xùn)練模型不同于基于上下文(Context Based)的預(yù)訓(xùn)練模型通過數(shù)據(jù)本身的上下文信息構(gòu)造輔助任務(wù),基于對(duì)比的預(yù)訓(xùn)練模型主要是利用樣本間的約束信息構(gòu)造輔助任務(wù),這類方法也稱為對(duì)比學(xué)習(xí)(Contrastive learning,CTL)。對(duì)比學(xué)習(xí)假設(shè)觀察到的文本對(duì)(正樣本)在語(yǔ)義上比隨機(jī)采樣的文本(負(fù)樣本)更相似。對(duì)比學(xué)習(xí)背后的原理是在對(duì)比中學(xué)習(xí)。相較于語(yǔ)言建模,對(duì)比學(xué)習(xí)的計(jì)算復(fù)雜度更低,因而在預(yù)訓(xùn)練中是理想的替代訓(xùn)練標(biāo)準(zhǔn)。
對(duì)比學(xué)習(xí)通過構(gòu)建正樣本和負(fù)樣本,然后度量正負(fù)樣本的距離來實(shí)現(xiàn)自監(jiān)督學(xué)習(xí)??梢允褂命c(diǎn)積的方式構(gòu)造距離函數(shù),然后構(gòu)造一個(gè)Softmax 分類器,以正確分類正樣本和負(fù)樣本。鼓勵(lì)相似性度量函數(shù)將較大的值分配給正例,將較小的值分配給負(fù)例:
L
N
=
?
E
x
,
y
+
,
y
?
?
[
log
?
exp
?
(
s
(
x
,
y
+
)
)
exp
?
(
s
(
x
,
y
+
)
)
+
∑
j
=
1
N
?
1
exp
?
(
(
s
(
x
,
y
j
?
)
)
)
]
L_N = -E_{x, y^+, y*-}[\log\frac{\exp{(s(x, y^+))}}{\exp{(s(x, y^+))+\sum_{j=1}^{N-1}\exp((s(x,y_j^-)))}}]
LN?=?Ex,y+,y???[logexp(s(x,y+))+∑j=1N?1?exp((s(x,yj??)))exp(s(x,y+))?]
相似性度量函數(shù)通??刹扇煞N方式: s ( x , y ) = f enc ( x ) T f enc ( x ) s(x, y)=f_{\text{enc}(x)}^Tf_{\text{enc}(x)} s(x,y)=fenc(x)T?fenc(x)?或 s ( x , y ) = f enc ( x ? y ) s(x, y)=f_{\text{enc}}(x\bigoplus y) s(x,y)=fenc?(x?y)
Deep InfoMax (DIM)
DIM 方法來源于計(jì)算機(jī)視覺領(lǐng)域,對(duì)于全局的特征(編碼器最終的輸出)和局部特征(編碼器中間層的特征),DIM需要判斷全局特征和局部特征是否來自同一圖像。InfoWord將DIM引入到NLP中,用Mutual Information的一個(gè)下界InfoNCE來重新解釋BERT和XLNET的objective,并提出一個(gè)新的DIM objective以最大化一個(gè)句子的global representation和其中一個(gè)n-gram的local representation之間的Mutual Information。
Replaced Token Detection(RTD)
噪聲對(duì)比估計(jì)(Noise-Contrastive Estimation,NCE)通過訓(xùn)練一個(gè)二元分類器來區(qū)分真實(shí)樣本和假樣本,可以很好的訓(xùn)練詞嵌入。RTD與NCE相同,根據(jù)上下文語(yǔ)境來預(yù)測(cè)token是否替換 。word2vec中的negative sampling可看作是RTD,負(fù)樣本從詞表中進(jìn)行帶權(quán)采樣。ELECTRA提出了一種新的預(yù)訓(xùn)練任務(wù)框架,構(gòu)建生成器—判別器,生成器通過MLM任務(wù)對(duì)被mask的token進(jìn)行預(yù)測(cè),迭代器判斷原始句子中的每個(gè)token是否被替代過。生成器相當(dāng)于對(duì)輸入進(jìn)行了篩選,使判別器的任務(wù)更難,從而學(xué)習(xí)到更好的表示。生成器—判別器共享embedding,生成器部分采用small-BERT,判別器部分對(duì)每一個(gè)token采用sigmoid計(jì)算loss。微調(diào)階段只采用判別器部分。RTD也被看作解決MLM中[MASK]
在預(yù)訓(xùn)練和微調(diào)間差異的一種手段。WKLM在實(shí)體層進(jìn)行替換,替換為具有相同實(shí)體類型的實(shí)體名稱。
Next Sentence Prediction (NSP)
NSP 區(qū)分兩個(gè)輸入句子是否為訓(xùn)練語(yǔ)料庫(kù)中的連續(xù)片段,第二個(gè)句子50%為第一句子實(shí)際的連續(xù)片段,50%從其他語(yǔ)料隨機(jī)選擇。NSP可以引導(dǎo)模型理解兩個(gè)輸入句子之間的關(guān)系,從而使對(duì)此信息敏感的下游任務(wù)受益,如QA任務(wù)。而RoBERTa表明:NSP在對(duì)單個(gè)文檔中的文本塊進(jìn)行訓(xùn)練時(shí),去除NSP任務(wù)或在下游任務(wù)上可以稍微提高性能。
Sentence Order Prediction(SOP)
SOP 使用同一文檔中的兩個(gè)連續(xù)片段作為正樣本,而相同的兩個(gè)連續(xù)片段互換順序作為負(fù)樣本。NSP融合了主題預(yù)測(cè)和相關(guān)性預(yù)測(cè),主題預(yù)測(cè)更容易,這使得模型進(jìn)行預(yù)測(cè)時(shí)僅依賴于主題學(xué)習(xí)。與NSP不同,SOP使用同一文檔中的兩個(gè)連續(xù)段作為正樣本,但順序互換為負(fù)樣本。采取SOP任務(wù)的PTMs有ALBERT、StructBERT、BERTje等。
下表是對(duì)上述四類預(yù)訓(xùn)練模型的總結(jié):文章來源:http://www.zghlxwxcb.cn/news/detail-517633.html
基于對(duì)比的方法 | 特點(diǎn) | 預(yù)訓(xùn)練模型 |
---|---|---|
DIM:Deep InfoMax | 最大化全局特征和局部特征間的互信息 | InfoWord |
RTD:Replaced Token Detection | 根據(jù)上下文語(yǔ)境來預(yù)測(cè)token是否替挨 | word2vec-ns / ELECTRA / WKLM |
NSP:Next Sentence Prediction | 區(qū)分兩個(gè)輸入句子是否為語(yǔ)料庫(kù)中的連續(xù)片段 | BERT / UniLM |
SOP:Sentence Order Prediction | 相關(guān)性預(yù)測(cè),將兩個(gè)連續(xù)片段互換順序 | ALBERT / StructBERT / BERTje |
參考文獻(xiàn):
[1] QIU XIPENG, SUN TIANXIANG, XU YIGE, et al. Pre-trained models for natural language processing: A survey[J]. 中國(guó)科學(xué):技術(shù)科學(xué)(英文版),2020.文章來源地址http://www.zghlxwxcb.cn/news/detail-517633.html
到了這里,關(guān)于自然語(yǔ)言處理從入門到應(yīng)用——預(yù)訓(xùn)練模型總覽:兩大任務(wù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!