ALBERT 與ELECTRA,小排量的大飛機

前言

隨着BERT的橫空出世,目前越來越多優秀的預訓練語言模型涌現出來,學習的步伐跟不上發展的速度。
BERT 剛出來時,感覺,可預期的時間內,只要預訓練目標任務足夠好,相信效果會有更進一步提升。

預訓練語言模型

名稱 特點 機構
ELMO 自迴歸語言模型,雙層BiLSTM AllenNLP
BERT 自編碼語言模型,Transformer 谷歌
GPT,GPT 2.0 自迴歸,Transformer OpenAI
ERINE 結合知識圖譜的BERT 百度
MASS 聯合訓練encoder和decoder的模型 微軟
XLNet 排列語言模型,Transformer XL CMU & 谷歌
RoBERTa 對比BERT,數據質量更優,剔除下一句預測任務 Facebook
SG-Net 融入句法結構的BERT 上海交通大學
ALBERT Embedding因式分解,跨層的參數共享,移除dropout,參數量相比於BERT下降了一個數量級(Base 110M->11M) 谷歌
T5 整個 NLP 預訓練模型領域提供了一個通用框架 ,以及預訓練語料C4 谷歌
ELECTRA 把生成式的Masked language model(MLM)預訓練任務改成了判別式的Replaced token detection(RTD)任務,判斷當前token是否被語言模型替換過。 斯坦福

近期兩篇

下面分享最新的學術界兩篇論文,他們有共同點:對比於BERT參數量少了一個量級,但是效果卻反而提升了

ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators

ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS

1.ELECTRA

摘要(原文)

雖然像BERT這樣的MASK語言建模(MLM)預訓練方法在下游的NLP任務上產生了很好的結果,但是它們需要大量的計算纔能有效。這些方法通過用[MASK]替換一些Token來破壞輸入,然後訓練一個模型來重構Token。作爲一種替代方案,我們提出了一種更具效率的預訓練,稱爲Replaced token detection(RTD)判斷當前詞是否被替換了。我們的方法不是屏蔽輸入,而是用從小型GAN中提取的plausible alternatives sampled替換一些輸入Token,從而破壞輸入。然後,我們不是訓練一個模型來預測[MASK],而是訓練一個判別模型來[MASK]輸入中的每個Token是否被生成器樣本替換。實驗表明,這種預訓練模型更有效,因爲它從所有的輸入中學習,而不是僅僅從[MASK]中。結果,在相同的模型大小、數據和計算條件下,通過我們的方法學習的上下文表示大大優於通過BERT和XLNet等方法學習的上下文表示。例如,我們在一個GPU上訓練一個模型4天,該模型在GLUE自然語言理解基準上的性能優於GPT(使用30倍以上的計算進行訓練)。我們的方法在規模上也很有效,我們使用不到1/4的計算,就可以達到RoBERTa的性能。

  • 14M參數就能達到RoBERTa 的效果,訓練語料更少,速度更快
  • 33M參數在GLUE很多任務上超過RoBERT和ALBERT,GLUE 榜單上還沒有,所以很多比較結果不全
  • 尚未開源,斯坦福的個性,coming soon
MNLI QQP
XLNet 89.8 91.8
RoBERTa 90.2 92.2
ALBERT 88 *
T5 92 90.2
ELECTRA 90.5 92.4

1.1GAN的引入

GAN在CV中大火,但是在NLP中卻一直差點意思,效果不是很突出。這篇文章一個突出貢獻就是將GAN引入到預訓練語言模型中,並且取得了SOTA(state of the art)的效果。

Replaced Token Detection(RTD)

RTD

1.1.1Generator 生成器

通過對MASK後的句子生成樣本,這裏使用的是MLM(maximum likelihood),而不是使用的 Adversarially。因爲NLP和CV的差異性

1.1.2Discriminator 判別器

通過序列標註的方法,判斷當前詞是否是原文(original,replaced)

  • GAN生成的都是假的,但是該文的G會生成真實樣本(部分詞彙真實)
  • 梯度不能從D傳到G,所以該文使用強化學習的方法來訓練G

1.2權重共享

  • 正常情況下,Generator 和Discriminator 使用相同的大小,但是 實驗表明,Generator 更小效果會好點。

  • Generator 和Discriminator 只是對於 token embeddings 進行共享,如果將所有權重共享效果反而會差點。

1.3Smaller Generators

  • 實驗表明,Generator的大小爲 Discriminator 1/4~1/2效果最好,作者假設,Generator太大會給Discriminator 造成困擾。

1.4Training Algorithms

  • 將Generator 和Discriminator 進行聯合訓練

  • Train only the generator with MLM for n steps.
    開始只訓練通過MLM去訓練Generator

  • Initialize the weights of the discriminator with the weights of the generator. Then train the discriminator with Disc for n steps, keeping the generator’s weights frozen.
    然後用Generator 的參數去初始化 Discriminator,通過Disc 去訓練Discriminator 同時凍結 Generator 的參數

1.5 contrastive learning(對比學習)

  • 通過對比學習方法來區分虛構的負樣本與正樣本
  • 本文算是 contrastive learning 與GANs的一種結合

2.ALBERT

Other

參考

ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators
ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS
XLNet: Generalized Autoregressive Pretraining for Language Understanding
T5:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章