微軟亞洲研究院的研究員在 ICML 2019 上提出了一個全新的通用預(yù)訓練方法 MASS,在序列到序列的自然語言生成任務(wù)中全面超越 BERT 和 GPT。本文帶來論文作者的技術(shù)解讀。
從 2018 年開始,預(yù)訓練(pre-train) 毫無疑問成為 NLP 領(lǐng)域最熱的研究方向。
借助于 BERT 和 GPT 等預(yù)訓練模型,人類在多個自然語言理解任務(wù)中取得了重大突破。然而,在序列到序列的自然語言生成任務(wù)中,目前主流預(yù)訓練模型并沒有取得顯著效果。
為此,微軟亞洲研究院的研究員在 ICML 2019 上提出了一個全新的通用預(yù)訓練方法 MASS,在序列到序列的自然語言生成任務(wù)中全面超越 BERT 和 GPT。在微軟參加的 WMT19 機器翻譯比賽中,MASS 幫助中 - 英、英 - 立陶宛兩個語言對取得了第一名的成績。
BERT 在自然語言理解(比如情感分類、自然語言推理、命名實體識別、SQuAD 閱讀理解等)任務(wù)中取得了很好的結(jié)果,受到了越來越多的關(guān)注。然而,在自然語言處理領(lǐng)域,除了自然語言理解任務(wù),還有很多序列到序列的自然語言生成任務(wù),比如機器翻譯、文本摘要生成、對話生成、問答、文本風格轉(zhuǎn)換等。在這類任務(wù)中,目前主流的方法是編碼器 - 注意力 - 解碼器框架,如下圖所示。
編碼器 - 注意力 - 解碼器框架
編碼器(Encoder)將源序列文本 X 編碼成隱藏向量序列,然后解碼器(Decoder)通過注意力機制(Attention)抽取編碼的隱藏向量序列信息,自回歸地生成目標序列文本 Y。
BERT 通常只訓練一個編碼器用于自然語言理解,而 GPT 的語言模型通常是訓練一個解碼器。如果要將 BERT 或者 GPT 用于序列到序列的自然語言生成任務(wù),通常只有分開預(yù)訓練編碼器和解碼器,因此編碼器 - 注意力 - 解碼器結(jié)構(gòu)沒有被聯(lián)合訓練,記憶力機制也不會被預(yù)訓練,而解碼器對編碼器的注意力機制在這類任務(wù)中非常重要,因此 BERT 和 GPT 在這類任務(wù)中只能達到次優(yōu)效果。
新的預(yù)訓練方法 ——MASS
專門針對序列到序列的自然語言生成任務(wù),微軟亞洲研究院提出了新的預(yù)訓練方法:屏蔽序列到序列預(yù)訓練(MASS: Masked Sequence to Sequence Pre-training)。MASS 對句子隨機屏蔽一個長度為 k 的連續(xù)片段,然后通過編碼器 - 注意力 - 解碼器模型預(yù)測生成該片段。
屏蔽序列到序列預(yù)訓練 MASS 模型框架
如上圖所示,編碼器端的第 3-6 個詞被屏蔽掉,然后解碼器端只預(yù)測這幾個連續(xù)的詞,而屏蔽掉其它詞,圖中 “_” 代表被屏蔽的詞。
MASS 預(yù)訓練有以下幾大優(yōu)勢:
(1)解碼器端其它詞(在編碼器端未被屏蔽掉的詞)都被屏蔽掉,以鼓勵解碼器從編碼器端提取信息來幫助連續(xù)片段的預(yù)測,這樣能促進編碼器 - 注意力 - 解碼器結(jié)構(gòu)的聯(lián)合訓練;
(2)為了給解碼器提供更有用的信息,編碼器被強制去抽取未被屏蔽掉詞的語義,以提升編碼器理解源序列文本的能力;
(3)讓解碼器預(yù)測連續(xù)的序列片段,以提升解碼器的語言建模能力。
統(tǒng)一的預(yù)訓練框架
MASS 有一個重要的超參數(shù) k(屏蔽的連續(xù)片段長度),通過調(diào)整 k 的大小,MASS 能包含 BERT 中的屏蔽語言模型訓練方法以及 GPT 中標準的語言模型預(yù)訓練方法,使 MASS 成為一個通用的預(yù)訓練框架。
當 k=1 時,根據(jù) MASS 的設(shè)定,編碼器端屏蔽一個單詞,解碼器端預(yù)測一個單詞,如下圖所示。解碼器端沒有任何輸入信息,這時 MASS 和 BERT 中的屏蔽語言模型的預(yù)訓練方法等價。
當 k=m(m 為序列長度)時,根據(jù) MASS 的設(shè)定,編碼器屏蔽所有的單詞,解碼器預(yù)測所有單詞,如下圖所示,由于編碼器端所有詞都被屏蔽掉,解碼器的注意力機制相當于沒有獲取到信息,在這種情況下 MASS 等價于 GPT 中的標準語言模型。
MASS 在不同 K 下的概率形式如下表所示,其中 m 為序列長度,u 和 v 為屏蔽序列的開始和結(jié)束位置,x^u:v 表示從位置 u 到 v 的序列片段,x^\u:v 表示該序列從位置 u 到 v 被屏蔽掉。可以看到,當K=1 或者 m 時,MASS 的概率形式分別和 BERT 中的屏蔽語言模型以及 GPT 中的標準語言模型一致。
我們通過實驗分析了屏蔽 MASS 模型中不同的片段長度(k)進行預(yù)訓練的效果,如下圖所示。
當 k 取大約句子長度一半時(50% m),下游任務(wù)能達到最優(yōu)性能。屏蔽句子中一半的詞可以很好地平衡編碼器和解碼器的預(yù)訓練,過度偏向編碼器(k=1,即 BERT)或者過度偏向解碼器(k=m,即 LM/GPT)都不能在該任務(wù)中取得最優(yōu)的效果,由此可以看出 MASS 在序列到序列的自然語言生成任務(wù)中的優(yōu)勢。
序列到序列自然語言生成任務(wù)實驗
預(yù)訓練流程
MASS 只需要無監(jiān)督的單語數(shù)據(jù)(比如 WMT News Crawl Data、Wikipedia Data 等)進行預(yù)訓練。MASS 支持跨語言的序列到序列生成(比如機器翻譯),也支持單語言的序列到序列生成(比如文本摘要生成、對話生成)。當預(yù)訓練 MASS 支持跨語言任務(wù)時(比如英語 - 法語機器翻譯),我們在一個模型里同時進行英語到英語以及法語到法語的預(yù)訓練。需要單獨給每個語言加上相應(yīng)的語言嵌入向量,用來區(qū)分不同的語言。我們選取了無監(jiān)督機器翻譯、低資源機器翻譯、文本摘要生成以及對話生成四個任務(wù),將 MASS 預(yù)訓練模型針對各個任務(wù)進行精調(diào),以驗證 MASS 的效果。
無監(jiān)督機器翻譯
在無監(jiān)督翻譯任務(wù)上,我們和當前最強的 Facebook XLM 作比較(XLM 用 BERT 中的屏蔽預(yù)訓練模型,以及標準語言模型來分別預(yù)訓練編碼器和解碼器),對比結(jié)果如下表所示。
可以看到,MASS 的預(yù)訓練方法在 WMT14 英語 - 法語、WMT16 英語 - 德語一共 4 個翻譯方向上的表現(xiàn)都優(yōu)于 XLM。MASS 在英語 - 法語無監(jiān)督翻譯上的效果已經(jīng)遠超早期有監(jiān)督的編碼器 - 注意力 - 解碼器模型,同時極大縮小了和當前最好的有監(jiān)督模型之間的差距。
低資源機器翻譯
低資源機器翻譯指的是監(jiān)督數(shù)據(jù)有限情況下的機器翻譯。我們在 WMT14 英語 - 法語、WMT16 英語 - 德語上的不同低資源場景上(分別只有 10K、100K、1M 的監(jiān)督數(shù)據(jù))驗證我們方法的有效性,結(jié)果如下所示。
在不同的數(shù)據(jù)規(guī)模下,我們的預(yù)訓練方法的表現(xiàn)均比不用預(yù)訓練的基線模型有不同程度的提升,監(jiān)督數(shù)據(jù)越少,提升效果越顯著。
文本摘要生成
在文本摘要生成(Gigaword Corpus)任務(wù)上,我們將 MASS 同 BERT+LM(編碼器用 BERT 預(yù)訓練,解碼器用標準語言模型 LM 預(yù)訓練)以及 DAE(去噪自編碼器)進行了比較。從下表可以看到,MASS 的效果明顯優(yōu)于 BERT+LM 以及 DAE。
對話生成
在對話生成(Cornell Movie Dialog Corpus)任務(wù)上,我們將 MASS 同 BERT+LM 進行了比較,結(jié)果如下表所示。MASS 的 PPL 低于 BERT+LM。
在不同的序列到序列自然語言生成任務(wù)中,MASS 均取得了非常不錯的效果。接下來,我們還將測試 MASS 在自然語言理解任務(wù)上的性能,并為該模型增加支持監(jiān)督數(shù)據(jù)預(yù)訓練的功能,以期望在更多自然語言任務(wù)中取得提升。未來,我們還希望將 MASS 的應(yīng)用領(lǐng)域擴展到包含語音、視頻等其它序列到序列的生成任務(wù)中。
-
微軟
+關(guān)注
關(guān)注
4文章
6630瀏覽量
104469 -
編碼器
+關(guān)注
關(guān)注
45文章
3669瀏覽量
135245 -
自然語言
+關(guān)注
關(guān)注
1文章
291瀏覽量
13400
原文標題:【ICML 2019】微軟最新通用預(yù)訓練模型MASS,超越BERT、GPT!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
KerasHub統(tǒng)一、全面的預(yù)訓練模型庫
LLM和傳統(tǒng)機器學習的區(qū)別
直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:預(yù)訓練的基礎(chǔ)模型下的持續(xù)學習
![直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:<b class='flag-5'>預(yù)</b><b class='flag-5'>訓練</b>的基礎(chǔ)模型下的持續(xù)學習](https://file1.elecfans.com/web2/M00/E5/E7/wKgZomZFcsyAcT-5AAA2A4dQRkQ217.png)
評論