预训练生成模型:结合VAE与BERT/GPT-2提高文本生成效果
論文標題:
Optimus: Organizing Sentences via Pre-trained Modeling of a Latent Space
論文作者:
Chunyuan Li, Xiang Gao, Yuan Li, Xiujun Li, Baolin Peng, Yizhe Zhang, Jianfeng Gao
論文鏈接:
https://arxiv.org/abs/2004.04092
代碼鏈接:
https://github.com/ChunyuanLI/Optimus
本文提出首個大規模預訓練生成模型OPTIMUS,在VAE之上進行預訓練,既利用了預訓練的優勢,又利用了生成模型在文本生成上的優勢,可以輕松擴展到各類文本生成任務上。
在語言模型、受控文本生成、語言理解等任務上,OPTIMUS都取得了顯著的效果。
背景:生成式模型與隱變量模型
文本生成任務就是要求模型生成一段文本,這可以分為兩類:給定了輸入和沒給定輸入。這二者都可以形式化為,其中為空,如果沒有給定輸入。在自然語言處理中,我們把這種生成文本的模型叫做生成式模型。
生成式模型在過去的幾年里大都基于Transformer,比如GPT,BERT的變體等,這類模型直接去優化條件概率。我們把這類模型稱為典型生成式模型。
但是,在諸多生成式模型中,有一種特殊的模型,它去建模一個隱式的語言空間,每次在語言空間中采樣一個點,代表語法/語義等語言學信息,也就是說,它并不是直接建模,而是首先建模一個隱空間,然后再基于這個隱空間建模文本。
使用這種模型,我們可以在某種意義上“操縱”隱變量,對不同的隱變量,模型可以輸出不同的文本,這就給文本生成帶來了靈活性。我們把這種模型稱為隱變量生成模型。
過去的預訓練大都是基于典型生成模型,這一方面是因為這類模型簡單直觀,調參、訓練也比較簡單;另一方面是因為隱變量模型通常難以優化,尤其是對離散型的文本。
但是,預訓練隱變量生成模型就不能實現嗎?本文給出了一個答案,通過仔細地設計模型結構、調整訓練過程,我們依然能夠在隱變量生成模型上進行大規模文本預訓練,并且可以取得非常好的效果!
本文的貢獻如下:
提出首個大規模預訓練隱變量生成模型OPTIMUS;
高效地將隱變量和預訓練的GPT-2相結合;
發現大規模預訓練可以減緩KL Vanishing的問題;
在多個任務上取得顯著的效果。
OPTIMUS:大規模預訓練隱變量生成模型
和傳統的預訓練模型一樣,OPTIMUS有預訓練(Pretraining)和微調(Finetuning)兩個階段,下面分別進行介紹。
預訓練
OPTIMUS采用VAE(變分自編碼器)和預訓練的BERT與GPT-2的結合作為整體模型。模型的生成基于隱變量,對于給定的文本,生成目標是,這里表示的是用于文本生成的解碼器。
而隱變量是通過一個編碼器得到的,可以形式化為。
對于給定的輸入文本,它的步驟是:首先經過編碼器得到隱變量,然后基于隱變量重構,這可以用一個重構損失表示:?。
此外,還有一個KL散度損失,用于讓得到的隱變量逼近一個先驗:。
所以,總的損失就是:
上述公式就表達了VAE的訓練過程,其中加入可以更好地控制訓練過程。下圖則呈現了OPTIMUS的模型結構,即編碼器是什么模型,解碼器是什么模型。
可以看到,模型的編碼器是預訓練的BERT,用來得到隱變量;模型的解碼器是預訓練的GPT-2,用于基于隱變量去生成文本。
注意到,這里的預訓練和OPTIMUS的預訓練不同,OPTIMUS的預訓練是對整個模型而言,而BERT和GPT-2的預訓練是對它們各自而言。
現在有一個問題(其實還有好幾個問題,我們忽略其他更細節的問題,請讀者參考原文):我們該如何把隱變量提供給解碼器呢?
本文提供兩種方法,分別為記憶(Memory)和嵌入(Embedding):
Memory: 在得到之后,再通過一個變換把它轉換為L個向量,每個向量服務解碼器的一層,作為額外的記憶單元讓解碼器在生成的每一步去關注(相當于一個特殊的詞);
Embedding: 在得到之后,用一個線性變換先把它轉換為一個向量,然后在生成的每一個,直接把它和解碼器每一步的狀態向量相加。
下圖是這兩種方法的圖示。
實驗表明,Memory比Embedding好,而二者合起來使用最好。因此,在后面的實驗部分,我們默認二者一起使用。
最后就是詳細的預訓練細節了。預訓練數據是1990K個Wikipedia的句子。在訓練的過程中,由于熟知的KL Vanishing問題,我們還要對訓練過程做一些優化。具體來說,本文采用如下優化:
對使用循環調度(cyclical schedule);
在訓練的前一半,設置,對后一半的前一半,將其增長到1,對最后四分之一,固定為1;
當不等于0的時候,加入hinge loss,保證KL項始終大于一個數。
微調
在預訓練OPTIMUS之后,剩下的就是對不同的任務進行微調了。本文在三類任務上實驗:語言模型、受限文本生成和自然語言理解。每個任務和數據集在微調上都有一些細微的差別,筆者建議讀者閱讀原文進行了解。
實驗
現在就到了見證OPTIMUS威力的時刻了。下面我們根據任務來看看OPTIMUS的效果。
語言模型
語言模型的數據集有PTB、SNLI和Yelp,度量方式有PPL、Active Units (AU)和Mutual Information (MI)。基線模型有GPT-2、Annealing-VAE、AggressiveTraining-VAE、AE-FB。
下表是實驗結果??梢钥吹?#xff0c;單純的VAE(第二組,Small VAE)在各個指標上都表現得很差,這歸結于:(1)傳統VAE的模型很小,表達力不夠;(2)KL Vanishing嚴重,難以充分訓練。
在PPL指標上,即使和典型生成模型GPT-2相比,依舊非常有優勢。注意到不同的實際上是在PPL和互信息中進行了一個平衡。
受限文本生成:數學運算
我們在最開始提到,隱變量模型的一大優勢是,我們可以“操縱”隱變量,從而得到不同的文本。
為了探究OPTIMUS所得到隱空間的表示能力,我們首先在“文本算術”任務上進行實驗。
給定三個文本A,B,C,首先用編碼器得到它們的隱變量,然后得到一個新的隱變量。
它的意思是,如果OPTIMUS能夠得到足夠光滑、分布良好的隱空間,那么將文本編碼為隱變量之后,隱變量之間的線性運算就代表了文本語義之間的運算。
如下圖所示,在給定了A,B之后,不斷給定新的C,模型通過上式生成新的句子D。可以看到,句子A表達的是單數、日常生活,句子B表達了復數、運動。
因此,對所有給定的C,模型都能把其中的單數變成復數,把日常生活主題變為運動主題。這就可以從側面表明,OPTIMUS得到的隱空間是比較好的。
另一個展示隱空間良好性的方法是插值。給定兩個句子A,B,得到它們的隱變量,我們在它們之間進行線性插值,得到新的隱變量,然后用這個新的隱變量生成新的文本,目的就是看,根據系數的不同,所生成的句子是更偏向A還是更偏向B。下圖是例子:
可以看到,系數越大,生成的文本約偏向句子A,反之偏向句子B。
受限文本生成
下面在具體的任務——普通對話生成、風格化對話生成和基于標簽的文本生成上進行實驗。數據集分別是Dailydialog和Yelp。下面三個表分別是這三個任務的實驗結果。
可以看到,在普通對話生成上,OPTIMUS優于基線模型,在風格化對話生成上,OPTIMUS優于StyleFusion,而尤其在基于標簽的文本生成上,OPTIMUS效果顯著。
自然語言理解
下面來看看OPTIMUS在NLU任務上的效果,這類任務旨在度量模型“理解”文本的能力。下表是在GLUE上的結果。注意到,比較的Feature-Based模型,也就是微調的時候只更新分類器,而不更新模型主體,這樣就會大大減少訓練開支。
可以看到,在Feature-Based上,OPTIMUS顯著優于BERT,尤其是在比較大的數據集上。當更新整個模型的時候(Finetune-Based),OPTIMUS和BERT的效果相似。
下面繼續來探究在低資源條件下,OPTIMUS的效果。對Yelp數據集,隨機對每一類采樣若干樣本,在Feature-Based和Finetune-Based兩種設置下,看不同模型的效果,下圖是結果。
在Feature-Based下,OPTIMUS顯著優于BERT,這表明,在資源比較少的時候,OPTIMUS更能區分不同類別,這得益于它的隱變量性質;而在Fintune-Based下,二者結果差別不大,但在資源特別少的時候,OPTIMUS顯著優于BERT,這說明OPTIMUS有更好的遷移能力。
小結
本文提出了一個大規模預訓練隱變量生成模型OPTIMUS,它結合了VAE和預訓練的典型生成式模型BERT/GPT-2,以VAE的方式在額外的數據上預訓練之后,能夠兼具VAE和BERT/GPT-2的優點,在多個任務上取得比較好的效果。
本文在自然語言處理上成功使用VAE邁出了成功的一步,這極有可能是NLP下一個時代產生突破的重點領域。
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的预训练生成模型:结合VAE与BERT/GPT-2提高文本生成效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人脸静默活体检测最新综述
- 下一篇: 《底特律:化身为人》销量达成新里程碑:突