據(jù)報(bào)道:自 2018 年以來,預(yù)訓(xùn)練無疑是自然語言處理(NLP)領(lǐng)域中最熱門的研究課題之一。通過利用 BERT、GPT 和 XLNet 等通用語言模型,該領(lǐng)域的研究者們在自然語言理解方面已經(jīng)取得了許多重大的突破。然而,對于序列到序列的自然語言生成任務(wù),這些主流的預(yù)訓(xùn)練方法并沒有帶來顯著的改進(jìn),對此,微軟亞洲研究院提出了一個全新的通用預(yù)訓(xùn)練方法——MASS,在該任務(wù)中可以得到比 BERT 和 GPT 更好的效果。
前言
BERT 和 XLNet 在自然語言理解任務(wù)(例如:情感分類、自然語言推理和 SQuAD 閱讀理解)方面取得了巨大成功。然而, NLP 領(lǐng)域除了自然語言理解任務(wù)之外,還存在很多序列到序列的語言生成任務(wù),例如機(jī)器翻譯、文本摘要生成、對話生成、問答、文本風(fēng)格轉(zhuǎn)換等。對于這些任務(wù),使用編碼器-注意力-解碼器框架是主流方法。
圖 1 編碼器 - 注意力 - 解碼器框架
如圖 1 所示,編碼器將源序列 X 作為輸入并將其轉(zhuǎn)換為隱藏表示的序列,然后解碼器通過注意力機(jī)制從編碼器中抽象出隱藏表示的序列信息,并自動生成目標(biāo)序列文本 Y。
BERT 和 XLnet 通常是對一個編碼器進(jìn)行自然語言理解的預(yù)訓(xùn)練;而 GPT 則是對一個解碼器進(jìn)行語言建模的預(yù)訓(xùn)練。當(dāng)利用 BERT 和 GPT 進(jìn)行序列到序列的語言生成任務(wù)時,我們通常需要對編碼器和解碼器分別進(jìn)行預(yù)訓(xùn)練。在這種情況下,編碼器 - 注意力 - 解碼器框架和注意力機(jī)制并沒有得到聯(lián)合訓(xùn)練。然而,注意力機(jī)制在這類任務(wù)中極為重要,一旦缺失便會導(dǎo)致 BERT 和 GPT 無法達(dá)到最佳性能。
一種新的預(yù)訓(xùn)練方法
針對序列到序列的自然語言生成任務(wù),微軟亞洲研究院的機(jī)器學(xué)習(xí)小組提出了一種新的預(yù)訓(xùn)練方法,即掩蔽的序列到序列預(yù)訓(xùn)練(MASS:Masked Sequence to Sequence Pre-Training)。MASS 隨機(jī)掩蔽一個長度為 k 的句子片段,并通過編碼器 - 注意力 - 解碼器框架預(yù)測這一被掩蔽的片段。
圖 2 MASS 框架
如圖 2 所示,編碼器端的第 3-6 個標(biāo)記被掩蔽,而在解碼器端,僅有被掩蔽的標(biāo)記被預(yù)測出來,而其他標(biāo)記則被掩蔽。
MASS 預(yù)訓(xùn)練具有以下優(yōu)勢:
解碼器端的其他標(biāo)記(在編碼器端未被掩蔽的標(biāo)記)被掩蔽,從而推動解碼器提取更多信息以幫助預(yù)測連續(xù)句子片段,促進(jìn)編碼器-注意力-解碼器結(jié)構(gòu)的聯(lián)合訓(xùn)練;
為了給解碼器提供更多有用的信息,編碼器被強(qiáng)制提取未被掩蔽的標(biāo)記的含義,這可以提高編碼器理解源序列文本的能力;
解碼器被設(shè)計(jì)用以預(yù)測連續(xù)的標(biāo)記(句子片段),這可以提升解碼器的語言建模能力。
統(tǒng)一的預(yù)訓(xùn)練框架
MASS 有一個重要的超參數(shù) k(被掩蔽的片段的長度)。通過調(diào)整 k 值,MASS 可以將 BERT 中掩蔽的語言建模和 GPT 中的標(biāo)準(zhǔn)語言建模結(jié)合起來,從而將 MASS 擴(kuò)展成一個通用的預(yù)訓(xùn)練框架。
當(dāng) k = 1 時,根據(jù) MASS 的設(shè)計(jì),編碼器端的一個標(biāo)記被掩蔽,而解碼器端則會預(yù)測出該掩蔽的標(biāo)記,如圖 3 所示。解碼器端沒有輸入信息,因而 MASS 等同于 BERT 中掩蔽的語言模型。
圖 3 k = 1時,編碼器端一個標(biāo)記被掩蔽,而解碼器端則會預(yù)測出該掩蔽的標(biāo)記
當(dāng) k = m(m 是序列的長度)時,在 MASS 中,編碼器端的所有標(biāo)記都被掩蔽,而解碼器端會預(yù)測所有的標(biāo)記,如圖 4 所示。解碼器端無法從編碼器端提取任何信息,MASS 等同于 GPT 中的標(biāo)準(zhǔn)語言模型。
圖 4 k = m 時,編碼器端的所有詞都被掩蔽,而解碼器端會預(yù)測所有的標(biāo)記,等同于 GPT 中的標(biāo)準(zhǔn)語言模型
不同 k 值下 MASS 的概率公式如表 1 所示,其中 m 是序列的長度,u 和 v 分別是掩蔽片段的起始和終止位置,代表從位置 u 到 v 的標(biāo)記都被掩蔽的序列??梢钥闯?,當(dāng) k = 1 或 m 時,MASS 的概率公式等同于 BERT 中的被掩蔽的語言模型和 GPT 中的標(biāo)準(zhǔn)語言模型。
表 1 在不同 k 值下 MASS 的概率公式
研究人員通過實(shí)驗(yàn)來分析了在不同 k 值下的 MASS 性能,如圖 5 所示:
圖 5 在訓(xùn)練前和微調(diào)階段的各種掩蔽長度 k 下 MASS 的表現(xiàn),其中包括 a) 英語句子預(yù)訓(xùn)練模型的PPL b) WMT13 英語-法語翻譯的法語句子 c) WMT13 無監(jiān)督英語-法語翻譯的 BLEU 值 d) 文本摘要生成的 ROUGE 值 e) 對話生成的PPL
當(dāng) k 等于句子長度的一半時,下游任務(wù)可以達(dá)到其最佳性能。掩蔽句子中一半的詞可以很好地平衡編碼器和解碼器的預(yù)訓(xùn)練部分。如果預(yù)訓(xùn)練更偏向編碼器端(k = 1,即 BERT)或更偏向解碼器端(k = m,LM / GPT),則無法實(shí)現(xiàn)最優(yōu)的性能,這也表現(xiàn)出了 MASS 在序列到序列的語言生成任務(wù)中的優(yōu)勢。
序列到序列的語言生成任務(wù)測試
預(yù)訓(xùn)練
值得注意的是,MASS 僅需要無監(jiān)督的單語數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練(例如 WMT News Crawl Data、Wikipedia Data 等)。MASS 支持跨語言任務(wù)(例如機(jī)器翻譯)和單語任務(wù)(例如文本摘要生成、對話生成)。在對英語-法語翻譯等跨語言任務(wù)進(jìn)行預(yù)訓(xùn)練時,研究人員可以在一個模型中同時進(jìn)行英語-英語和法語-法語的預(yù)訓(xùn)練,并使用附加的語言嵌入向量來區(qū)分語言。在無監(jiān)督的機(jī)器翻譯、低資源機(jī)器翻譯、文本摘要生成和對話生成四個領(lǐng)域,研究人員對 MASS 進(jìn)行了微調(diào),以驗(yàn)證其有效性。
無監(jiān)督機(jī)器翻譯
關(guān)于無監(jiān)督機(jī)器翻譯任務(wù),研究人員將 MASS 與之前的方法進(jìn)行了比較,包括以前最先進(jìn)的方法 Facebook XLM。XLM 使用了由 BERT 創(chuàng)建的掩蔽預(yù)訓(xùn)練語言模型,以及標(biāo)準(zhǔn)語言模型來分別預(yù)訓(xùn)練編碼器和解碼器。
結(jié)果如表 2 所示,MASS 在 WMT14 英語-法語、WMT16 英語-德語和英語-羅馬尼亞語的六個翻譯方向上的表現(xiàn)都優(yōu)于 XLM,并取得了最新的最優(yōu)結(jié)果。
表 2 MASS 與之前關(guān)于無監(jiān)督機(jī)器翻譯方法之間的比較;英語-法語翻譯報(bào)道在 newstest2014 上,其它的在 newstest2016 可以找到;由于 XLM 在編碼器和解碼器中使用 MLM 和 CLM 的不同組合,因此報(bào)告上顯示的是每個語言對上 XLM 的最高 BLEU 值
低資源機(jī)器翻譯
低資源機(jī)器翻譯是指使用有限的雙語訓(xùn)練數(shù)據(jù)來進(jìn)行機(jī)器翻譯。研究人員模擬了 WMT14 英語-法語,WMT16 英語-德語和英語-羅馬尼亞語翻譯(分別為 10K,100K 和 1M 雙語數(shù)據(jù))的低資源情景。
圖 6 MASS 與低資源機(jī)器翻譯方法之間的比較
圖 6 顯示 MASS 在不同數(shù)據(jù)規(guī)模上的表現(xiàn),均比不用預(yù)訓(xùn)練的基線模型有不同程度的提升,并隨著監(jiān)督數(shù)據(jù)越少,提升效果越顯著。
文本摘要生成
研究人員將 MASS 與 BERT+LM(編碼器用 BERT 預(yù)訓(xùn)練,解碼器用標(biāo)準(zhǔn)語言模型 LM 預(yù)訓(xùn)練)、DAE(去噪自編碼器)進(jìn)行了比較。從表 3 中可以看出,MASS 的表現(xiàn)都優(yōu)于 BERT+LM 和 DAE。
表 3 文本摘要生成任務(wù)中,MASS 和兩種預(yù)訓(xùn)練方法之間的比較
對話生成
研究人員將 MASS 和 BERT+LM 進(jìn)行了比較。表 4 顯示 MASS 實(shí)現(xiàn)了比 BERT+LM 更低的 PPL。
表 4 MASS 與 BERT+LM 之間的比較數(shù)據(jù)
MASS 連續(xù)在序列到序列的語言生成任務(wù)上實(shí)現(xiàn)顯著增益,F(xiàn)acebook 的研究者表示,期待今后在自然語言理解任務(wù)中測試 MASS 的性能,并希望在未來的工作中,將 MASS 的應(yīng)用領(lǐng)域擴(kuò)展到包含語音、視頻等其它序列到序列的生成任務(wù)中。