從2018年開始,預訓練(pre-train) 毫無疑問成為NLP領域最熱的研究方向。藉助於BERT和GPT等預訓練模型,人類在多個自然語言理解任務中取得了重大突破。然而,在序列到序列的自然語言生成任務中,目前主流預訓練模型並沒有取得顯著效果。為此,微軟亞洲研究院的研究員在ICML 2019上提出了一個全新的通用預訓練方法MASS,在序列到序列的自然語言生成任務中全面超越BERT和GPT。在微軟參加的WMT19機器翻譯比賽中,MASS幫助中-英、英-立陶宛兩個語言對取得了第一名的成績

BERT在自然語言理解(比如情感分類、自然語言推理、命名實體識別、SQuAD閱讀理解等)任務中取得了很好的結果,受到了越來越多的關注。然而,在自然語言處理領域,除了自然語言理解任務,還有很多序列到序列的自然語言生成任務,比如機器翻譯、文本摘要生成、對話生成、問答、文本風格轉換等。在這類任務中,目前主流的方法是編碼器-注意力-解碼器框架,如下圖所示。

編碼器-注意力-解碼器框架

編碼器(Encoder)將源序列文本X編碼成隱藏向量序列,然後解碼器(Decoder)通過注意力機制(Attention)抽取編碼的隱藏向量序列信息,自回歸地生成目標序列文本Y。

BERT通常只訓練一個編碼器用於自然語言理解,而GPT的語言模型通常是訓練一個解碼器。如果要將BERT或者GPT用於序列到序列的自然語言生成任務,通常只有分開預訓練編碼器和解碼器,因此編碼器-注意力-解碼器結構沒有被聯合訓練,記憶力機制也不會被預訓練,而解碼器對編碼器的注意力機制在這類任務中非常重要,因此BERT和GPT在這類任務中只能達到次優效果。

新的預訓練方法——MASS

專門針對序列到序列的自然語言生成任務,微軟亞洲研究院提出了新的預訓練方法:屏蔽序列到序列預訓練(MASS: Masked Sequence to Sequence Pre-training)。MASS對句子隨機屏蔽一個長度為k的連續片段,然後通過編碼器-注意力-解碼器模型預測生成該片段。

屏蔽序列到序列預訓練MASS模型框架

如上圖所示,編碼器端的第3-6個詞被屏蔽掉,然後解碼器端只預測這幾個連續的詞,而屏蔽掉其它詞,圖中“_”代表被屏蔽的詞。

MASS預訓練有以下幾大優勢:

(1)解碼器端其它詞(在編碼器端未被屏蔽掉的詞)都被屏蔽掉,以鼓勵解碼器從編碼器端提取信息來幫助連續片段的預測,這樣能促進編碼器-注意力-解碼器結構的聯合訓練;

(2)為了給解碼器提供更有用的信息,編碼器被強制去抽取未被屏蔽掉詞的語義,以提升編碼器理解源序列文本的能力;

(3)讓解碼器預測連續的序列片段,以提升解碼器的語言建模能力。

統一的預訓練框架

MASS有一個重要的超參數k(屏蔽的連續片段長度),通過調整k的大小,MASS能包含BERT中的屏蔽語言模型訓練方法以及GPT中標準的語言模型預訓練方法,使MASS成為一個通用的預訓練框架。

當k=1時,根據MASS的設定,編碼器端屏蔽一個單詞,解碼器端預測一個單詞,如下圖所示。解碼器端沒有任何輸入信息,這時MASS和BERT中的屏蔽語言模型的預訓練方法等價。

當k=m(m為序列長度)時,根據MASS的設定,編碼器屏蔽所有的單詞,解碼器預測所有單詞,如下圖所示,由於編碼器端所有詞都被屏蔽掉,解碼器的注意力機制相當於沒有獲取到信息,在這種情況下MASS等價於GPT中的標準語言模型。

MASS在不同K下的概率形式如下表所示,其中m為序列長度,u和v為屏蔽序列的開始和結束位置,x^u:v表示從位置u到v的序列片段,x^\u:v表示該序列從位置u到v被屏蔽掉。可以看到,當K=1或者m時,MASS的概率形式分別和BERT中的屏蔽語言模型以及GPT中的標準語言模型一致。

我們通過實驗分析了屏蔽MASS模型中不同的片段長度(k)進行預訓練的效果,如下圖所示。

當k取大約句子長度一半時(50% m),下游任務能達到最優性能。屏蔽句子中一半的詞可以很好地平衡編碼器和解碼器的預訓練,過度偏向編碼器(k=1,即BERT)或者過度偏向解碼器(k=m,即LM/GPT)都不能在該任務中取得最優的效果,由此可以看出MASS在序列到序列的自然語言生成任務中的優勢。

序列到序列自然語言生成任務實驗

預訓練流程

MASS只需要無監督的單語數據(比如WMT News Crawl Data、Wikipedia Data等)進行預訓練。MASS支持跨語言的序列到序列生成(比如機器翻譯),也支持單語言的序列到序列生成(比如文本摘要生成、對話生成)。當預訓練MASS支持跨語言任務時(比如英語-法語機器翻譯),我們在一個模型里同時進行英語到英語以及法語到法語的預訓練。需要單獨給每個語言加上相應的語言嵌入向量,用來區分不同的語言。我們選取了無監督機器翻譯、低資源機器翻譯、文本摘要生成以及對話生成四個任務,將MASS預訓練模型針對各個任務進行精調,以驗證MASS的效果。

無監督機器翻譯

在無監督翻譯任務上,我們和當前最強的Facebook XLM作比較(XLM用BERT中的屏蔽預訓練模型,以及標準語言模型來分別預訓練編碼器和解碼器),對比結果如下表所示。

可以看到,MASS的預訓練方法在WMT14英語-法語、WMT16英語-德語一共4個翻譯方向上的表現都優於XLM。MASS在英語-法語無監督翻譯上的效果已經遠超早期有監督的編碼器-注意力-解碼器模型,同時極大縮小了和當前最好的有監督模型之間的差距。

低資源機器翻譯

低資源機器翻譯指的是監督數據有限情況下的機器翻譯。我們在WMT14英語-法語、WMT16英語-德語上的不同低資源場景上(分別只有10K、100K、1M的監督數據)驗證我們方法的有效性,結果如下所示。

在不同的數據規模下,我們的預訓練方法的表現均比不用預訓練的基線模型有不同程度的提升,監督數據越少,提升效果越顯著。

文本摘要生成

在文本摘要生成(Gigaword Corpus)任務上,我們將MASS同BERT+LM(編碼器用BERT預訓練,解碼器用標準語言模型LM預訓練)以及DAE(去噪自編碼器)進行了比較。從下表可以看到,MASS的效果明顯優於BERT+LM以及DAE。

對話生成

在對話生成(Cornell Movie Dialog Corpus)任務上,我們將MASS同BERT+LM進行了比較,結果如下表所示。MASS的PPL低於BERT+LM。

在不同的序列到序列自然語言生成任務中,MASS均取得了非常不錯的效果。接下來,我們還將測試MASS在自然語言理解任務上的性能,並為該模型增加支持監督數據預訓練的功能,以期望在更多自然語言任務中取得提升。未來,我們還希望將MASS的應用領域擴展到包含語音、視頻等其它序列到序列的生成任務中。

論文地址:https://arxiv.org/pdf/1905.02450.pdf

本文轉自公眾號 微軟研究院AI頭條,原文地址