摘要
近年来,机器翻译取得了长足的进步。今天,有数百万人在在线翻译系统和移动应用程序中使用它,以便跨越语言障碍进行交流。这就会出现一个问题,即这种系统是否可以接近或达到与人类翻译同等的地位。在本文中,我们首先解决如何定义和准确衡量翻译中的与人类同等水平的问题。然后,我们将描述Microsoft的机器翻译系统,并根据广泛使用的WMT 2017新闻翻译任务(从中文到英语)评估其翻译质量。我们发现我们最新的神经机器翻译系统已经达到了最新的水平,与专业的人工翻译相比,翻译质量达到了人类的同等水平。我们还发现它大大超过了众包非专业翻译的质量。
1.介绍
近年来,在诸如Go之类的游戏,ImageNet中的图像分类以及Switchboard任务上的对话语音识别上,深度学习模型已经达到或超过了人类的表现水平。
在机器翻译领域,随着注意力编码器-解码器神经网络的出现,我们看到了其质量的显着提高。但是,翻译质量在不同语言对,领域之间的变化仍然很大,这或多或少与训练数据的可用性直接相关。本文总结了我们如何在新闻领域中从中文到英文的翻译中实现人类同等水平。尽管我们使用的技术并非特定于新闻领域或汉英语言对,但我们并不主张此结果必然会推广到其他语言对和领域,尤其是在受到数据和资源可用性限制的情况下。
十多年来,由于该领域的实际和商业重要性,网络上大量平行数据的可用性(至少使用最受欢迎的语言),新闻文本的翻译一直是机器翻译社区中的一个活跃领域。以及由政府资助的项目和评估活动的悠久历史,例如NIST-OpenMT和GALE。WMT(机器翻译会议)的年度评估活动也专注于新闻翻译十多年了。
出于多种原因,在翻译中定义和衡量人类水平具有挑战性。传统翻译质量度量(例如BLEU,TER和Meteor)通过与一种或多种人工参考翻译进行比较来衡量翻译质量。但是,相同的源语句有时可能会以实质上不同但同样正确的方式翻译。这使得基于参考的评估在确定近似人类水平的机器翻译的质量方面几乎没有用。
进一步使事情复杂化的是,我们发现参考翻译的质量(长期以来一直被专业翻译认为是“标准”注释)有时质量很差。这是因为这些参考翻译通常来自众包(直接或通过翻译供应商间接提供)。我们已经观察到,人类工作者经常在有或没有后编辑的情况下使用在线MT,而不是从头开始翻译。此外,许多人群工作者似乎只掌握其中一种语言,这常常导致翻译质量不可接受。
在第2节中,我们描述了如何应对定义和衡量人类同等水平的挑战。在第3节中,我们描述了我们的系统架构。第4节介绍了我们的数据和实验。第5和6节介绍了我们的评估结果和分析。
2.翻译上的人类同等水平
使机器翻译达到人类同等水平是机器翻译研究的重要里程碑。但是,计算机达到人类水平的想法通常被认为是无法实现的,并且会引起研究界和最终用户的负面反应。这是可以理解的,因为以前的类似公告被证明过于乐观。
在进行任何有关人类同等水平的有意义的讨论之前,我们需要对翻译的人类同等水平概念进行严格定义。基于此理论定义,我们可以研究神经机器翻译与该目标的接近程度。
2.1 定义
直观地,我们可以如下定义人类同等水平的翻译:
定义1。如果一个人判断另一个人产生的候选翻译的质量与机器所产生的候选翻译的质量相等,那么该机器就实现了人类对等。
假设人类可以通过为测试集的单个句子的翻译分配分数并从单个句子到一组测试句子进行归类来衡量翻译质量,那么这将有效地产生以下统计定义:
定义2。如果来自机器翻译系统的候选翻译测试集的人类质量得分与相应的人类翻译的得分之间在统计学上没有显着差异,则机器已达到人类同等的水平。
我们选择定义2来以公平和原则的方式解决机器翻译的人类同等水平的问题。基于直接的人工评估来给定一种可靠的评分标准来确定翻译质量,一个人可以使用成对的统计显着性检验来确定是否可以将给定的机器翻译系统与相应人工参考的人工翻译质量同等地考虑。
重要的是要注意,人类同等水平的定义并不意味着机器翻译系统的性能优于人类基准,而是其质量在统计学上是无法区分的。这也不意味着翻译是没有错误的。机器像人类一样,将继续犯错误。
最后,相对于一组特定的基准人工翻译,衡量在给定测试集上实现的人类同等水平,这不会自动推广到其他领域或语言对。
2.2 评估
我们对人类同等水平的操作定义要求使用人类注释者来判断翻译质量。尽管存在各种自动化指标来衡量机器翻译质量,但这些指标只能充当(不一定是相关的)代理。此类度量通常基于参考,因此会受到参考偏差的影响。这可能以不良的参考翻译形式出现,从而导致不良的片段分数。同样,由于翻译的生成性质,对于给定的输入片段,通常会有多个有效翻译。任何与对应参考文献的结构不完全匹配的翻译都存在评分劣势,即使是完美的人工翻译。尽管可以使用多个参考来减轻这些影响,但根本的问题仍未解决。
因此,在机器翻译会议(WMT)之后,我们采用WMT17中所述的直接评估作为我们的人工评估方法。为了避免参考偏差(人类评估也可能发生),我们使用了基于IWSLT17的基于源的评估方法。
在基于源的直接评估中,向注释者显示源文本和候选译文,并被问到“以上候选文本如何准确地传达源文本的语义?”这一问题,并使用范围为0(不完全)到100(完全)的滑块来回答。作为副作用,我们必须在人工评估活动中使用双语注释器。
然后将原始人类分数标准化为z-score,z-score定义为相对于样本,观察值高于平均值的标准偏差的带符号数。
然后,将z-score在段和系统级别平均。使用无偏统计的结果分为若干类(根据Wilcoxon秩和检验,p级p≤0.05)。
为了确定不可靠的人类工作者,直接评估包括人为降低翻译质量,即所谓的“不良参考”。任何大规模的人群注释任务都需要这种集成的质量控制来保证高质量的结果。在针对中文到英语评估的活动中,与其他运行类似注解任务的语言相比,我们观察到相对较少的游戏或垃圾邮件尝试(我们在本文中未对此进行报道)。在本文的其余部分中,直接评估排名群集的计算方法与为WMT17会议生成的方法相同,但进行了一些修改。
3.系统描述
3.1 神经机器翻译
神经机器翻译(NMT)代表了翻译质量的最新水平。这已在各种研究评估活动(例如WMT)以及大规模生产系统中得到证明。NMT可以扩展以训练具有数千万个句子的平行数据。
当前,最新的NMT通常基于具有注意力机制的序列到序列编码器-解码器模型。具有注意力机制的序列到序列NMT对给定输入序列
x
\textbf x
x,生成翻译序列
y
\textbf y
y的条件概率
p
(
y
∣
x
)
p(\textbf y|\textbf x)
p(y∣x)进行建模。通常,注意力NMT系统
θ
θ
θ由两个部分组成:将输入序列转换为序列或连续表示形式的编码器
θ
e
θ_e
θe,以及通过注意力机制动态读出编码器输出并预测每个目标词条件分布的解码器
θ
d
θ_d
θd 。通常,在由N个句子对组成的平行训练集上训练
θ
θ
θ以使下式最大化:
L
(
θ
)
=
∑
n
=
1
N
l
o
g
p
(
y
(
n
)
∣
x
(
n
)
;
θ
)
=
∑
n
=
1
N
∑
t
=
1
T
l
o
g
p
(
y
t
(
n
)
∣
y
<
t
(
n
)
,
h
t
−
1
(
n
)
,
f
a
t
t
(
f
e
n
c
(
x
(
n
)
)
,
y
<
t
(
n
)
,
h
t
−
1
(
n
)
)
;
θ
)
(1)
\mathcal L(\theta)=\sum^N_{n=1}log~p(y^{(n)}|x^{(n)};\theta)=\\ \sum^N_{n=1}\sum^T_{t=1}log~p(y^{(n)}_t|\textbf y^{(n)}_{\lt t},h^{(n)}_{t-1},f^{att}(f^{enc}(\textbf x^{(n)}),\textbf y^{(n)}_{\lt t},h^{(n)}_{t-1});\theta)\tag{1}
L(θ)=n=1∑Nlog p(y(n)∣x(n);θ)=n=1∑Nt=1∑Tlog p(yt(n)∣y<t(n),ht−1(n),fatt(fenc(x(n)),y<t(n),ht−1(n));θ)(1)
其中
h
t
−
1
(
n
)
h^{(n)}_{t-1}
ht−1(n)表示内部解码器状态,
y
<
t
y_{<t}
y<t表示时刻
t
t
t之前的字。在每个时刻
t
t
t,注意力机制
f
a
t
t
f^{att}
fatt将上下文向量确定为编码器输出
f
e
n
c
(
x
(
n
)
)
f^{enc}(\textbf x^{(n)})
fenc(x(n))的加权和,其中权重基本上是通过将每个编码器的输出与解码器的到时刻
t
−
1
t-1
t−1为止的内部状态进行比较并确定的。
f
e
n
c
f^{enc}
fenc是句子级特征提取器,可以实现为多层双向RNN,卷积模型(ConvS2S)或Transformer。
与RNN序列到序列模型一样,ConvS2S和Transformer也使用编码器-解码器体系结构。但是,两个模型都旨在消除内部解码器状态
h
t
−
1
h_{t-1}
ht−1。当遵循RNN的循环特性,其中每个句子逐字编码,这限制了计算的并行性,并使编码的表示形式对序列长度敏感。
ConvS2S利用堆叠的卷积表示对较低层附近单词之间的依赖性进行建模,而较远范围的依赖性在堆栈的较高层中进行处理。解码器将注意力放在每一层上。ConvS2S还利用位置敏感的嵌入以及残差连接来利用位置差异。
Transformer模型用自注意力机制代替卷积,这也消除了编码器中的重复处理和位置依赖性。它还利用多头注意力,可以一次关注多个源位置,以便对不同类型的依存关系建模,而与位置无关。与ConvS2S相似,Transformer模型使用位置嵌入来补偿顺序信息,并提出了非参数表示形式。尽管这些模型消除了编码器中的重复现象,但以上讨论的所有模型均使用自回归解码,其中每个输出字的分布都取决于先前生成的输出。Transformer模型显示显着优势,因此被选为本文的基础。
3.2 达到人类同等水平
尽管在过去的几年中,研究领域在NMT方面取得了巨大进步,但与人类水平仍然具有较大差距。在本文中,我们描述了为实现中英新闻翻译任务而在大型数据集上实现达到人类同等水平的努力。我们解决了当前NMT范式的许多局限性。我们的贡献有:
- 我们利用翻译问题的对偶性允许模型从源到目标和目标到源的翻译中学习。同时,这使我们能够从有监督和无监督的源数据和目标数据中学习。这将在第3.3节中描述。具体来说,我们利用通用的双重学习方法(第3.3.1节),并引入了一种联合训练算法,通过迭代地增强源到目标和目标到源的统一框架中的翻译模型来增强单语源和目标数据的效果(第3.3.2节)。
- NMT系统从左到右自回归解码,这意味着在顺序生成输出期间,先前的错误将被放大,并可能误导后续的生成。集束搜索只能部分解决此问题。我们提出了两种方法来缓解这个问题:Deliberation Network是一种基于两次遍历解码来完善翻译的方法(第3.4.1节);并且针对两个KullbackLeibler(KL)散度正则化项的新训练目标来鼓励从左到右和从右到左的解码结果之间达成一致(第3.4.2节)。
- 由于NMT非常容易受到嘈杂训练数据,很少出现的数据以及训练数据质量的影响。我们将在3.5节中讨论数据选择和过滤的方法,包括跨语言的句子表示。
- 最后,我们发现我们的系统是非常互补的,因此可以从系统组合中受益,最终达到人类同等的水平,具体请参阅第3.6节。
在本文中,我们交互地使用源到目标和(Zh→En)来表示中文到英文;目标到源和(En→Zh)表示英语到中文。
3.3 利用翻译的对偶性
我们利用翻译问题的对偶性来允许模型从源到目标和目标到源翻译中学习。我们使用两种方法探索翻译对偶性:双重学习(3.3.1节)和联合训练(3.3.2节)。
3.3.1 NMT的双重学习
双重学习是最近提出的一种学习范式,它试图在两个双重任务中实现机器学习模型的共同成长,例如图像分类与图像生成,语音识别与文本语音转换。以及中文译成英文与英文译成中文。在双重学习中,两个并行模型(称为原始模型和对偶模型)通过利用原始对偶结构相互增强,以便从未标记的数据中学习或规范从标记的数据中学习。自从提出双重学习以来,它已成功应用于各种现实世界中的问题,例如问答,图像分类,图像分割,图像到图像翻译, 人脸属性操纵和机器翻译。
在这项工作中,为了获得强大的机器翻译性能,我们结合了两种不同的双重学习方法,分别提高了单语和双语训练数据的使用率。我们将中文到英文(Zh→En)的翻译模型作为原始模型,将英文到中文(En→Zh)的模型作为对偶模型,分别表示为
p
(
y
∣
x
;
θ
x
→
y
)
p(\textbf y|\textbf x;θ_{x→y})
p(y∣x;θx→y)和
p
(
x
∣
y
;
θ
y
→
x
)
p(\textbf x|\textbf y;θ_{y→x})
p(x∣y;θy→x)。
- 双重无监督学习(DUL)。为了提高Zh→En的翻译质量,DUL根据来自En→Zh对偶模型的附加监督信号有效地利用了单语的中文语料库。具体地说,对于单语的中文句子
x
\textbf x
x,使用原始模型
p
(
⋅
∣
x
;
θ
x
→
y
)
p(·|\textbf x;θ_{x→y})
p(⋅∣x;θx→y)采样英语翻译
y
\textbf y
y。从
y
\textbf y
y开始,我们使用对偶模型
p
(
⋅
∣
y
;
θ
y
→
x
)
p(·|\textbf y;θ_{y→x})
p(⋅∣y;θy→x)计算从
y
\textbf y
y重建
x
\textbf x
x的对数似然
l
o
g
p
(
x
∣
y
;
θ
y
→
x
)
log~p(\textbf x|\textbf y;θ_{y→x})
log p(x∣y;θy→x),并将其作为在状态
x
x
x选择动作
y
y
y的奖赏。在遍历
x
\textbf x
x的所有可能的翻译
y
\textbf y
y时,我们希望最大化期望的重建对数似然,如下所示:
L ( x ; θ x → y ) = E y ∼ p ( ⋅ ∣ x ; θ x → y ) { l o g p ( x ∣ y ; θ y → x ) } = ∑ y p ( y ∣ x ; θ x → y ) l o g p ( x ∣ y ; θ y → x ) (2) \mathcal L(\textbf x;\theta_{x→y})=E_{\textbf y\sim p(\cdot|\textbf x;\theta_{x→y})}\{log~p(\textbf x|\textbf y;\theta_{y→x})\}=\sum_{\textbf y}p(\textbf y|\textbf x;\theta_{x→y})log~p(\textbf x|\textbf y;\theta_{y→x})\tag{2} L(x;θx→y)=Ey∼p(⋅∣x;θx→y){log p(x∣y;θy→x)}=y∑p(y∣x;θx→y)log p(x∣y;θy→x)(2)
取 L ( x ; θ x → y ) \mathcal L(\textbf x;θ_{x→y}) L(x;θx→y)相对于 θ x → y θ_{x→y} θx→y的梯度,我们得到:
由于对上述方程式中所有可能的 y \textbf y y求和在计算上是难处理的,因此我们使用蒙特卡洛采样来近似上述期望:
∂ L ( x ; θ x → y ) ∂ θ x → y ≈ ∂ l o g p ( y ′ ∣ x ; θ x → y ) ∂ θ x → y l o g p ( x ∣ y ′ ; θ y → x ) , (4) \frac{∂\mathcal L(\textbf x;\theta_{x→y})}{∂\theta_{x→y}}\approx \frac{∂log~p(\textbf y'|\textbf x;\theta_{x→y})}{∂\theta_{x→y}}log~p(\textbf x|\textbf y';\theta_{y→x}),\tag{4} ∂θx→y∂L(x;θx→y)≈∂θx→y∂log p(y′∣x;θx→y)log p(x∣y′;θy→x),(4)
其中 y ′ \textbf y' y′是来自原始模型 p ( ⋅ ∣ x ; θ x → y ) p(·|\textbf x;θ_{x→y}) p(⋅∣x;θx→y)的采样翻译。
近似梯度用于更新原始模型参数 θ x → y θ_{x→y} θx→y。注意,对偶模型的参数 θ y → x θ_{y→x} θy→x可以使用单语英语语料以相似的方式通过最大化中文翻译的重构似然来更新。 - 双重有监督学习(DSL)。与旨在有效利用单语数据的DUL不同,DSL是一种通过增强两个模型内的概率相关性来更好地利用双语训练数据的方法。DSL的思想是在原始模型和对偶模型中强制联合概率一致性。具体来说,对于双语句子对
(
x
,
y
)
(\textbf x,\textbf y)
(x,y),理想情况下,我们有
p
(
x
,
y
)
=
p
(
x
)
p
(
y
∣
x
)
=
p
(
y
)
p
(
x
∣
y
)
p(\textbf x,\textbf y)=p(\textbf x)p(\textbf y|\textbf x)=p(\textbf y)p(\textbf x|\textbf y)
p(x,y)=p(x)p(y∣x)=p(y)p(x∣y)。 但是,如果分别训练两个模型,则很难满足
p
(
x
)
p
(
y
∣
x
)
=
p
(
y
)
p
(
x
∣
y
)
p(\textbf x)p(\textbf y|\textbf x)=p(\textbf y)p(\textbf x|\textbf y)
p(x)p(y∣x)=p(y)p(x∣y)。因此,当应用于神经机器翻译时,DSL进行两种模型的联合训练,并在平行数据
(
x
,
y
)
(\textbf x,\textbf y)
(x,y)上引入额外的损失项以进行正则化:
L D S L = ( l o g p ^ ( x ) + l o g p ( y ∣ x ; θ x → y ) − l o g p ^ ( y ) − l o g p ( x ∣ y ; θ y → x ) ) 2 (5) \mathcal L_{DSL}=(log~\hat p(\textbf x)+log~p(\textbf y|\textbf x;\theta_{x→y})-log~\hat p(\textbf y)-log~p(\textbf x|\textbf y;\theta_{y→x}))^2\tag{5} LDSL=(log p^(x)+log p(y∣x;θx→y)−log p^(y)−log p(x∣y;θy→x))2(5)
其中 p ^ ( x ) \hat p(\textbf x) p^(x)和 p ^ ( y ) \hat p(\textbf y) p^(y)是训练数据的经验边际分布。在我们的实验中,它们是分别在中文和英文语料上包含双语和单语数据的两种语言模型的输出得分。
在我们的体系结构中,DUL和DSL都用于模型训练中,两者都应用于单语和双语训练语料库。
3.32 NMT的联合训练
反向翻译通过大量的单语数据增加了相对较少的平行数据,使我们能够借助目标到源(T2S)模型来训练源到目标(S2T)模型。具体来说,给定目标语言中的一组句子
{
y
(
t
)
}
\{\textbf y^{(t)}\}
{y(t)},将使用预先构建的T2S翻译系统自动生成源语言中的翻译
{
x
(
t
)
}
\{\textbf x^{(t)}\}
{x(t)}。在训练S2T NMT模型时,这些合成句子对
{
(
x
(
t
)
,
y
(
t
)
)
}
\{(\textbf x^{(t)},\textbf y^{(t)})\}
{(x(t),y(t))}与原始双语数据结合在一起。为了同时利用源语言和目标语言的单语数据,并使S2T和T2S模型相互帮助,我们利用[51]中所述的联合训练方法通过扩展反向翻译来优化它们。联合训练方法使用单语数据并通过多次迭代更新NMT模型。
给定平行语料库
D
=
{
(
x
(
n
)
,
y
(
n
)
)
}
n
=
1
N
D=\{(\textbf x^{(n)},\textbf y^{(n)})\}^N_{n=1}
D={(x(n),y(n))}n=1N且目标单语语料库
Y
=
{
y
(
t
)
}
t
=
1
T
Y=\{\textbf y^{(t)}\}^T_{t=1}
Y={y(t)}t=1T,则使用半监督训练目标共同最大化双语数据和单语数据的似然:
L
∗
(
θ
x
→
y
)
=
∑
n
=
1
N
l
o
g
p
(
y
(
n
)
∣
x
(
n
)
)
+
∑
t
=
1
T
l
o
g
p
(
y
(
t
)
)
(6)
\mathcal L^*(\theta_{x→y})=\sum^N_{n=1}log~p(\textbf y^{(n)}|\textbf x^{(n)})+\sum^T_{t=1}log~p(\textbf y^{(t)})\tag{6}
L∗(θx→y)=n=1∑Nlog p(y(n)∣x(n))+t=1∑Tlog p(y(t))(6)
通过引入
x
\textbf x
x作为表示目标句子
y
(
t
)
\textbf y^{(t)}
y(t)的源翻译的潜在变量,可以在EM框架中借助T2S翻译模型对等式6进行优化:
L
(
θ
x
→
y
)
=
∑
n
=
1
N
l
o
g
p
(
y
(
n
)
∣
x
(
n
)
)
+
∑
t
=
1
T
∑
x
p
(
x
∣
y
(
t
)
)
l
o
g
p
(
y
(
t
)
∣
x
)
(7)
\mathcal L(\theta_{x→y})=\sum^N_{n=1}log~p(\textbf y^{(n)}|\textbf x^{(n)})+\sum^T_{t=1}\sum_{\textbf x}p(\textbf x|\textbf y^{(t)})log~p(\textbf y^{(t)}|\textbf x)\tag{7}
L(θx→y)=n=1∑Nlog p(y(n)∣x(n))+t=1∑Tx∑p(x∣y(t))log p(y(t)∣x)(7)
同样,我们可以借助S2T转换模型来优化T2S转换模型,如下所示:
L
(
θ
y
→
x
)
=
∑
n
=
1
N
l
o
g
p
(
x
(
n
)
∣
y
(
n
)
)
+
∑
s
=
1
S
∑
y
p
(
y
∣
x
(
s
)
)
l
o
g
p
(
x
(
s
)
∣
y
)
(8)
\mathcal L(\theta_{y→x})=\sum^N_{n=1}log~p(\textbf x^{(n)}|\textbf y^{(n)})+\sum^S_{s=1}\sum_{\textbf y}p(\textbf y|\textbf x^{(s)})log~p(\textbf x^{(s)}|\textbf y)\tag{8}
L(θy→x)=n=1∑Nlog p(x(n)∣y(n))+s=1∑Sy∑p(y∣x(s))log p(x(s)∣y)(8)
从等式7和8中可以发现,模型
p
(
y
∣
x
)
p(\textbf y|\textbf x)
p(y∣x)和
p
(
x
∣
y
)
p(\textbf x|\textbf y)
p(x∣y)彼此充当伪训练数据生成器:
p
(
x
∣
y
)
p(\textbf x|\textbf y)
p(x∣y)将
Y
Y
Y转换为
X
X
X,从而用于
p
(
y
∣
x
)
p(\textbf y|\textbf x)
p(y∣x),而
p
(
y
∣
x
)
p(\textbf y|\textbf x)
p(y∣x)将
X
X
X转换为
Y
Y
Y,从而用于
p
(
x
∣
y
)
p(\textbf x|\textbf y)
p(x∣y)的。联合训练过程如图1所示,具体过程为:
(1)Iteration 0:在第一次迭代开始之前,两个初始翻译模型
p
0
(
y
∣
x
)
p_0(\textbf y|\textbf x)
p0(y∣x)和
p
0
(
x
∣
y
)
p_0(\textbf x|\textbf y)
p0(x∣y)都经过了平行数据
D
=
{
(
x
(
n
)
,
y
(
n
)
)
}
D=\{(\textbf x^{(n)},\textbf y^{(n)})\}
D={(x(n),y(n))}的预训练。
(2)Iteration 1:两个NMT系统
p
0
(
y
∣
x
)
p_0(\textbf y|\textbf x)
p0(y∣x)和
p
0
(
x
∣
y
)
p_0(\textbf x|\textbf y)
p0(x∣y)用于翻译单语言数据
X
=
{
x
(
s
)
}
X=\{\textbf x^{(s)}\}
X={x(s)}和
Y
=
{
y
(
t
)
}
Y=\{\textbf y^{(t)}\}
Y={y(t)},从而创建两个综合训练数据配置
X
′
=
{
x
(
s
)
,
y
0
(
s
)
}
X'=\{\textbf x^{(s)},\textbf y^{(s)}_0\}
X′={x(s),y0(s)}和
Y
′
=
{
y
(
t
)
,
x
0
(
t
)
}
Y'=\{\textbf y^{(t)},\textbf x^{(t)}_0\}
Y′={y(t),x0(t)}。然后,通过将
Y
′
Y'
Y′和
X
′
X'
X′与平行数据D相结合,在此扩展训练数据上训练模型
p
1
(
y
∣
x
)
p_1(\textbf y|\textbf x)
p1(y∣x)和
p
1
(
x
∣
y
)
\textbf p_1(\textbf x|\textbf y)
p1(x∣y)。值得注意的是,使用了n个最佳翻译,并利用NMT模型给出的翻译概率对生成的翻译进行加权,可以将嘈杂翻译的负面影响降到最低。
(3)Iteration 2:重复上述过程,并使用更新的NMT模型
p
1
(
y
∣
x
)
p_1(\textbf y|\textbf x)
p1(y∣x)和
p
1
(
x
∣
y
)
\textbf p_1(\textbf x|\textbf y)
p1(x∣y)重新生成综合训练数据,这些模型可能更准确。预期通过更好的伪训练数据,学习后的NMT模型
p
2
(
y
∣
x
)
p_2(\textbf y|\textbf x)
p2(y∣x)和
p
2
(
x
∣
y
)
\textbf p_2(\textbf x|\textbf y)
p2(x∣y)也将得到改善训练过程将继续进行,直到开发数据集的性能不再得到改善为止。
3.4 消除从左到右的偏差
当前的NMT系统遭受曝光偏差问题。曝光偏差是指在顺序生成输出序列期间,先前的错误将被放大并误导后续生成的问题。我们以两种方式解决此限制:两次通过解码(Deliberation Networks,3.4.1节)和协议正则化(3.4.2节)。
3.4.1 Deliberation Networks
经典的神经机器翻译模型可以从左到右逐词生成翻译。这与诸如写文章或论文时的人类行为有很大不同。在撰写论文时,通常会先创建一个初稿,然后在整个上下文中重新审阅该草案,并根据其左侧上下文和右侧上下文进一步完善每个单词(或短语/句子/段落)。相反,在神经机器翻译中,解码时第
t
t
t个单词
y
t
y_t
yt的输出仅取决于源侧句子
x
x
x及其左上下文(即,已经生成的标记
{
y
1
,
.
.
.
,
y
t
−
1
}
\{y_1,...,y_{t-1}\}
{y1,...,yt−1})。受人为书写过程的启发,如图3所示,Deliberation Networks通过使用带有两个解码器的两次通过过程进行解码,试图克服这一缺陷。第一次通过解码器输出初始翻译作为草稿。第二遍解码器将此草稿打磨成最终翻译。从第一遍解码器输出的草稿翻译包含全局信息,该全局信息扩大了第二遍解码处理中对每个字符
y
t
y_t
yt进行解码的接收范围,从而打破了仅向左看的限制。
在Transformer之上构建的Deliberation Networks的详细模型结构如图4所示。与标准Transformer一样,编码器
E
\mathcal E
E和first-pass解码器
D
1
\mathcal D_1
D1均包含通过自注意力机制连接的多个堆叠层。具体地,编码器基于其原始嵌入和从其他位置收集的上下文信息,向
T
s
T_s
Ts个源词中的每一个分配表示。我们将顶层状态向量
h
1
:
T
s
h_{1:T_s}
h1:Ts的序列表示为
H
\mathcal H
H。编码器
E
\mathcal E
E读取源语句
x
x
x,并通过自注意力机制输出隐藏状态序列
H
=
h
1
:
T
s
\mathcal H=h_{1:T_s}
H=h1:Ts。first-pass解码器
D
1
\mathcal D_1
D1以
H
\mathcal H
H作为输入,进行第一轮解码,并获得第一遍翻译语句
y
^
\hat \textbf y
y^以及表示为
S
^
\mathcal{\hat S}
S^的softmax之前的隐藏状态。second-pass解码器
D
2
\mathcal D_2
D2也包含几个堆叠的层,但与
D
1
\mathcal D_1
D1的显着不同之处在于
D
2
\mathcal D_2
D2将
E
\mathcal E
E和
D
1
\mathcal D_1
D1两者输出的隐藏状态作为输入。具体地说,将
D
2
\mathcal D_2
D2中第
i
i
i层的输出表示为
s
i
s^i
si,我们有
s
i
=
A
e
(
H
,
s
i
−
1
)
+
A
c
(
S
^
,
s
i
−
1
)
+
A
s
(
s
i
−
1
)
s^i=A_e(H,s^{i-1})+A_c(\mathcal{\hat S},s^{i-1})+A_s(s^{i-1})
si=Ae(H,si−1)+Ac(S^,si−1)+As(si−1),其中
A
e
A_e
Ae和
A
c
A_c
Ac是分别将
D
2
\mathcal D_2
D2与
E
\mathcal E
E和
D
1
\mathcal D1
D1连接的多头注意力机制,而
A
s
A_s
As是
D
2
\mathcal D_2
D2内在
s
i
−
1
s^{i-1}
si−1上运行的自注意力机制。容易观察到,由于我们将first-pass解码器
D
1
\mathcal D_1
D1的输出馈送到second-pass解码器
D
2
\mathcal D_2
D2,所以最后的翻译结果
y
y
y取决于第一翻译句子
y
^
\hat \textbf y
y^。通过这种方式,我们获得了目标方的全局信息,从而使我们能够在句子生成中查看正确的上下文。策略梯度算法用于联合优化这三个部分的参数。
双重学习和deliberation networks的结合如下:首先,我们使用DUL和DSL训练Zh→En和En→Zh Transformer模型。然后,对于目标侧单语句子
y
\textbf y
y,使用现有的En→Zh模型将其转换为中文句子
x
′
\textbf x'
x′。然后,我们将
(
X
′
,
Y
)
(X',Y)
(X′,Y)视为伪双语数据,并将其添加到双语数据语料库中。扩大的双语语料库然后被用来训练如上所述的deliberation networks。在deliberation networks训练中,我们使用第一步中获得的Zh→En模型初始化编码器和first-pass解码器。