向预训练进一步:掩码式非自回归模型训练
論文標(biāo)題:
Jointly Masked Sequence-to-Sequence Model for Non-Autoregressive Neural Machine Translation
論文作者:
Junliang Guo, Linli Xu, Enhong Chen
論文鏈接:
https://www.aclweb.org/anthology/2020.acl-main.36.pdf
代碼鏈接:
https://github.com/lemmonation/jm-nat
收錄情況:
Accepted by ACL 2020
預(yù)訓(xùn)練模型大規(guī)模使用掩碼自監(jiān)督完成訓(xùn)練,基于上下文預(yù)測被掩碼的詞;而非自回歸模型在預(yù)測時(shí)也是基于上下文一次性預(yù)測多個(gè)詞,這二者有微妙的聯(lián)系。
本文提出在序列到序列的非自回歸模型上進(jìn)行掩碼訓(xùn)練,在編碼端和解碼端聯(lián)合訓(xùn)練,進(jìn)而更加全面地增強(qiáng)非自回歸模型的效果。更加重要的是,這種方法為簡潔、有效的非自回歸模型預(yù)訓(xùn)練方法提供了思路。
掩碼訓(xùn)練與非自回歸
在過去的文章中,我們介紹了許多關(guān)于掩碼自監(jiān)督訓(xùn)練的論文、方法,也介紹了很多先進(jìn)的非自回歸模型,前者是先進(jìn)生產(chǎn)力的代表,后者是一個(gè)潛在的發(fā)展潮流。但是有沒有思考過,這二者之間似乎隱約存在著一些關(guān)系。
非自回歸模型是接受源句子,一次性預(yù)測目標(biāo)句子(的一部分)。假設(shè)我們知道了目標(biāo)句子的一部分,要去預(yù)測剩下的一部分,其中滿足,那就是求下述概率:
另一方面,我們又知道,類似BERT的掩碼預(yù)訓(xùn)練目標(biāo)是:
顯然,這二者顯然存在著聯(lián)系。到這里,讀者可能會(huì)想直接把BERT的掩碼預(yù)訓(xùn)練移植到非自回歸上,但是,它們之間有著本質(zhì)的區(qū)別,在BERT中是已知的,但在序列到序列模型中是未知的!
也就是說,在非自回歸模型中,我們想要基于去預(yù)測其他詞,也就是說我們要提前知道它,然而,本身又是需要預(yù)測的,這就形成了一個(gè)矛盾!
那么,有沒有什么辦法可以在一定程度上解決這個(gè)問題呢?我們就可以用MASK-PREDICT(MP)的方法。MP是迭代地進(jìn)行上述操作,每次預(yù)測一部分,掩碼掉概率較低的部分。本文也是基于MP實(shí)現(xiàn)的。
基于MP,我們就可以非常愉快地把掩碼訓(xùn)練嫁接到非自回歸模型上了,這也是本文提出的方法。此外,為了進(jìn)一步緩解非自回歸模型重復(fù)生成的問題,本文還提出了n-gram損失,我們將在下面詳細(xì)介紹。
總的來說,本文的貢獻(xiàn)有:
在非自回歸模型上應(yīng)用掩碼訓(xùn)練,并提出n-gram損失函數(shù)增強(qiáng)模型解碼能力;
在三個(gè)翻譯數(shù)據(jù)集上實(shí)現(xiàn)了很好的效果,在沒有預(yù)訓(xùn)練的情況下已經(jīng)逼近自回歸模型的表現(xiàn)。
注意,盡管上面我們解釋了非自回歸模型和掩碼預(yù)訓(xùn)練的聯(lián)系,但是本文并沒有研究如何基于掩碼訓(xùn)練的策略去預(yù)訓(xùn)練非自回歸模型。
在筆者看來,我們完全可以通過某種策略去預(yù)訓(xùn)練非自回歸模型解碼端(比如將解碼端分為兩部分,下部分使用單語語料預(yù)訓(xùn)練,上部分融入編碼端特征),而其中的關(guān)鍵就在于掩碼!這也是本文強(qiáng)調(diào)“非自回歸預(yù)訓(xùn)練”的原因。
方法
下圖是本文所提出方法的概覽,核心是類似BERT的掩碼訓(xùn)練。在編碼端和解碼端同時(shí)進(jìn)行掩碼訓(xùn)練,從而期望增強(qiáng)非自回歸模型編碼、解碼的能力。
首先是編碼端的掩碼,這就和BERT是一致的,不再贅述,我們把此損失函數(shù)記為:
其次是解碼端的掩碼,本質(zhì)上和BERT也是一樣的,不同的是,在推理的時(shí)候,我們并不是每次都能看到所有的上下文(因?yàn)槟P筒荒芤淮晤A(yù)測完所有的詞),所以這也是本文推理使用MP的原因。
然而在訓(xùn)練的時(shí)候,我們卻可以忽略這一點(diǎn),也就是我們能看到整個(gè)目標(biāo)句子。所以,訓(xùn)練的時(shí)候,解碼端的目標(biāo)就是:
注意此處是連續(xù)的n-gram,這是為了和下面的n-gram損失相匹配。
我們知道非自回歸模型的一大問題就是重復(fù)生成,那么n-gram損失就可以緩解這個(gè)問題。
具體來說,假設(shè)我們掩碼的n-gram是,它在目標(biāo)句子中出現(xiàn)的次數(shù)記為,那么,n-gram損失就是讓模型去預(yù)測這個(gè)次數(shù):
上式鼓勵(lì)中模型正確預(yù)測每個(gè)n-gram整體。這個(gè)損失和bag-of-ngrams類似。
綜上,總的損失就是:
在推理的時(shí)候,只需要按照Mask-Predict的步驟去做就好了。
實(shí)驗(yàn)
本文在數(shù)據(jù)集IWSLT14 German-English、WMT16 English-Romanian 和 WMT14 English-German上實(shí)驗(yàn), IWSLT14 De-En 用 small Transformer,其他兩個(gè)用base模型。其他實(shí)驗(yàn)設(shè)置詳見原文。下表是主要的實(shí)驗(yàn)結(jié)果:
可以看到,本文的方法超過了其他非自回歸模型,和自回歸模型相比,已經(jīng)比較接近了。
在推理速度上,由于采用MP的迭代式方式,故相比one-pass模型較慢,但是也遠(yuǎn)遠(yuǎn)快于自回歸模型。
下面來看重復(fù)生成。我們計(jì)算平均重復(fù)詞的個(gè)數(shù),結(jié)果如下表所示。可以看到,本文的方法有更少的重復(fù)詞。
下面再來看看各個(gè)損失的影響,如下表所示:
可以看到,這些損失和掩碼策略還是有比較大的影響的,這也從側(cè)面印證了掩碼訓(xùn)練和非自回歸模型之間存在的關(guān)聯(lián)性。
小結(jié)
本文提出MJ-NAT,一種基于掩碼訓(xùn)練的非自回歸模型,核心在于使用類似BERT掩碼預(yù)訓(xùn)練的方式,使用Mask-Predict進(jìn)行推理,可以在多個(gè)數(shù)據(jù)集上取得顯著的效果。
筆者認(rèn)為,基于掩碼訓(xùn)練的方式還可以在非自回歸模型上大有作為,尤其是在預(yù)訓(xùn)練方面。
思考
你認(rèn)為掩碼訓(xùn)練的方式可以用于非自回歸模型的預(yù)訓(xùn)練嗎?是采用平行語料預(yù)訓(xùn)練還是單語語料預(yù)訓(xùn)練?請讀者進(jìn)行思考。
過去的序列到序列模型預(yù)訓(xùn)練,如MASS,都是掩碼n-gram然后在解碼端去預(yù)測它,思考非自回歸模型需要掩碼n-gram嗎?如果不需要,為什么?
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的向预训练进一步:掩码式非自回归模型训练的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 16 岁少年成为全球首个通关 255 级
- 下一篇: 积分梯度:一种新颖的神经网络可视化方法