ICLR 2020|NLP預訓練模型的全新範式:對比學習

生成式模型有着其天生的優勢,即學習到豐富的特徵,但它也有廣受詬病的確定。判別式目標函數——長期以來被認爲是無用的。這是因爲,判別式模型通常不是直接擬合原有的分佈流形,學習到的特徵較爲單一。但是,最近一些工作的基於對比學習的自監督學習框架,表現十分出色。

生成式模型有着其天生的優勢,即學習到豐富的特徵,但它也有廣受詬病的確定。判別式目標函數——長期以來被認爲是無用的。這是因爲,判別式模型通常不是直接擬合原有的分佈流形,學習到的特徵較爲單一。但是,最近一些工作的基於對比學習的自監督學習框架,表現十分出色。

更多ICLR 2020 論文

長期以來,預訓練語言模型(PTM)專注於基於最大似然估計(MLE)的目標任務,也就是採用的“生成式模型(Generative Model)”。例如BERT的目標任務就是一個典型的MLE:

 

language1.jpg

 

生成式模型有着其天生的優勢,即學習到豐富的特徵。但是,它也有兩個廣受詬病的缺點:

1. 學習到過於敏感而保守的分佈:我們注意到,當p(x|m)趨近於零的時候,損失函數會趨近無窮大。這使得生成式模型對於稀有的樣本極度敏感,並且因此使其學習到的分佈變得保守

2. 目標的抽象層次低:注意到,目前的Masked Language Model的損失計算都是token-level的。然而,許多任務要求高層次的抽象理解,例如一個句子層面的語境理解。這是生成式的目標函數無法學習的

 

相比之下,另一個選擇——判別式目標函數——長期以來被認爲是無用的。這是因爲,判別式模型通常不是直接擬合原有的分佈流形,學習到的特徵較爲單一。但是,最近一些工作的基於對比學習的自監督學習框架,表現十分出色。在計算機視覺中,最出色的是He Kaiming組的MoCo和Hinton組的SimCLR,取得了逼近監督學習的特徵提取效果。在本屆ICLR 2020中,也有兩篇工作嘗試將判別式的對比學習目標函數作爲NLP預訓練的目標,並取得了出色的成績。

 

ELECTRA: Pre-training Text Encoders as Discriminators rather than Generators

ELECTRA在2019年就已經掛上了arxiv,並且收穫了大量的關注。這裏我們圍繞着其關鍵的、如何利用判別式目標的思想(正如其標題所說)來介紹它。

language2.png

相比起傳統的MLM(Masked Language Model)專注於訓練一個生成器,ELECTRA大膽地將目標轉移到判別器的訓練上。總的想法是:通過隨機替換原句中的token,然後用一個MLM來生成假的結果後,再讓判別器來判斷哪些結果MLM的生成是不符合原句的。

舉一個例子:the chef cooked the meal(主廚烹飪了一餐飯)這個原句,經過mask和generate後,cooked被替換爲ate,即“主廚吃了一餐飯”。雖然這個替換本身沒有語法錯誤,但是從語境上判斷,cooked顯然要和chef這個詞關係更緊密,更符合語境。我們的目標,就是希望判別器也能學習到這些句子、乃至段落層面的語境理解,從而判斷出ate是不恰當的替換。

值得注意的是,此處的生成器generator的MLM是一個小型的模型,而不能是BERT這樣大參數的模型。這是因爲,如果generator過於厲害,判別式模型就很難學好。

看到這裏,我們肯定還有一個問題:從generator到discriminator,這個過程是一個離散的過程,backpropagation會被阻斷!我們該怎麼解決這個問題?一個常見的方法,是利用策略梯度(policy gradient),正如強化學習是如何應對反向傳播阻斷的。但是,策略梯度實際應用中很不穩定。ELECTRA原文中的實驗也表明,策略梯度效果不佳。

爲了解決這個問題,作者提出了一個兩階段的訓練方案:

1. 預熱生成器(generator)模型:在generator上採用傳統的MLM目標訓練一定的步數

2. 訓練判別器(discriminator)模型:採用生成器模型的參數對判別器進行初始化,並凍結生成器模型的參數,使用判別式目標函數訓練判別器模型。

最終的目標函數可以寫成:

language3.png

即第一階段的MLM目標,和第二階段的判別式目標。

實驗結果表明,ELECTRA能夠在更少參數的情況下,取得和BERT匹敵的效果。這也充分證明了,判別式目標函數能夠學習到高抽象層次的特徵的同時,使用更少的參數。

 

language4.png

 

 


 

Pretrained Encyclopedia: Weakly Supervised Knowledge-pretrained Language Model

本文的目標和ELECTRA是類似的:我們希望語言模型能學習到更多高層次的抽象特徵,而不僅僅是token-level的特徵!如果我們將ELECTRA歸納爲Replaced Token Detection(RTD)的話,這一工作(簡寫爲WKLM),則是採用的Replaced Entity Detection,即利用維基百科,對entity進行替換,並設法讓模型能夠理解entity-level的特徵。這對於許多下游任務,尤其是知識要求高的任務,如語言問答,實體提取等等是有極大的幫助的。

language5.png

具體的訓練方式,和ELECTRA極爲類似。不過由於WKLM更像是對BERT進行一個增強的fine-tune,所以此處的MLM和判別式目標是同時一起訓練的,而非採用兩階段訓練的方法。

實驗結果表明,WKLM在諸多需要大量高層次知識的任務上,都取得了比傳統方法高許多的表現。這也再次證明:判別式目標是值得衆多自監督學習和無監督學習研究者們關注的方法,其對高層次抽象特徵的學習能力值得我們關注。

language6.png

 

language7.png

 

更多ICLR論文話題,可通過微信“Moonnn01”加入ICLR 2020 交流羣討論。

 

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