【论文阅读】Towards Robust Neural Machine Translation

利用对抗训练增强神经机器翻译的鲁棒性
这篇ACL2018的论文来自腾讯,探讨如何通过对抗训练提升神经机器翻译模型的鲁棒性。研究发现输入的微小扰动可能影响翻译质量,因此提出在输入句子上添加扰动,并在编码器和解码器中设计目标函数,以确保模型在面对扰动时仍能生成稳定输出。论文介绍了两种添加扰动的策略:词汇级别和特征级别,并强调模型的通用性和翻译性能的提升。
论文信息

ACL2018 来自腾讯

提出背景

  在神经机器翻译中,由于引入了循环神经网络和注意力机制,上下文中的每个词都可能影响模型的全局输出结果,类似于蝴蝶效应。
  比如说,同声传译里面的同音异形词;文本中的拼写错误
  输入的小的扰动会影响神经机器翻译的质量,在这篇文章中提出了利用对抗训练来提高NMT模型的robustness的方法。

具体方法

该方法的架构示意图如下图所示:
架构示意图
  其工作过程为:给定一个输入句子 x,首先生成与其对应的扰动输入 x’,接着采用对抗训练,让编码器对于 x 和 x’ 生成相似的中间表示,同时要求解码器端输出相同的目标句子 y。这样能使得输入中的微小扰动不会导致目标输出产生较大差异。
  对于翻译过程来说,有两个阶段:首先把输入x编码成隐藏状态HxH_xHx,然后从隐藏状态HxH_xHx中解码得到翻译y。
  模型有两个目标:
(1)编码得到的Hx′H_{x'}HxHxH_{x}Hx相近。
(2)给定Hx′H_{x'}Hx,解码器可以输出robust翻译y。

训练的目标函数

J(θ)=∑&lt;x,y&gt;∈S(Ltrue(x,y;θenc,θdec)+α∑x′∈N(x)Linv(x,x′;θenc,θdec)+β∑x′∈N(x)Lnoisy(x,y;θenc,θdec))J(\theta)=\sum\limits_{&lt;x,y&gt;\in S}(L_{true}(x,y;\theta_{enc},\theta_{dec})+ \alpha \sum\limits_{x&#x27;\in N(x)}{L_{inv}(x,x&#x27;;\theta_{enc},\theta_{dec}}) +\beta \sum\limits_{x&#x27;\in N(x)}{L_{noisy}(x,y;\theta_{enc},\theta_{dec}) })J(θ)=<x,y>S(Ltrue(x,y;θenc,θdec)+αxN(x)Linv(x,x;θenc,θdec)+βxN(x)Lnoisy(x,y;θenc,θdec))
其中第一项和第三项的计算方法是:
θ^=argminL(x,y;θ)=argmin∑&lt;x,y&gt;∈S−logP(y∣x;θ)\widehat{\theta}=argmin L(x,y;\theta)=argmin{\sum\limits_{&lt;x,y&gt;\in S}-logP(y|x;\theta)}θ=argminL(x,y;θ)=argmin<x,y>SlogP(yx;θ)
θ\thetaθ表示的是可以训练的参数。第二项表示的是adversarial loss。

两种给输入x加入扰动的策略
  • 在词汇级别加入扰动(lexical level)

给定一个输入的句子x,随机采样一些单词的位置,这些单词用词表中其他位置单词代替。这些单词遵循如下的分布:
P(x∣xi)=exp(cos(E[xi],E[x])∑exp(cos(E[xi],E[x])P(x|x_i)=\frac{exp(cos(E[x_i],E[x])}{\sum exp(cos(E[x_i],E[x])}P(xxi)=exp(cos(E[xi],E[x])exp(cos(E[xi],E[x])
分母是代表词表中除了x以外的其他单词。

  • 在feature级别加入扰动(feature level)

给定一个句子,可以得到每个单词的词嵌入向量,给词嵌入向量加入高斯噪声。
E(xi′)=E[xi]+ϵE(x&#x27;_i)=E[x_i]+\epsilonE(xi)=E[xi]+ϵ
ϵ\epsilonϵ服从的是高斯分布。对句子中的所有单词都加入高斯噪声。
  这只是该论文中提出的两种加入干扰的策略,可以根据特定的任务来设计需要加入干扰的策略。

模型的优势
  1. 提高了鲁棒性和翻译性能(translation performance)。
  2. 适用于任何噪声扰动,该篇文章中提出了两种构造噪声的方法,可以扩展到任意噪声形式。
  3. 不依赖于特定的网络结构,适用于任何NMT系统。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值