![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6f2c92df2f8b9c0febd0f87e919d27b7.png)
1 Introduction
机器翻译模型不稳定的问题:
- 原始样本:
- 「Der Sprecher des Untersuchungsausschusseshat angekündigt, vor Gericht zu ziehen, falls sich die geladenen Zeugen weiterhin weigern sollten, eine Aussage zu machen。」
- 机器翻译成英语的结果:「Machine translation to English:「The spokesman of the Committee of Inquiry has announced that if the witnesses summoned continue to refuse to testify, he will be brought to court (调查委员会发言人宣布,如果被传唤的证人继续拒绝作证,他将被带到法庭)」。
- 对抗样本:
-
「Der Sprecher des Untersuchungsausschusseshat angekündigt, vorGerichtzuziehen, falls sich die vorgeladenen Zeugen weiterhin weigern sollten, eine Aussage zu machen。」
-
机器翻译成英语的结果:「The investigative committee has announced that he will be brought to justice if the witnesses who have been invited continue to refuse to testify (调查委员会宣布,如果被邀请的证人继续拒绝作证,他将被绳之以法)」。
-
Geladenen & vorgeladenen是同义词,可翻译成“有情绪的”
引出问题:
- 尽管近年来利用Transformer 模型进行神经机器翻译(NMT)取得了巨大成功,但是NMT模型对输入的微小干扰仍然很敏感,从而导致各种不同的错误。
- 论文提出了一种方法,使用生成的对抗性样本来提高机器翻译模型的鲁棒性,防止输入中存在的细小扰动度对其造成影响。
贡献:
-
研究了一种用于生成对抗样本的白盒方法。
-
我们提出了一种新的方法来提高具有双重对抗输入的NMT的鲁棒性。编码器中的对抗性输入旨在攻击NMT模型,而解码器中的对抗性输入能够防御预测中的错误。
-
我们的方法在两个常见的翻译基准上实现了对以前最先进的Transformer模型的显著改进。
2 Background
- Neural Machine Translation(NMT)
- 解码器生成的y:
- 解码器生成的y:
- 对抗样本
3 Approach
- 我们的目标是学习能够克服输入句子中的小扰动的健壮的NMT模型。与图像不同,在图像中,对像素的微小扰动是无法察觉的,而自然语言中的一个单词的变化都可以被感知到。
- NMT是一个序列生成模型,其中每个输出字都以之前的所有预测为条件。因此,一个问题是如何为NMT设计有意义的微扰操作。
- 我们提出了一种基于梯度的方法,称为AdvGen,来构建对抗样本,并使用这些样本来攻击和防护NMT模型。我们的直觉是,一个理想的模型会对相似的输入句子产生相似的翻译结果,尽管扰动会造成微小的差异。
3.1 Attack
sim相似度计算函数(向量的余弦距离);gxi梯度;Vx源语言词典
Plm双向语言模型;Q (xi , x) 句子x中i-th词的似然函数;Vxi= top_n(Q(xi; x))< Vx
思路:
- Dpos是位置{1,…,|x|}上的一个分布(抽取的对抗词)。
- 对于S,我们使用简单的均匀分布U。
- 根据约束R,我们希望输出句与输入句之间不要有太大的偏离,从而只根据超参数改变其组成词的一小部分:γ属于[0,1]
3.2 Defense
- z是decoder的input
- Qtrg是选择目标词候选集Vz的可能性。为了计算它,我们将NMT模型预测与语言模型相结合:
- Dtrg是目标输入采样位置的分布。不同于源中使用的均匀分布,我们想要在目标句中改变那些受源输入中扰动词影响的相关词。
- Mij是attention的分数目的是找最相似的词后面那个是指示函数不相等的时候为1相等为0。
3.3 Training
- 对x’ 和z’调用ADVGEN两次。在更新参数时,我们没有将梯度反向传播到AdvGen上,只是起到了数据生成器的作用。
- 在我们的实现中,与标准的Transformer模型相比,该函数最多产生20%的时间开销。
计算S上的鲁棒性损失:
最后的训练目标中的L:
4 Experiments
- 我们对汉英和英德翻译任务进行了实验。汉英训练集来自最不发 达国家语料库,包含120万对句子。我们使用NIST 2006数据集作为模型选择和超参数调优的验证集,并使用NIST 2002、2003、2004、2005、2008作为测试集。
- 在英德翻译任务中,我们使用了由450万对句子组成的WMT 14语料库。验证集是newstest2013,测试集是newstest2014。
- 实验用的是双向Transformer模型+ a linaer layer to combine + a softmax layer to make predictions.
- 通过grid search来调整在验证集方法的超参数
主要结果
通过将该方法应用于标准的汉英和英德翻译基准中,证明了我们的方法是有效的。与竞争性Transformer 模型相比,我们观察到BLEU 值分别显著提高2.8(汉英翻译)和1.6(英德翻译),获得了新的最佳性能。
手动添加noisy data:
我们在一个噪声数据集上评估我们的模型,该数据集使用类似于AdvGen描述的过程生成。
我们的方法在所有噪声级别上都优于所有基线方法。当噪声部分变大时,这种改善通常更加明显。
手动选出clean 样本的结果:
示例翻译:
不同组件的重要性:
5 总结
在这项工作中,我们提出了一种方法来提高具有双重敌对输入的NMT模型的鲁棒性。我们还介绍了一种白盒方法来为NMT生成对抗样本。在汉英和英德翻译任务上的实验结果表明,我们的方法能够同时提高翻译性能和鲁棒性。在未来的工作中,我们计划探索生成更自然的对抗样本的方向,免除单词替换和更先进的防御方法,如课程学习。
论文原文:https://www.aclweb.org/anthology/P19-1425/
图片来源:https://baijiahao.baidu.com/s?id=1640827458549093115&wfr=spider&for=pc
参考博客:https://www.cnblogs.com/shona/p/11583551.html