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