本文主要介紹NMT模型魯棒性的相關(guān)改進(jìn)工作,介紹一下對(duì)抗訓(xùn)練的三部曲,一作皆是ChengYong,分別中了2018,2019和2020的ACL。
第一項(xiàng)工作為 Towards Robust Neural Machine Translation (ACL 2018)
本文的問(wèn)題引入為一個(gè)小實(shí)驗(yàn),即將機(jī)器翻譯的源句進(jìn)行微小擾動(dòng)(同義詞替換),69.74%的翻譯句子也隨之改變,并且原始輸入和擾動(dòng)輸入對(duì)應(yīng)的翻譯句間BLEU僅為79.01,因此,作者希望通過(guò)對(duì)抗訓(xùn)練來(lái)加強(qiáng)Encoder和Decoder的抗干擾能力。
具體做法如上圖,首先是噪聲的引入,作者提出兩種方式:
1)詞匯級(jí)別,計(jì)算余弦相似度進(jìn)行同義詞替換;
2)特征級(jí)別,在詞向量上加入高斯噪聲。
然后是噪聲數(shù)據(jù)的使用,對(duì)應(yīng)上圖中三個(gè)損失函數(shù):
1)Ltrue(x, y)是正常訓(xùn)練NMT的損失函數(shù);
2)Lnoisy(x', y)是加強(qiáng)Decoder的去噪能力,即對(duì)應(yīng)有噪聲的Hx',Decoder也能得到正確的輸出;
3)Linv(x, x'),旨在加強(qiáng)Encoder的去噪能力,即針對(duì)噪聲數(shù)據(jù)x',Encoder得到的Hx'也應(yīng)與原表征Hx相近,訓(xùn)練過(guò)程采用了min-max two-player策略,引入Discriminator進(jìn)行交互對(duì)抗訓(xùn)練,Encoder得到Hx和Hx'應(yīng)該盡可能相似騙過(guò)Discriminator,而Discriminator則要分開(kāi)有、無(wú)噪聲的數(shù)據(jù),兩者迭代訓(xùn)練以加強(qiáng)Encoder對(duì)噪聲數(shù)據(jù)x'的建模能力。
文章優(yōu)勢(shì)在于不改變模型結(jié)構(gòu),可拓展到任意噪聲干擾或是針對(duì)特定任務(wù)進(jìn)行設(shè)計(jì),如作者對(duì)輸入數(shù)據(jù)進(jìn)行刪除、替換等token級(jí)噪聲時(shí),發(fā)現(xiàn)使用詞匯級(jí)別噪聲的引入訓(xùn)練的模型更魯棒。
第二項(xiàng)工作為 Robust Neural Machine Translation with Doubly Adversarial Inputs (ACL 2019)
這項(xiàng)工作不同于上文的模型無(wú)關(guān),而是將NMT看成“白盒”,從而基于梯度生成對(duì)抗輸入,文章的核心思想就是下面這條式子,其中x',x分別代表有無(wú)噪聲的數(shù)據(jù),R(·)為相似性度量,后面的是負(fù)對(duì)數(shù)Loss,通俗來(lái)講就是找到噪聲不是太大的x'(保證x'與x語(yǔ)義相近),使得模型的Loss最大,這樣才能最有效地加強(qiáng)模型魯棒性。
具體做法分為兩部分,分別是Encoder攻擊和Decoder防御。在Encoder端,x為Encoder的輸入,模型會(huì)算出某個(gè)詞表征xi的梯度gxi,然后在詞表中找出使Loss最大的x替換原有的詞xi,做法是在詞典中計(jì)算表征“e(x)-e(xi)”與gxi的相似度,使相似度最大的xi'為所得。同時(shí),噪聲xi'不應(yīng)與原始xi差太遠(yuǎn),作者使用了Masked LM提取候選詞,在原句中,會(huì)將需要替換的詞先mask,然后選擇預(yù)測(cè)的topk作為候選項(xiàng),至于哪些詞會(huì)被mask或替換則為隨機(jī)均勻采樣。
在Decoder端,z為Decoder的輸入,與Encoder中的噪聲xi'類似,以同樣的方法得到zi',但針對(duì)zi的采樣與xi有關(guān),即xi隨機(jī)采樣,zi需要大概率在xi替換的同樣位置進(jìn)行替換。因此,回望整個(gè)訓(xùn)練方式,Encoder的作用是找到使梯度最大的xi'擾亂模型,Decoder的作用是即使輸入為zi',仍能輸入正確的結(jié)果,具有一定魯棒性。
我覺(jué)得本文有兩點(diǎn)值得思考,首先是基于梯度最大來(lái)找噪聲詞,能夠更有力的對(duì)模型魯棒能力發(fā)起攻擊,其實(shí)這個(gè)可以更進(jìn)一步,Encoder輸入中需要被替換的詞并非隨機(jī)采樣,而是找使Loss最大的詞,相關(guān)文章改進(jìn)CE Loss為Focal Loss也就是這個(gè)思想,我們可以直覺(jué)判斷,模型建模較好的是高頻詞,建模不好的是低頻詞,低頻詞的Loss比較大,我們?cè)诖驦oss的基礎(chǔ)上再找大梯度,這樣攻擊效果更強(qiáng)力,同時(shí)可以提高模型對(duì)低頻詞的魯棒性。第二點(diǎn)是作者對(duì)xi的替換處理,還要回詞典中尋找進(jìn)行詞替換,這樣未免更加麻煩了,為什么不在一定范圍內(nèi),直接找梯度最大的向量進(jìn)行替換了呢?如果怕語(yǔ)義信息不相似,縮小相似度量范圍就好了,這樣更方便。
第三項(xiàng)工作為 AdvAug: Robust Adversarial Augmentation for Neural Machine Translation (ACL 2020)
這項(xiàng)工作是在第二項(xiàng)的基礎(chǔ)上進(jìn)行了數(shù)據(jù)增強(qiáng)的改進(jìn),采用的方法為線性插值,首先針對(duì)原始數(shù)據(jù)(x, y),作者用第二項(xiàng)工作的方法造出一堆噪聲數(shù)據(jù),然后對(duì)噪聲數(shù)據(jù)進(jìn)行線性插值生成更多的偽數(shù)據(jù),令人比較奇怪的是,作者對(duì)不同的parallel data pair同樣進(jìn)行了線性插值,可能兩句話雖不同含義,但是插值后在向量空間,源句和目標(biāo)句也能表達(dá)類似語(yǔ)義?
審核編輯:劉清
-
ACL
+關(guān)注
關(guān)注
0文章
61瀏覽量
12359
原文標(biāo)題:NMT對(duì)抗訓(xùn)練的三部曲
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
油煙機(jī)選購(gòu)三部曲
冒泡排序法三部曲の一、冒泡排序原理版
冒泡排序法三部曲の冒泡排序原理版(一)
冒泡排序法三部曲の二冒泡排序法的優(yōu)化
榮耀Note9什么時(shí)候上市?榮耀三部曲華為榮耀Note9即將發(fā)布,配置、渲染圖、價(jià)格消息匯總
魯棒性是什么意思_Robust為什么翻譯成魯棒性

評(píng)論