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