论文阅读——Robust Unsupervised Neural Machine Translation with Adversarial Training

https://arxiv.org/abs/2002.12549

加入对抗训练的鲁棒的无监督NMT(未开源)

 

以前的工作只关注如何在干净的数据上建立sota UNMT,而在真实的场景中,输入语句中常常存在小的噪声。模型对输入中的微小扰动很敏感,会导致各种误差。

首先定义两种类型的噪声,研究UNMT和SNMT在这种嘈杂场景下的性能,结果表明UNMT模型的性能优于SNMT模型,但两者的性能均有所下降。对抗性训练方法可以缓解这种情况, 提高BLEU score 10分。

 

两种噪声

单词噪声:对源句中的每个单词,以概率a替换为任意一个单词。a值越大,则有越多的单词被任意单词替换。

词序噪声:input shuffle策略,用一个随机数列γ改变源句子的词序,满足:

   

n为源句子长度,b为控制词序调整幅度的超参数,值越大顺序越乱(只有当b > 1时,顺序才会改变)。大小为n的随机数组Q,U为从0到b的均匀分布。γ定义Q的排列顺序,以合成噪声。

随着噪音a、b的增加,SNMT和UNMT性能都有所下降,在有噪声的情况下,UNMT系统的性能要优于BLEU评分的SNMT系统。

 

两种对抗训练方法去噪训练

基于词性嵌入的对抗性训练(Word_AT)和基于位置嵌入的对抗性训练(Position_AT),分别利用含有单词噪声和词序噪声的输入来提高UNMT的性能。

(1)Word_AT

对于语言L1在每次迭代训练,最小化目标函数使模型对扰动具有鲁棒性:

δ是源端的一个小的扰动。计算δatx的最大化是很困难的,词对抗扰动δatx是通过目标函数的梯度来近似。{Xi}是语言L1的数据集,{Yi}是语言L2的数据集,|X|, |Y|分别是数据集中的句子数量,{C(Xi)}和{C(Yi)}是有噪音的句子。PL1→L1 (PL2→L2)表示重构的概率。

gx为目标函数的梯度,通过反向传播算法计算得到。ε是控制对抗扰动大小的超参数。L2语言的对抗扰动目标函数优化为:

为了提高UNMT的鲁棒性,在UNMT去噪训练过程中会加入目标函数Latx和Laty。整个UNMT目标函数为:

LD是去噪的目标函数,LB是back-translaion的目标函数。{(YM(Xi), Xi)}和{(XM(Yi), Yi)} 是pseudo-parallel 句子对,PL1→L2和PL2→L1表示两种语言之间的翻译概率。。

 

(2)Position_AT

将对抗扰动添加到原始位置向量中,作为新的位置向量,然后和词向量结合。使用位置对抗扰动对源句已有的位置向量进行惩罚,从而在UNMT去噪训练中产生新的顺序位置向量。

 

实验结果

1)表现最好的UNMT (Lample Conneau, 2019),使用干净的Fr↔En、De↔En数据集。

2)在输入中只有单词噪声的情况下,Word_AT方法超过baseline约7.4 BLEU分;在输入中只有语序噪声的情况下,Position_AT方法超过baseline约8.3个BLEU分。

3)在包含了单词噪声和词序噪声的场景中,baseline UNMT得分显著减少,而Word_AT和Position_AT方法平均分别提高了4和3.3个BLEU分。两种AT方法都可以进一步提高UNMT性能,平均提高10个BLEU分。这表明作者提出的方法有效地缓解了输入噪声问题。

4)这种对抗性训练方法也可以在干净的数据输入中略微提高UNMT的性能,在所有测试集上平均提高0.6个BLEU分数,表明该方法可以提高UNMT在清洁场景下的鲁棒性。

 

在有噪声的情况下,对抗训练方法明显优于baseline UNMT。特别是源语言输入越嘈杂,两种UNMT系统之间的差距就越明显。这说明对抗训练方法是稳健有效的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值