今天分享一個論文UniLM[1],核心點是掌握三種LM任務形式:單向LM,雙向LM,序列到序列LM;
1. 生成任務
NLP任務大致可以分為NLU和NLG兩種;Bert在NLU任務上效果很好,但是天生不適合處理生成任務。
原因在于Bert的預訓練過程是使用的MLM,和生成任務的目標并不一致。
生成任務目標是每次蹦出來一個詞,只能看到當前位置之前的詞匯。
而Bert采用的是雙向的語言模型,除了mask的單詞,兩個方向的詞匯都可以被看到。
所以對Bert的一個改進思路就是讓它在具有NLU能力的時候,同時兼備NLG能力。
2. 三種LM任務
UniLM做的就是這樣一個事情。
具體的實現方式是設計了一系列的完形填空任務,這些完形填空任務的不同之處在于對上下文的定義。
從左到右的LM:使用mask單詞的左側單詞來預測被遮掩的單詞
從右到左的LM:和上面第一個相比就是方向的變化,使用mask單詞的右側單詞來預測遮掩的單詞
雙向LM:就是當前mask的左右詞匯都可以看到
sequence-to-sequence LM:這個就是UniLM能夠具有生成能力的關鍵。我們的輸入是source句子和target句子,mask單詞在target上,那么當前mask的上下文就是source句子的所有單詞和target句子中mask單詞左側的詞匯可以被看到
我們把從左到右LM和從右到左LM我們歸為一種任務叫單向LM;
有個點需要注意,三個任務是一起優化的,具體來講是這樣做的:
在訓練的時候,1/3的時候使用雙向LM,1/3的時候使用序列到序列 LM,1/6的時候使用從左到右的LM,1/6的時間使用從右到做的LM。
我們是使用不同的Mask矩陣來對應不同任務輸入數據形式。
文中使用的是這樣一張圖來展示:
UniLM不同mask
3. 其他細枝末節
Gelu 激勵函數
24層TRM,最大長度512,1024Hidden Size,16Heads,340M參數量
初始化使用Bert Large
15%被mask,其中80%真正替換mask,10%隨機替換,10%不動。替換的時候,80% 的時候替換單個token,20%的時候替換bigram 或者 trigram
第四個步驟類似中文實體詞的mask,也算是一點改進。
有個細節點需要注意的是,作者強調,不同的segment embedding用來區分不同LM任務。
Bert的時候,區分上下句子,我們使用0和1,在這里,我們使用這個segment embedding用來區分任務:
比如說,雙向對應0和1;單向left-right對應2;單向right-left對應3;序列對應4和5;
4. 總結
掌握以下幾個細節點就可以:
聯合訓練三種任務:單向LM,雙向LM,序列LM
segment embedding可以區分不同的任務形式
mask的時候15% 的有被替換的概率,其中80% 被真正替換。在這80%真正替換的里面有80%單個token被替換,20%的二元或者三元tokens被替換
[1]
Unified Language Model Pre-training for Natural Language Understanding and Generation: https://arxiv.org/pdf/1905.03197.pdf,
責任編輯:xj
原文標題:如何讓BERT具有文本生成能力
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
-
自然語言
+關注
關注
1文章
291瀏覽量
13407 -
nlp
+關注
關注
1文章
489瀏覽量
22117
原文標題:如何讓BERT具有文本生成能力
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
LM339能用LM324代替嗎
LM118-N/LM218-N/LM318-N運算放大器數據表
![<b class='flag-5'>LM</b>118-N/<b class='flag-5'>LM</b>218-N/<b class='flag-5'>LM</b>318-N運算放大器數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
LM101A/LM201A/LM301A運算放大器數據表
![<b class='flag-5'>LM</b>101A/<b class='flag-5'>LM</b>201A/<b class='flag-5'>LM</b>301A運算放大器數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
LM118、LM218和LM318精密、快速運算放大器數據表
![<b class='flag-5'>LM</b>118、<b class='flag-5'>LM</b>218和<b class='flag-5'>LM</b>318精密、快速運算放大器數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
LM321LV、LM358LV、LM324LV運算放大器數據表
![<b class='flag-5'>LM</b>321LV、<b class='flag-5'>LM</b>358LV、<b class='flag-5'>LM</b>324LV運算放大器數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
LM339、LM239、LM139、LM2901 四路差分比較器數據表
有關LM3914N和LM3914N-1應用的疑問
1A降壓穩壓器LM1575/LM2575/LM2575HV數據表
![1A降壓穩壓器<b class='flag-5'>LM</b>1575/<b class='flag-5'>LM</b>2575/<b class='flag-5'>LM</b>2575HV數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論