今天分享一個(gè)論文UniLM[1],核心點(diǎn)是掌握三種LM任務(wù)形式:單向LM,雙向LM,序列到序列LM;
1. 生成任務(wù)
NLP任務(wù)大致可以分為NLU和NLG兩種;Bert在NLU任務(wù)上效果很好,但是天生不適合處理生成任務(wù)。
原因在于Bert的預(yù)訓(xùn)練過程是使用的MLM,和生成任務(wù)的目標(biāo)并不一致。
生成任務(wù)目標(biāo)是每次蹦出來一個(gè)詞,只能看到當(dāng)前位置之前的詞匯。
而Bert采用的是雙向的語言模型,除了mask的單詞,兩個(gè)方向的詞匯都可以被看到。
所以對(duì)Bert的一個(gè)改進(jìn)思路就是讓它在具有NLU能力的時(shí)候,同時(shí)兼?zhèn)銷LG能力。
2. 三種LM任務(wù)
UniLM做的就是這樣一個(gè)事情。
具體的實(shí)現(xiàn)方式是設(shè)計(jì)了一系列的完形填空任務(wù),這些完形填空任務(wù)的不同之處在于對(duì)上下文的定義。
從左到右的LM:使用mask單詞的左側(cè)單詞來預(yù)測(cè)被遮掩的單詞
從右到左的LM:和上面第一個(gè)相比就是方向的變化,使用mask單詞的右側(cè)單詞來預(yù)測(cè)遮掩的單詞
雙向LM:就是當(dāng)前mask的左右詞匯都可以看到
sequence-to-sequence LM:這個(gè)就是UniLM能夠具有生成能力的關(guān)鍵。我們的輸入是source句子和target句子,mask單詞在target上,那么當(dāng)前mask的上下文就是source句子的所有單詞和target句子中mask單詞左側(cè)的詞匯可以被看到
我們把從左到右LM和從右到左LM我們歸為一種任務(wù)叫單向LM;
有個(gè)點(diǎn)需要注意,三個(gè)任務(wù)是一起優(yōu)化的,具體來講是這樣做的:
在訓(xùn)練的時(shí)候,1/3的時(shí)候使用雙向LM,1/3的時(shí)候使用序列到序列 LM,1/6的時(shí)候使用從左到右的LM,1/6的時(shí)間使用從右到做的LM。
我們是使用不同的Mask矩陣來對(duì)應(yīng)不同任務(wù)輸入數(shù)據(jù)形式。
文中使用的是這樣一張圖來展示:
UniLM不同mask
3. 其他細(xì)枝末節(jié)
Gelu 激勵(lì)函數(shù)
24層TRM,最大長度512,1024Hidden Size,16Heads,340M參數(shù)量
初始化使用Bert Large
15%被mask,其中80%真正替換mask,10%隨機(jī)替換,10%不動(dòng)。替換的時(shí)候,80% 的時(shí)候替換單個(gè)token,20%的時(shí)候替換bigram 或者 trigram
第四個(gè)步驟類似中文實(shí)體詞的mask,也算是一點(diǎn)改進(jìn)。
有個(gè)細(xì)節(jié)點(diǎn)需要注意的是,作者強(qiáng)調(diào),不同的segment embedding用來區(qū)分不同LM任務(wù)。
Bert的時(shí)候,區(qū)分上下句子,我們使用0和1,在這里,我們使用這個(gè)segment embedding用來區(qū)分任務(wù):
比如說,雙向?qū)?yīng)0和1;單向left-right對(duì)應(yīng)2;單向right-left對(duì)應(yīng)3;序列對(duì)應(yīng)4和5;
4. 總結(jié)
掌握以下幾個(gè)細(xì)節(jié)點(diǎn)就可以:
聯(lián)合訓(xùn)練三種任務(wù):單向LM,雙向LM,序列LM
使用不同的attention矩陣控制三種任務(wù)形式的參與
segment embedding可以區(qū)分不同的任務(wù)形式
mask的時(shí)候15% 的有被替換的概率,其中80% 被真正替換。在這80%真正替換的里面有80%單個(gè)token被替換,20%的二元或者三元tokens被替換
[1]
Unified Language Model Pre-training for Natural Language Understanding and Generation: https://arxiv.org/pdf/1905.03197.pdf,
責(zé)任編輯:xj
原文標(biāo)題:如何讓BERT具有文本生成能力
文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
自然語言
+關(guān)注
關(guān)注
1文章
279瀏覽量
13295 -
nlp
+關(guān)注
關(guān)注
1文章
481瀏覽量
21935
原文標(biāo)題:如何讓BERT具有文本生成能力
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論