企业申请完域名以后 怎么把网站运行起来,网站规划的特点,成都商城网站建设,微信小商店大家读完觉得有帮助记得关注和点赞#xff01;#xff01;#xff01; 摘要
神经机器翻译是最近提出的机器翻译方法。与传统的统计机器翻译不同#xff0c;神经机器翻译旨在构建一个可以联合调整以最大化翻译性能的单一神经网络。最近为神经机器翻译提出的模型通常属于编码…
大家读完觉得有帮助记得关注和点赞 摘要
神经机器翻译是最近提出的机器翻译方法。与传统的统计机器翻译不同神经机器翻译旨在构建一个可以联合调整以最大化翻译性能的单一神经网络。最近为神经机器翻译提出的模型通常属于编码器-解码器家族将源句子编码成一个固定长度的向量解码器从该向量生成翻译。在本文中我们推测使用固定长度的向量是提高这一基本编码器-解码器架构性能的瓶颈并提出通过允许模型自动软搜索与预测目标词相关的源句子部分来扩展这一点而无需明确地将这些部分形成硬段。通过这种新方法我们在英法翻译任务上实现了与现有最先进的基于短语的系统相当的翻译性能。此外定性分析表明模型找到的软对齐与我们的直觉很好地一致。
1 引言
神经机器翻译是一种新兴的机器翻译方法最近由Kalchbrenner和Blunsom (2013),、Sutskever等人 (2014)以及Cho等人 (2014b)提出。与传统的基于短语的翻译系统参见例如Koehn等人2003不同后者由许多小的子组件组成并分别进行调优神经机器翻译试图构建和训练一个单一的大型神经网络该网络读取一个句子并输出正确的翻译。
大多数提出的神经机器翻译模型属于编码器-解码器家族Sutskever 等人2014Cho 等人2014a)每个语言都有一个编码器和一个解码器或者涉及应用于每个句子的特定语言编码器其输出然后进行比较Hermann 和 Blunsom2014。编码器神经网络读取并编码源句子到一个固定长度的向量。解码器然后从编码向量输出翻译。整个编码器-解码器系统包含用于语言对的编码器和解码器被联合训练以最大化给定源句子时正确翻译的概率。
这种编码器-解码器方法的一个潜在问题是神经网络需要能够将源句子的所有必要信息压缩到一个固定长度的向量中。这可能会使神经网络难以处理长句子尤其是那些比训练语料库中的句子更长的句子。Cho等人(2014b)表明一个基本的编码器-解码器的性能确实随着输入句子长度的增加而迅速下降。
为了解决这个问题我们提出了一种编码器-解码器模型的扩展该模型学习联合对齐和翻译。每次提出的模型生成一个翻译中的词语时它会软搜索源句子中一组信息最集中的位置。模型根据这些源位置相关的上下文向量以及所有先前生成的目標词来预测目标词。
这种方法与基本编码器-解码器最显著的区别在于它不试图将整个输入句子编码成一个固定长度的向量。相反它将输入句子编码成一个向量序列并在解码翻译时自适应地选择这些向量中的一个子集。这使得神经机器翻译模型摆脱了将源句子的所有信息无论其长度如何都压缩到固定长度向量中的限制。我们证明这使得模型能够更好地处理长句子。
本文表明提出的联合学习对齐和翻译方法与基本的编码器-解码器方法相比显著提高了翻译性能。这种改进在较长的句子中更为明显但可以在任何长度的句子中观察到。在英法翻译任务中所提出的方法使用单个模型实现了与传统基于短语的系统相当或接近的翻译性能。此外定性分析表明所提出的模型在源句子和对应的目标句子之间找到了语言上合理的软对齐。
2 背景神经机器翻译
从概率的角度来看翻译等同于找到一个目标句子y它使给定源句子x的条件概率最大化即arg maxy p(y | x)。在神经机器翻译中我们拟合一个参数化模型以使用平行训练语料库最大化句子对的条件概率。一旦翻译模型学习了条件分布给定一个源句子就可以通过搜索使条件概率最大化的句子来生成相应的翻译。
最近一些论文提出使用神经网络直接学习这种条件分布例如Kalchbrenner 和 Blunsom2013Cho 等人2014aSutskever 等人2014Cho 等人2014bForcada 和 Neco1997。这种神经机器翻译方法通常包含两个部分第一个部分编码源句子 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 和 Blunsom2013。
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。然而在提出的方案中我们希望每个词的标注不仅能概括前面的词还能概括后面的词。因此我们建议使用双向循环神经网络BiRNNSchuster 和 Paliwal1997)它最近在语音识别中取得了成功例如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 包含以下英法平行语料库Europarl6100 万词、新闻评论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 编码器-解码器 (RNNencdecCho 等人2014a))另一个是我们提出的模型我们称之为 RNNsearch。我们对每个模型进行了两次训练第一次使用长度不超过 30 个词的句子 (RNNencdec-30RNNsearch-30)然后使用长度不超过 50 个词的句子 (RNNencdec-50RNNsearch-50)。
RNNencdec 的编码器和解码器各有 1000 个隐藏单元。7 RNNsearch 的编码器由前向和后向循环神经网络 (RNN) 组成每个网络有 1000 个隐藏单元。它的解码器有 1000 个隐藏单元。在这两种情况下我们都使用具有单个 maxout (Goodfellow 等人2013) 隐藏层的多分层网络来计算每个目标词的条件概率 (Pascanu 等人2014)。
我们使用小批量随机梯度下降 (SGD) 算法以及 Adadelta (Zeiler, 2012) 来训练每个模型。每个 SGD 更新方向使用 80 个句子的一个小批量来计算。我们训练每个模型大约 5 天。
一旦模型训练完成我们使用束搜索来寻找一个近似最大化条件概率的翻译参见例如Graves2012Boulanger-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。 图 3RNNsearch-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生成的软对齐我们得出结论该模型能够在生成正确翻译时将每个目标词与源句子中的相关词或其标注正确对齐。
更重要的是所提出的方法实现了与现有基于短语的统计机器翻译相当的翻译性能。这是一个令人瞩目的结果考虑到所提出的架构或神经机器翻译的整个家族仅仅是在今年才被提出。我们相信这里提出的架构是朝着更好的机器翻译和更深入地理解自然语言迈出的有希望的一步。
未来面临的挑战之一是更好地处理未知或罕见词。这将是模型更广泛应用并与当前最先进机器翻译系统在所有语境下性能相匹配的必要条件。