這是一篇還在雙盲審的論文,不過看了之后感覺作者真的是很有創新能力,ELECTRA可以看作是開辟了一條新的預訓練的道路,模型不但提高了計算效率,加快模型的收斂速度,而且在參數很小也表現的非常好。
論文:ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS
ELECTRA全稱為Efficiently Learning an Encoder that Classifies Token Replacements Accurately 。論文中提出了一個新的任務—replaced token detection,簡單來說該任務就是預測預訓練語言模型生成的句子中哪些token是原本句子中的,哪些是由語言模型生成的。
模型的整個結構如下:
整個訓練模式有點類似於GAN,模型由一個生成器和一個判別器組成的,這個判別器就是我們最終使用的預訓練模型,生成器可以采用任何形式的生成模型,在這里作用采用了MLM語言模型(bert之類的)來作為生成器,具體流程如下:
1)首先對一個距離mask一些詞,將這個mask后的句子作為生成器的輸入。
2)生成器將這些mask的詞預測成vocab中的token,如上面將painting mask后輸入到生成器中,然后生成器重構輸入,將mask預測成car。
3)將生成器的輸出作為判別器的輸入,判別器去預測這個句子中的每個token是真實的token,還是由生成器生成的虛假的token,注意:如果生成器生成的詞和真實詞一致,則當作真實的token,例如上面講the mask后生成器仍預測為the,則the在判別器中也是真實值,標簽為正。
模型的整個流程確定了,剩下的就是該怎么訓練了,在這里訓練方式和GAN並不相同,在GAN中會將判別器的結果作為訓練生成器的損失,但由於NLP中句子是離散的,因此無法通過梯度下降的方式來將判別器的結果反向傳播來訓練生成器,因此在這里作者將MLM損失作為生成器的損失,而將replaced token detection的損失作為判別器的損失,具體損失函數如下:
生成器的損失:
生成器的損失就是MLM語言模型中預測mask詞的損失。