「NLP」NLP的12種後BERT預訓練方法

來源 : 深度學習自然語言處理

學校:北京航空航天大學

研究方向:自然語言處理


目錄


1. RoBERTa

2. ERNIE

3. ERNIE 2.0

4. XLMs

5. MASS

6. UNILM

7. CMLM

8. ELECTRA

9. SpanBERT

10. ALBERT

11. MT-DNN

12. XLENET


1. RoBERTa


論文:A Robustly Optimized BERT Pretraining Approach.

在更長的句子上訓練,動態更改mask的模式。


2. ERNIE


論文:Enhanced Representation through Knowledge Integration.

使用NLP的工具來識別短語和實體,包括3種層級的Masking:基本、phrase和entity。依次對基於基本級別、短語級別、實體級別分別進行mask訓練。對於對話數據,還訓練了Dialogue LM。使用Q和R標記query和response。

與BERT 的對比圖如下:

「NLP」NLP的12種後BERT預訓練方法


3. ERNIE 2.0


論文:A Continual Pre-training Framework for Language

Understanding.

其框架如下:

「NLP」NLP的12種後BERT預訓練方法

構造多個無監督任務來學習詞法、句法和語義的信息;且通過增量的方式進行多任務學習,引入新任務後,並不是只使用新的任務來訓練,而是通過多任務學習同時學習之前的任務和新增加的任務,這樣既要學習新的信息的同時也不能忘記老的信息。多個無監督任務包括:

  • 詞法任務:Word、phrase、entity級別的mask;預測一個詞是否首字母大小的任務;預測當前詞是否出現在其他文檔裡
  • 句法任務:把一個段落切分成1到m個段,隨機打散,讓模型來恢復;兩個句子距離的任務,對於兩個句子有三種關係:前後相鄰,不相鄰但是屬於同一個文檔,屬於不同的文檔
  • 語義任務:預測兩個句子的語義和修辭關係;利用搜索引擎的數據,給定query和搜索結果,預測兩個句子是強相關,弱相關和完全不相關

這幾篇文章都是對 BERT 模型的 Pretraining 階段的 Mask 進行了不同方式的改進,但是對於 BERT 模型本身(基於 Mask LM 的 Pretraining、Transformer 模型和 Fine-tuning)沒有做任何修改。


4. XLMs


論文:Cross-lingual Language Model Pretraining.

跨語言版的bert,使用兩種預訓練方法:

  1. 基於單語種語料的無監督學習
  2. 基於跨語言的平行語料的有監督學習

具體實現使用了幾種策略:shared sub-word vocabulary、causal language modeling、masked language modeling、translation language modeling,如下圖所示:

「NLP」NLP的12種後BERT預訓練方法


5. MASS


論文:Masked Sequence to Sequence pre-training for language generation.

框架如下圖所示:

「NLP」NLP的12種後BERT預訓練方法

Bert只是用了transformer的encoder部分,其下游任務不適用於生成任務,提出聯合訓練encoder和decoder模型,訓練分為兩步。

  • Encoder:輸入為隨機mask掉連續部分token的句子,使用transformer對其進行編碼
  • Decoder:輸入為與encoder同樣的句子,但是mask掉的正好與encoder相反,使用attention機制訓練,但是隻預測encoder端被mask的單詞。該操作可以迫使decoder預測的時候更依賴於source端的輸入而不是前面預測出的token,防止誤差傳遞。

此外,還提出一個對於mask長度的超參數k,實驗表明k為句子長度的50%~70%模型效果最好。


6. UNILM


論文:UNIfied Language Model Pre-training for Natural Language Understanding and Generation.

框架如下圖所示:

「NLP」NLP的12種後BERT預訓練方法

預訓練了一個微調後可以同時用於自然語言理解和自然語言生成的下游任務模型,核心框架transformer,預訓練和目標結合了以下三個:

  • 單向語言模型(同ELMO/GPT),在做attention時只能mask其中一個方向的上下文
  • 雙向語言模型(同BERT),可以同時看到兩個方向的上下文
  • seq2seq語言模型,輸入為兩個片段S1和S2,encoder是雙向的,decoder是單向的,僅能attention到一個反向的token以及encoder的token




7. CMLM


論文:Cross-lingual masked language model.

