当前位置: 首页 > article >正文

神经机器翻译:联合学习对齐和翻译

大家读完觉得有帮助记得关注和点赞!!!

摘要

神经机器翻译是最近提出的机器翻译方法。与传统的统计机器翻译不同,神经机器翻译旨在构建一个可以联合调整以最大化翻译性能的单一神经网络。最近为神经机器翻译提出的模型通常属于编码器-解码器家族,将源句子编码成一个固定长度的向量,解码器从该向量生成翻译。在本文中,我们推测使用固定长度的向量是提高这一基本编码器-解码器架构性能的瓶颈,并提出通过允许模型自动(软)搜索与预测目标词相关的源句子部分来扩展这一点,而无需明确地将这些部分形成硬段。通过这种新方法,我们在英法翻译任务上实现了与现有最先进的基于短语的系统相当的翻译性能。此外,定性分析表明,模型找到的(软)对齐与我们的直觉很好地一致。

1 引言

神经机器翻译是一种新兴的机器翻译方法,最近由Kalchbrenner和Blunsom (2013),、Sutskever等人 (2014)以及Cho等人 (2014b)提出。与传统的基于短语的翻译系统(参见,例如,Koehn等人,2003)不同,后者由许多小的子组件组成并分别进行调优,神经机器翻译试图构建和训练一个单一的大型神经网络,该网络读取一个句子并输出正确的翻译。

大多数提出的神经机器翻译模型属于编码器-解码器家族(Sutskever 等人,2014;Cho 等人,2014a)),每个语言都有一个编码器和一个解码器,或者涉及应用于每个句子的特定语言编码器,其输出然后进行比较(Hermann 和 Blunsom,2014)。编码器神经网络读取并编码源句子到一个固定长度的向量。解码器然后从编码向量输出翻译。整个编码器-解码器系统,包含用于语言对的编码器和解码器,被联合训练以最大化给定源句子时正确翻译的概率。

这种编码器-解码器方法的一个潜在问题是,神经网络需要能够将源句子的所有必要信息压缩到一个固定长度的向量中。这可能会使神经网络难以处理长句子,尤其是那些比训练语料库中的句子更长的句子。Cho等人(2014b)表明,一个基本的编码器-解码器的性能确实随着输入句子长度的增加而迅速下降。

为了解决这个问题,我们提出了一种编码器-解码器模型的扩展,该模型学习联合对齐和翻译。每次提出的模型生成一个翻译中的词语时,它会(软)搜索源句子中一组信息最集中的位置。模型根据这些源位置相关的上下文向量以及所有先前生成的目標词来预测目标词。

这种方法与基本编码器-解码器最显著的区别在于,它不试图将整个输入句子编码成一个固定长度的向量。相反,它将输入句子编码成一个向量序列,并在解码翻译时自适应地选择这些向量中的一个子集。这使得神经机器翻译模型摆脱了将源句子的所有信息,无论其长度如何,都压缩到固定长度向量中的限制。我们证明这使得模型能够更好地处理长句子。

本文表明,提出的联合学习对齐和翻译方法,与基本的编码器-解码器方法相比,显著提高了翻译性能。这种改进在较长的句子中更为明显,但可以在任何长度的句子中观察到。在英法翻译任务中,所提出的方法使用单个模型,实现了与传统基于短语的系统相当或接近的翻译性能。此外,定性分析表明,所提出的模型在源句子和对应的目标句子之间找到了语言上合理的(软)对齐。

2 背景:神经机器翻译

从概率的角度来看,翻译等同于找到一个目标句子y,它使给定源句子x的条件概率最大化,即arg maxy p(y | x)。在神经机器翻译中,我们拟合一个参数化模型,以使用平行训练语料库最大化句子对的条件概率。一旦翻译模型学习了条件分布,给定一个源句子,就可以通过搜索使条件概率最大化的句子来生成相应的翻译。

最近,一些论文提出使用神经网络直接学习这种条件分布(例如,Kalchbrenner 和 Blunsom,2013;Cho 等人,2014a;Sutskever 等人,2014;Cho 等人,2014b;Forcada 和 Neco,1997)。这种神经机器翻译方法通常包含两个部分,第一个部分编码源句子 x,第二个部分解码为目标句子 y。例如,(Cho 等人,2014a)和(Sutskever 等人,2014)使用两个循环神经网络(RNN)将可变长度的源句子编码成固定长度的向量,并将该向量解码成可变长度的目标句子。

尽管神经机器翻译是一种相当新的方法,但它已经展现出令人鼓舞的结果。Sutskever 等人 (2014) 报告称,基于具有长短期记忆 (LSTM) 单元的循环神经网络 (RNN) 的神经机器翻译在英法翻译任务上取得了接近传统基于短语的机器翻译系统的最先进性能。1 将神经组件添加到现有翻译系统中,例如,对短语表中的短语对进行评分(Cho 等人,2014a)或重新排序候选翻译(Sutskever 等人,2014)),已经超越了之前的最先进性能水平。

2.1 RNN 编码器-解码器

在此,我们简要介绍了由 Cho 等人 (2014a) 和 Sutskever 等人 (2014) 提出的称为 RNN 编码器-解码器的基础框架,在此基础上我们构建了一个能够同时学习对齐和翻译的新架构。

在编码器-解码器框架中,编码器将输入句子,一个向量序列 x = (x1, · · · , xTx),读入一个向量 c。2 最常见的方法是使用 RNN,使得

其中 ht ∈ Rn 是时间 t 的隐藏状态,而 c 是从隐藏状态序列生成的向量。f 和 q 是某些非线性函数。例如,Sutskever 等人 (2014) 使用 LSTM 作为 f 和 q ({h1, · · · , hT }) = hT 。

解码器通常被训练来预测给定上下文向量 c 和所有先前预测的词 {y1, · · · , yt′−1} 的下一个词 yt′。换句话说,解码器通过将联合概率分解为有序条件概率来定义翻译 y 上的概率:

其中 y = y1, · · · , yTy 。使用循环神经网络 (RNN),每个条件概率被建模为

其中 g 是一个非线性、可能多层的函数,输出 yt 的概率,而 st 是 RNN 的隐藏状态。需要注意的是,也可以使用其他架构,例如 RNN 和反卷积神经网络的混合体(Kalchbrenner 和 Blunsom,2013)。

3 学习对齐和翻译

在本节中,我们提出了一种用于神经机器翻译的新型架构。该架构由一个双向RNN作为编码器(第3.2节)和一个解码器组成,该解码器在解码翻译时模拟对源句子的搜索(第3.1节)。

3.1 解码器:概述

在一个新的模型架构中,我们将等式 (2) 中的每个条件概率定义为:

其中 si 是时间 i 的 RNN 隐藏状态,计算方法为

需要注意的是,与现有的编码器-解码器方法不同(参见公式 (2)),),这里概率是根据每个目标词 yi 的不同上下文向量 ci 来进行条件化的。

上下文向量 ci 依赖于一系列注释 (h1, · · · , hTx),编码器将输入句子映射到这些注释上。每个注释 hi 包含有关整个输入序列的信息,特别关注输入序列中第 i 个单词周围的部分。我们在下一节中详细解释了注释的计算方法。

上下文向量 ci 然后被计算为这些标注 hi: 的加权和。

每个标注 hj 的权重 αij 由以下公式计算:

是一个对齐模型,它评估位置 j 附近的输入与位置 i 的输出匹配程度。该分数基于 RNN 隐藏状态 si−1(在发出 yi 之前,公式 (4)))和输入句子的第 j 个标注 hj。

我们将对齐模型 a 参数化为一个前馈神经网络,该网络与所提议系统的其他所有组件一起进行联合训练。需要注意的是,与传统的机器翻译不同,对齐不被视为一个潜在变量。相反,对齐模型直接计算一个软对齐,这允许成本函数的梯度反向传播。该梯度可用于联合训练对齐模型和整个翻译模型。

我们可以将对所有标注进行加权求和的方法理解为计算期望标注,其中期望是在可能的对齐方式上进行的。令 αij 表示目标词 yi 与源词 xj 对齐或翻译的概率。然后,第 i 个上下文向量 ci 是所有带概率 αij 的标注的期望标注。

概率 αij 或其关联能量 eij 反映了注释 hj 相对于先前隐藏状态 si−1 在决定下一个状态 si 和生成 yi 方面的重要性。直观地,这在解码器中实现了注意力机制。解码器决定要关注源句子的哪些部分。通过让解码器拥有注意力机制,我们减轻了编码器将源句子中的所有信息编码成固定长度向量的负担。使用这种新方法,信息可以分散到注释序列中,解码器可以根据需要选择性地检索这些信息。

3.2 编码器:用于序列标注的双向循环神经网络

通常的 RNN,如公式 (1), 所示,按顺序读取输入序列 x,从第一个符号 x1 开始到最后一个符号 xTx。然而,在提出的方案中,我们希望每个词的标注不仅能概括前面的词,还能概括后面的词。因此,我们建议使用双向循环神经网络(BiRNN,Schuster 和 Paliwal,1997)),它最近在语音识别中取得了成功(例如,Graves 等人,2013)。

双向循环神经网络 (BiRNN) 由前向和后向 RNN 组成。前向 RNN →−f 按顺序读取输入序列(从 x1 到 xTx)),并计算出一系列 forward hidden states (→−h 1, · · · , →−h Tx)。后向 RNN ←f− 以相反的顺序读取序列(从 xTx 到 x1)),从而产生一系列 backward hidden states (←h−1, · · · , ←h−Tx)。

我们通过连接前向隐藏状态 →−h j 和后向隐藏状态 ←h−j 来获得每个词 xj 的标注,即 hj = h→−h ⊤ j ; ←h−⊤ j i⊤。通过这种方式,标注 hj 包含了前面词语和后面词语的摘要。由于 RNNs 倾向于更好地表示最近的输入,因此标注 hj 将集中在 xj 周围的词语上。解码器和对齐模型随后使用此标注序列来计算上下文向量(公式 (5)–(6)))。

参见图 1,该图展示了所提模型的图形说明。

4 实验设置

我们在英语到法语翻译任务上评估了所提出的方法。我们使用 ACL WMT ’14 提供的双语平行语料库。3 作为对比,我们还报告了 Cho 等人最近提出的 RNN 编码器-解码器的性能。(2014a)我们对两个模型使用相同的训练程序和数据集。4

4.1 数据集

WMT ’14 包含以下英法平行语料库:Europarl(6100 万词)、新闻评论(550 万词)、联合国(4.21 亿词)以及两个分别包含 9000 万词和 2.725 亿词的爬取语料库,总计 8.5 亿词。遵循 Cho 等人 (2014a), 中描述的程序,我们使用 Axelrod 等人 (2011) 的数据选择方法将组合语料库的大小缩减至 3.48 亿词。5 尽管可以使用更大的单语语料库来预训练编码器,但我们没有使用除上述平行语料库之外的任何单语数据。我们将新闻测试数据连接起来。

图 2:在测试集上生成的翻译的 BLEU 分数,相对于句子的长度。结果是在完整的测试集上,包括对模型来说有未知词的句子。

将 2012 和 news-test-2013 合并成一个开发(验证)集,并在 WMT ’14 的测试集(news-test-2014)上评估模型,该测试集包含 3003 个不在训练数据中的句子。

在进行常规分词6之后,我们使用每种语言中最常见的 30,000 个词的简短列表来训练我们的模型。任何不在简短列表中的词都被映射到一个特殊标记 ([UNK])。我们没有对数据进行任何其他特殊预处理,例如小写或词干提取。

4.2 模型

我们训练了两种类型的模型。第一个是 RNN 编码器-解码器 (RNNencdec,Cho 等人,2014a)),另一个是我们提出的模型,我们称之为 RNNsearch。我们对每个模型进行了两次训练:第一次使用长度不超过 30 个词的句子 (RNNencdec-30,RNNsearch-30),然后使用长度不超过 50 个词的句子 (RNNencdec-50,RNNsearch-50)。

RNNencdec 的编码器和解码器各有 1000 个隐藏单元。7 RNNsearch 的编码器由前向和后向循环神经网络 (RNN) 组成,每个网络有 1000 个隐藏单元。它的解码器有 1000 个隐藏单元。在这两种情况下,我们都使用具有单个 maxout (Goodfellow 等人,2013) 隐藏层的多分层网络来计算每个目标词的条件概率 (Pascanu 等人,2014)。

我们使用小批量随机梯度下降 (SGD) 算法以及 Adadelta (Zeiler, 2012) 来训练每个模型。每个 SGD 更新方向使用 80 个句子的一个小批量来计算。我们训练每个模型大约 5 天。

一旦模型训练完成,我们使用束搜索来寻找一个近似最大化条件概率的翻译(参见,例如,Graves,2012;Boulanger-Lewandowski 等人,2013)。Sutskever 等人 (2014) 使用这种方法从他们的神经机器翻译模型中生成翻译。

有关实验中使用的模型架构和训练过程的更多详细信息,请参见附录 A 和 B。

5 结果

5.1 定量结果

在表 1 中,我们列出了用 BLEU 分数衡量的翻译性能。从表中可以清楚地看出,在所有情况下,提出的 RNNsearch 都优于传统的 RNNencdec。更重要的是,当仅考虑由已知词组成的句子时,RNNsearch 的性能与传统的基于短语的翻译系统(Moses)一样高。这是一个显著的成就,考虑到 Moses 使用了一个独立的单语语料库(4.18 亿词),除了我们用来训练 RNNsearch 和 RNNencdec 的平行语料库。

提出的方法背后的动机之一是基本编码器-解码器方法中使用了固定长度的上下文向量。我们推测,这种限制可能会导致基本编码器-解码器方法在处理长句子时表现不佳。在图 2 中,我们可以看到 RNNencdec 的性能随着句子长度的增加而急剧下降。另一方面,RNNsearch-30 和 RNNsearch-50 对句子的长度更具鲁棒性。尤其是 RNNsearch-50,即使在长度为 50 或更长的句子中也没有表现下降。所提模型相对于基本的编码器-解码器的优势进一步得到证实,因为 RNNsearch-30 甚至优于 RNNencdec-50(见表 1)。

图 3:RNNsearch-50 找到的四个样本对齐。每个图的 x 轴和 y 轴分别对应源句子(英语)和生成的翻译(法语)中的词语。每个像素显示第 i 个目标词的第 j 个源词注释的权重 αij(见公式 (6)),),以灰度表示(0:黑色,1:白色)。(a)任意句子。(b-d)从测试集中随机选取的三个样本,这些样本没有未知词语,长度在 10 到 20 个词之间。

表 1:在测试集上计算的训练模型的 BLEU 分数。第二列和第三列分别显示所有句子的分数,以及句子本身和参考翻译中没有任何未知词的句子的分数。需要注意的是,RNNsearch-50⋆ 经过了更长时间的训练,直到其在开发集上的性能不再提升。 (◦) 当仅评估没有未知词的句子时(最后一列),我们不允许模型生成 [UNK] 标记。

5.2 定性分析

5.2.1 对齐

所提出的方法提供了一种直观的途径来检查生成翻译中的词语与源句中词语之间的(软)对齐。这是通过将公式 (6), 中的标注权重 αij 可视化来实现的,如图 3 所示。每个图中矩阵的每一行表示与标注相关的权重。从中我们可以看到在生成目标词时,源句中哪些位置被认为更为重要。

从图 3 中的对齐可以看出,英语和法语之间的词语对齐在很大程度上是单调的。我们看到每个矩阵的对角线上有很强的权重。然而,我们也观察到一些非平凡的、非单调的对齐。法语和英语中形容词和名词的顺序通常不同,图3 (a) 中就是一个例子。从该图中可以看出,模型正确地将短语 [European Economic Area] 翻译成了 [zone economique ́ europeen]。RNNsearch 能够正确地将 [zone] 与 [Area] 对齐,跳过两个单词 ([European] 和 [Economic]),然后一次向后查看一个单词,最终完成整个短语 [zone economique ́ europeenne]。

软对齐相对于硬对齐的优势,例如,从图 3 (d) 中可以看出。考虑源短语 [the man],它被翻译成 [l’ homme]。任何硬对齐都会将 [the] 映射到 [l’],将 [man] 映射到 [homme]。这对于翻译来说没有帮助,因为必须考虑[the]后面的词才能确定它应该翻译成[le]、[la]、[les]还是[l’]。我们的软对齐自然地解决了这个问题,它让模型同时查看[the]和[man],在这个例子中,我们看到模型能够正确地将[the]翻译成[l’]。我们在图 3 中展示的所有案例中观察到类似的行为。软对齐的另一个好处是它可以自然地处理不同长度的源和目标短语,而无需以一种反直觉的方式将某些词映射到或从无处([NULL])映射(例如,参见 Koehn 的第 4 章和第 5 章,2010)。

5.2.2 长句子

正如图 2 所示,所提出的模型 (RNNsearch) 在翻译长句子方面明显优于传统模型 (RNNencdec)。这可能是因为 RNNsearch 不需要将长句子完美地编码成固定长度的向量,而只需要准确地编码输入句子中围绕特定单词的部分。

例如,考虑测试集中来自该源句:

准入特权是指医生根据其在医院的医疗保健工作者身份,有权将患者送入医院或医疗中心进行诊断或治疗的权利。

RNNencdec-50 将这句话翻译成:

入院特权是指医生根据患者的健康状况,在医院或医疗中心识别患者或做出诊断的权利。

RNNencdec-50 正确地翻译了源句子直到 [a medical center]。然而,从那里开始(下划线),它偏离了源句子的原始含义。例如,它用 [en fonction de son etat ́ de sante] ́ (“基于他的健康状况”) 替换了源句子中的 [based on his status as a health care worker at a hospital]。

另一方面,RNNsearch-50 生成了以下正确的翻译,保留了输入句子的全部含义,没有遗漏任何细节:

入院特权是指医生根据其在医院的医疗保健人员身份,有权将患者送往医院或医疗中心进行诊断或治疗的权利。

让我们考虑测试集中另一个句子:

他补充说,这种体验是迪士尼“延长其系列寿命并通过日益重要的数字平台与观众建立新关系”努力的一部分。

RNNencdec-50 的翻译是

这种体验是迪士尼“延长其新产品的生命周期”和“发展与数字读者之间更复杂的关系”的举措之一。

与之前的例子一样,RNNencdec 在生成大约 30 个单词后开始偏离源句的实际含义(见下划线短语)。在那之后,翻译的质量下降,出现了基本错误,例如缺少结束引号。

Again, the RNNsearch-50 was able to translate this long sentence correctly:

再次,RNNsearch-50 能够正确地翻译这个长句子:

他补充说,这种体验是迪士尼“延长其系列寿命并通过日益重要的数字平台与观众建立新的联系”的努力的一部分。

结合已呈现的定量结果,这些定性观察证实了我们的假设,即 RNNsearch 架构比标准 RNNencdec 模型能够更可靠地翻译长句子。

在附录 C 中,我们提供了由 RNNencdec-50、RNNsearch-50 和 Google 翻译生成的几个更长的源句子的示例翻译,以及参考翻译。

6 相关工作

6.1 学习对齐

Graves (2013) 最近在手写合成领域提出了一种类似的方法,即将输出符号与输入符号对齐。手写合成是一项要求模型生成给定字符序列的手写体的任务。在他的工作中,他使用高斯核的混合来计算标注的权重,其中每个核的位置、宽度和混合系数都是由对齐模型预测的。更具体地说,他的对齐被限制为预测位置,使得位置单调递增。

与我们的方法的主要区别在于,在 (Graves, 2013) 中,标注权重的模式只在一个方向上移动。在机器翻译的背景下,这是一个严重的限制,因为通常需要 (长距离) 重新排序才能生成语法正确的翻译(例如,英语到德语)。

另一方面,我们的方法需要计算源句中每个词在翻译中每个词的标注权重。这种缺点在翻译任务中并不严重,因为大多数输入和输出句子只有 15-40 个词。然而,这可能会限制所提方案在其他任务中的适用性。

6.2 机器翻译的神经网络

自从 Bengio 等人 (2003) 引入了一种神经概率语言模型,该模型使用神经网络来模拟给定固定数量的前序词的词的条件概率以来,神经网络已广泛应用于机器翻译。然而,神经网络的作用很大程度上局限于为现有的统计机器翻译系统提供单个特征,或对现有系统提供的候选翻译列表进行重新排序。

例如,Schwenk (2012) 提出使用前馈神经网络来计算源短语和目标短语对的分数,并将该分数用作基于短语的统计机器翻译系统中的附加特征。最近,Kalchbrenner 和 Blunsom (2013) 以及 Devlin 等人 (2014) 报告了将神经网络作为现有翻译系统子组件的成功应用。传统上,将神经网络训练为目标语言模型,用于重新评分或重新排序候选翻译列表(参见,例如,Schwenk 等人,2006)。

尽管上述方法已被证明可以提高机器翻译系统的性能,但我们更感兴趣的是设计一个基于神经网络的全新翻译系统这一更宏伟的目标。因此,本文中我们考虑的神经机器翻译方法与这些早期工作有根本区别。我们的模型不是将神经网络作为现有系统的一部分,而是独立运行,直接从源句生成翻译。

7 结论

传统的机器翻译方法,称为编码器-解码器方法,将整个输入句子编码成一个固定长度的向量,然后从中解码出翻译结果。我们推测,基于 Cho 等人 (2014b) 和 Pouget-Abadie 等人 (2014) 最近的实证研究,使用固定长度的上下文向量对于翻译长句子来说是有问题的。

在本文中,我们提出了一种新颖的架构来解决这个问题。我们扩展了基本的编码器-解码器,让模型在生成每个目标词时(软)搜索一组输入词,或由编码器计算的它们的标注。这使模型不必将整个源句子编码成固定长度的向量,并且还让模型只关注与生成下一个目标词相关的的信息。这对于神经机器翻译系统在长句上取得良好结果的能力具有重大积极影响。与传统的机器翻译系统不同,翻译系统的各个部分,包括对齐机制,都是共同训练的,以获得更好的生成正确翻译的对数概率。

我们在英法翻译任务上测试了提出的模型,称为 RNNsearch。实验表明,无论句子长度如何,所提出的 RNNsearch 模型都显著优于传统的编码器-解码器模型 (RNNencdec),并且对源句长度的鲁棒性更强。从定性分析中,我们调查了RNNsearch生成的(软)对齐,我们得出结论,该模型能够在生成正确翻译时,将每个目标词与源句子中的相关词或其标注正确对齐。

更重要的是,所提出的方法实现了与现有基于短语的统计机器翻译相当的翻译性能。这是一个令人瞩目的结果,考虑到所提出的架构,或神经机器翻译的整个家族,仅仅是在今年才被提出。我们相信这里提出的架构是朝着更好的机器翻译和更深入地理解自然语言迈出的有希望的一步。

未来面临的挑战之一是更好地处理未知或罕见词。这将是模型更广泛应用并与当前最先进机器翻译系统在所有语境下性能相匹配的必要条件。


http://www.kler.cn/a/572285.html

相关文章:

  • 【wsl/cline/mcp】在cline中初步使用mcp工具(以git为例)
  • 【STM32项目实战系列】基于STM32G474的FDCAN驱动配置
  • 江西省地标-DB36/T 1275-2020 绿色矿山建设标准
  • FastGPT 引申:信息抽取到知识图谱的衔接流程
  • 学到什么记什么(25.3.3)
  • 30秒从零搭建机器人管理系统(Trae)
  • python爬虫:pyspider的详细使用
  • 关于高精度力扣66
  • windows下使用Hyper+wsl实现ubuntu下git的平替
  • TCP协议(20250304)
  • VSCode详细安装步骤,适用于 Windows/macOS/Linux 系统
  • 点云配准技术的演进与前沿探索:从传统算法到深度学习融合(4)
  • 【2025小白版】计算复试/保研机试模板(个人总结非GPT生成)附代码
  • centos和ubuntu下安装redis
  • Linux笔记---缓冲区
  • 医疗行业网络安全:目前面临哪些挑战?
  • 基于Spring Boot的企业车辆管理系统设计与实现(LW+源码+讲解)
  • Stable Diffusion 反向提示词(Negative Prompt)深度解析
  • 小迪安全25天-php-文件管理包含,写入,删除,下载,上传,遍历,安全。
  • 宝塔找不到php扩展swoole,服务器编译安装