即跨語言掩碼語言模型。對於無監督機器翻譯而言,跨語言預訓練模型XLM已被證實是有作用的,但是現有的工作中,預訓練模型的跨語言信息只是通過共享BPE空間得到。這樣得到的跨語言信號非常隱式,而且受限。CMLM可以將顯式的跨語言信息作為訓練信號,更好的訓練跨語言預訓練模型。方法分為3步:

  • 由n-gram向量推斷得到n-gram翻譯表。分別用兩種語言的單語語料通過fasttext訓練單語的n-gram向量,之後通過無監督跨語言詞向量的方法得到跨語言n-gram向量,並由兩種語言的n-gram向量相似度推斷得到兩種n-gram之間的翻譯表。
  • 在n-gram翻譯表的輔助下,用提出的新的訓練任務CMLM進行跨語言預訓練:隨機的mask掉n-gram的字符,在模型輸出端,讓其預測被mask掉的n-gram字符對應的幾個翻譯選項。由於n-gram BPE字符的長度與其對應的翻譯候選可能不一樣,為此藉助IBM Model 的思想進行改進。
  • 用預訓練的模型初始化翻譯模型得到的編碼器和解碼器,進行無監督機器翻譯模型的訓練。




8. ELECTRA


論文:Efficiently Learning an Encoder that Classifies Token Replacements Accurately.

提出了新的預訓練任務和框架,把生成式的Masked language model(MLM)預訓練任務改成了判別式的Replaced token detection(RTD)任務,判斷當前token是否被語言模型替換過。使用一個MLM的G-BERT來對輸入句子進行更改,然後給D-BERT去判斷哪個字被改過,如下:

「NLP」NLP的12種後BERT預訓練方法

生成器的訓練目標還是MLM(作者在後文也驗證了這種方法更好),判別器的目標是序列標註(判斷每個token是真是假),兩者同時訓練,但判別器的梯度不會傳給生成器。


9. SpanBERT


論文:SpanBERT:Improving Pre-training by Representing and Predicting Spans.

在跨度選擇任務(例如問答和共指解析)方面取得了實質性進展。訓練的方法主要是通過:

(1)掩碼連續隨機跨度,而不是隨機令牌。

(2)優化跨邊界目標(SBO),訓練跨度邊界表示以預測被屏蔽跨度的整個內容,而不依賴於其中的各個令牌表示。

「NLP」NLP的12種後BERT預訓練方法


10. ALBERT


論文:A Lite BERT For Self-Supervised Learning Of Language Representations.

試圖解決大部分預訓練模型訓練成本高,參數量巨大的問題。ALBERT為了減少模型參數主要有以下幾點:

  1. 詞嵌入參數因式分解;
  2. 隱藏層間參數共享

作者認為,詞向量只是記憶了相對少量的詞語的信息,更多的語義和句法等信息是由隱層記憶的,因此,他們認為,詞嵌入的維度可以不必與隱藏層的維度一致,可以通過降低詞嵌入的維度的方式來減少參數量。全連接層、注意力層的參數均是共享的,也就是ALBERT依然有多層的深度連接,但是各層之間的參數是一樣的

此外,為了提升模型性能,ALBERT提出了一種新的訓練任務:

句子間順序預測,是給模型兩個句子,讓模型去預測兩個句子的前後順序。


11. MT-DNN


論文:Multi-Task Deep Neural Networks for Natural Language Understanding

BERT的fine-tune是針對不同的任務在編碼層後面加上task-layer,而MT-DNN就是把所有任務fine-tune的步驟都拼到了一起。這裡根據輸出的不同將任務分成了四種。如下圖所示:

「NLP」NLP的12種後BERT預訓練方法


12. XLENET


論文:Net: Generalized Autoregressive Pretraining for Language Understanding.

結合了自迴歸和自編碼的優勢,仍遵循兩階段的過程,第一個階段是語言模型預訓練階段;第二階段是任務數據Fine-tuning階段,但是改動第一個階段,不像Bert那種帶Mask符號,而是採用排列組合的方式,借鑑自迴歸語言模型的方法預測下一個單詞。且採用了雙流自注意力機制。

「NLP」NLP的12種後BERT預訓練方法


The End


分享到:


相關文章: