多标签分类:Effective Approaches to Attention-based Neural Machine Translation

原文链接: https://arxiv.org/pdf/1508.04025v3.pdf

论文地址:https://arxiv.org/pdf/1508.04025v3.pdf

写在前面:本文《基于注意力的神经机器翻译的有效方法》,在Seq2Seq架构的基础上引入了Global Attention 和 Local Attention,为基于Seq2Seq的多标签学习提供新的思路。

摘要

通过在翻译过程中选择性地关注源句子的部分内容,attention 机制近来已被用于改进神经机器翻译(NMT)。 但是,探索基于attention 的 NMT 体系结构一直没有多少工作。 本文考察两种简单而有效的 attention 机制:一种始终关注所有源词的全局方法一种每次仅查看源词子集的局部方法。 我们在英语和德语两个方向上展示两种方法在WMT翻译任务上的有效性。 在局部 attention 的情况下,我们获得比非 attention 系统高出5.0 BLEU点的显着效果,这些系统非 attention 系统已经结合 dropout 等已知技术。 我们使用不同 attention 架构的集成模型在WMT’15英语至德语翻译任务中获得最新的最佳成果,其中25.9 BLEU点数比现有由NMT和n-gram reranker 支持的最佳系统提高了1.0 BLEU点。

一、Introduction(介绍)

神经机器翻译(NMT)在从英语到法语[Luong et al. 2015]和英语到德语[Jean et al. 2015]等大规模翻译任务中获得了最先进的表现。 NMT很吸引人,因为它需要最少的领域知识并且在概念上很简单。 Luong et al. 2015 的模型对所有源词进行读取,直到句尾符号< eos > 。 然后它开始每次生成一个目标单词,如图1所示。 NMT通常是一个大型的神经网络,它以端到端的方式进行训练,并且能够很好地推广到很长的单词序列。 这意味着模型不必像标准MT那样明确地存储巨大的短语表和语言模型;因此,NMT占用的内存很小。 最后,实现NMT解码器很容易,不像标准MT中的高度复杂的解码器[Koehn et al. 2003]。
在这里插入图片描述
图1: 神经网络机器翻译 ——用于将源序列A B C D翻译为目标序列X Y Z的堆叠循环体系结构。 这里, 标记句子的结尾。

与此同时,“attention”概念最近在训练神经网络中越来越受欢迎,允许模型学习不同模态之间的对齐,例如在动态控制问题中图像对象与代理动作之间的对齐[Mnih et al. 2014],在语音识别任务中的语音帧和文本之间[? ],或者在图像标题生成任务中图像的视觉特征与其的文本描述之间[Xu et al. 2015]。 在NMT的背景下,Bahdanau et al. 2015 已​​成功应用这种 attention 机制来联合翻译和对齐单词。 据我们所知,目前还没有任何其他工作正在探索使用基于 attention 的 NMT 架构。

在这项工作中,我们设计了两种新颖的基于attention 的模型:一种全局方法,其中所有源词都被关注一个局部方法,其中一次只考虑源词的一个子集前一种方法类似于[Bahdanau et al. 2015]的模型,但体系结构更简单。 后者可以被看作是[Xu et al. 2015]提出的hard 和soft attention 模型之间有趣的混合: 它的计算成本比全局模型或soft attention 要低;与此同时,与hard attention不同,局部 attention 几乎在任何地方都是可微分的,这使得它更易于实现和训练。此外,我们还研究了我们的基于attention 模型的各种对齐函数。

在实验上,我们证明我们的两种方法在英文和德文的WMT翻译任务中都是有效的。 我们的 attention 模型比已经包含已知技术(例如dropout)的非attention 系统获得高达5.0 BLEU的提升。 对于英文到德文的翻译,我们实现了WMT’14和WMT’15的最佳(SOTA)结果,超过以前的由 NMT 模型和n-gram LM rerankers 支持的SOTA系统 1.0 BLEU。 我们在学习、处理长句的能力、attention 架构的选择,对齐质量和翻译输出进行广泛的分析以评估我们的模型。

二、Neural Machine Translation(神经网络机器翻译)

神经网络机器翻译系统是一个直接建模条件概率p(y|x)的神经网络,将源语句x1,…,xn翻译到目标语句y1,…,ym。NMT的基本形式包括两个组成部分:(a) 编码器:计算每个源语句的表示s;(b) 解码器:每次生成一个目标单词,因此条件概率可分解为:
在这里插入图片描述
在解码器中建模这种分解的自然选择是使用递归神经网络(RNN)架构,,目前大部分NMT工作如[Kalchbrenner and Blunsom 2013; Sutskever et al. 2014; Cho et al. 2014; Bahdanau et al. 2015; Luong et al. 2015; Jean et al. 2015]都这样做。 然而,它们在解码器所使用的RNN体系结构以及编码器如何计算源语句表示s方面有所不同

Kalchbrenner和Blunsom 2013 使用带有标准隐藏单元的解码器以及对源语句表示进行卷积神经网络编码。 另一方面,Sutskever et al. 2014和Luong et al. 2015将带有长期短期记忆(LSTM)隐藏单元的多层RNN堆叠在一起同时用于编码器和解码器。 Cho et al. 2014、Bahdanau et al. 2015和Jean et al. 2015 在两个组成部分中都采用了一种不同版本的RNN — 带有受LSTM启发的隐藏单元,门控循环单元(GRU)。

更详细地说,人们可以将解码每个单词yj 的概率参数化为:
在这里插入图片描述
其中g 为转换函数,其输出为一个词汇大小的向量。hj 为RNN 隐藏单元,下面这样计算:
在这里插入图片描述
其中f 计算给定前一隐藏状态的当前隐藏状态,可以是普通的RNN单元、GRU或LSTM单元。 在[Kalchbrenner and Blunsom 2013; Sutskever et al. 2014; Cho et al. 2014; Luong et al. 2015]中,源语句的表示s 在初始化解码器状态时只用一次。 然而,在[Bahdanau et al. 2015; Jean et al. 2015]和这项工作中,s 在事实上表示源语句隐藏状态的一个集合,在翻译的整个过程中都会查看这些源语句隐藏状态。 这种方法被称为 attentional 机制,我们将在下面讨论。

在这项工作中,依据[Sutskever et al. 2014; Luong et al. 2015],我们使用堆叠的 LSTM 架构用于我们的 NMT 系统,如图1 所示。 我们使用[Zaremba et al. 2015]中定义的LSTM 单元。 我们的训练目标如下公式所示:
在这里插入图片描述
其中D为我们并行训练的语料库。

三、Attention-based Models(基于Attention的模型)

我们各种基于 attention 的模型分为两大类:全局局部。 这两个类别的区别在于“attentional”是放在所有来源语句位置上还是仅放在少数源语句位置上。 我们分别在图2和3中说明这两种模型类型。

这两种类型模型的共同之处在于,在解码阶段的每个时间步骤t 中,两种方法都首先在堆叠LSTM的顶层将隐藏状态ht 作为输入。目标是获得一个上下文向量ct,捕获相关的源端信息以帮助预测当前目标单词yt。 虽然这些模型在获得上下文向量ct 的方式上有所不同,但它们共享相同的后续步骤。

具体来说,给定目标隐藏状态ht 和源侧上下文向量ct,我们使用一个简单的连接层组合来自两个矢量的信息以产生注意力隐藏状态,如下所示:
在这里插入图片描述
注意向量ht通过softmax层反馈以产生如下预测分布:
在这里插入图片描述
我们现在详细介绍每个模型类型如何计算源端上下文向量ct。

3.1 Global Attention

在这里插入图片描述
图2: 全局 attention 模型 —— 在每个时间步骤 t 处,模型基于当前目标状态 ht 和所有源状态 hs 推断可变长度对齐权重向量 at 。然后根据 at 计算所有源状态的全局上下文向量 ct 的加权平均值。

全局 attention 模型的思想是在推导上下文向量ct 时考虑编码器的所有隐藏状态。 在这个模型类型中,变长对齐向量at 的大小等于源侧的时间步长的数量,它通过比较当前目标隐藏状态ht 和每个源隐藏状态hs 得到:
在这里插入图片描述
这里,score为基于内容的函数,我们考虑三种不同的选择:
在这里插入图片描述
此外,在我们早期构建基于 attention 的模型的尝试中,我们使用基于位置的函数,其中对齐分数仅从目标隐藏状态ht计算,如下:
在这里插入图片描述
给定对齐向量作为权重,将上下文向量ct 计算为所有源隐藏状态下的加权平均值。

尽管我们的全局 attention 方式在本质上类似于Bahdanau et al. 2015提出的模型,有几个关键差异反映了我们如何从原始模型中进行简化和泛化。 首先,我们只需在编码器和解码器的顶层LSTM层使用隐藏状态,如图2所示。而Bahdanau et al. 2015 将双向编码器中将前向和后向源隐藏状态和非堆叠的单向解码器中的目标隐藏状态连接起来。 其次,我们的计算路径更简单:我们从ht →at →ct →ht,然后进行预测。 然而,在任何时刻t,Bahdanau et al. 2015 从前一个隐藏状态构建 ht-1 →at →ct →ht,然后再预测之前再添加一个deep-output 和一个 maxout 层。最后,Bahdanau et al. 2015 只使用一个对齐函数concat 积进行了实验;而我们显示其他方法更好。

3.2 Local Attention

在这里插入图片描述
图3: 局部 attention 模型 —— 模型首先为当前目标单词预测一个对齐好位置 pt 。 然后使用以源位置pt为中心的窗口来计算上下文矢量ct(窗口中源隐藏状态的平均值)。权重 at 从当前目标状态ht和窗口中的这些源状态 hs 推断。

全局 attention 的缺点是对于每个目标单词它必须关注源语句的所有单词,这很消耗资源并且可能使翻译更长的序列(例如段落或文档)变得不切实际。 为了解决这个不足,我们提出了一个局部 attention 机制,它每个目标单词选择只关注一小部分源位置。

这个模型从Xu et al. 2015 提出的用于处理图像标题生成任务的soft 和hard attention 模型之间的权衡取得了灵感。 在他们的工作中,soft attention是指全局 attention 方法,其中权重被“softly”地放置在源图像中的所有补丁上。 而hard attention,一次选择图像的一个补丁进行关注。 尽管在推断时间上花费较少,但hard 注意模型是不可微分的,并且需要更复杂的技术,如方差减少或强化学习来训练。

我们的局部注意机制有选择性地集中在一个小窗口的上下文,并且是可微分的。 这种方法的优点是避免了软注意力的昂贵计算,同时比hard 注意法更易于训练。 具体来说,在时刻t 模型首先为每个目标单词生成一个对齐位置pt。上下文向量ct 通过窗口[pt -D, pt+D] 内的源隐藏状态集合加权平均计算得到;D 根据经验选择。与全局方法不同,局部对齐向量at 是固定维度的,即∈ℝ2D+1。 我们考虑这个模型的以下两种变体。

单调对齐(local-m) ——我们简单地设置pt = t,假设源和目标大体上是单调对齐的。 对齐向量at 根据公式(7)定义。

可预测的对齐(local-p) —— 我们的模型不再假设单调对齐,而是预测一个对齐位置,如下所示:
在这里插入图片描述
Wp 和vp 是模型的参数,它们将用于学习来预测位置。 S 为源语句的长度。 sigmoid 的结果使得pt ∈ [0,S ]。 为了使对齐点靠近pt,我们放置一个以pt 为中心的高斯分布。 具体而言,我们的对齐权重现在定义为:
在这里插入图片描述
我们使用与等式(7) 中相同的align 函数,标准方差依据经验设置为σ =D/2。注意,pt 是一个实数;而s 是一个整数 位于窗口中间位置pt。

与[Gregor et al. 2015]的比较 ,它已经提出一个可选择的注意力 机制用于图像生成认为,与我们的局部注意力非常类似。 他们的方法允许模型选择不同位置和缩放的图像。 相反,我们对所有目标位置使用相同的“缩放”,这极大地简化公式并且仍然取得良好的性能。

3.3 Input-feeding Approach

在这里插入图片描述
图4: Input-feeding 方法 —— Attention 向量ht 作为输入送给下一个时间步骤以告知模型过去的对齐决策。

在我们提出的全局和局部方法中,attention 的决策是独立进行的,这不是最好的方式。 而在标准MT中,在翻译过程中经常保持一个coverage 集以跟踪哪些源词已被翻译。 同样,在attention NMT中,应该考虑到过去的对齐信息共同作出决定。 为了解决这个问题,我们提出了一种input-feeding 方法,其中attention 向量ht 在下一个时间步骤与输入串联,如图4所示。这种联接有两重效果:(a)我们希望使得模型更完整地关注前面对齐的选择(b) 我们创建一个非常深度的网络,在水平和垂直方向同时扩展。

与其他工作比较 —— Bahdanau et al. 2015使用与我们的ct 类似的上下文向量来构建随后的隐藏状态,这也可以实现“coverage”效果。 然而,没有分析这种连接是否有用,正如本文所做的那样。 另外,我们的方法更 普通;如图4所示,它可以应用于通用堆栈循环体系结构,包括非 attention 模型。

Xu et al. 2015 提出一种 双重 attention 方法,在图片标题生成过程中,将一个额外的约束添加到训练的目标来确保模型关注图像的所有部分。 这种约束对于捕获我们前面提到的NMT中的coverage 效应也很有用。 但是,我们选择使用 input-feeding 方法,因为它为模型灵活地决定它认为合适的任何 attention 限制

四、Experiments(实验)

我们在两个方向上评估我们的模型对英语和德语之间的WMT翻译任务的有效性。 newstest2013(3000个句子)被用作开发集来选择我们的超参数。 翻译的性能基于newstest2014(2737条语句)和newstest2015(2169条语句),用大小写敏感的BLEU值[Papineni et al. 2002]表示。 依据[Luong et al. 2015],我们使用两种类型的BLEU报告翻译的质量(a) tokenized12 BLEU 以用来与已有的 NMT 工作进行比较 (b) NIST13 BLEU 以用来与 WMT 结果进行比较。

4.1 Training Details

我们所有的模型都使用WMT’14训练数据进行训练,这些训练数据由4.5M 个句子对(116M个英文单词,110M个德文单词)组成。类似于[Jean et al. 2015],我们将词汇量限制为两种语言中最常见的50K 个单词。 不在这些入围词汇表中的单词被转换成通用标记< unk >。

当训练我们的NMT系统时,依据[Bahdanau et al. 2015; Jean et al. 2015],我们过滤掉长度超过50个单词的语句对并洗乱mini-batch。 我们的堆叠LSTM模型有4层,每层有1000个单元,以及1000维嵌入。 在训练NMT时,我们采用和[Sutskever et al. 2014; Luong et al. 2015]相似的设置: (a) 参数均匀分布地初始化为[-0.1,0.1]; (b) 使用普通的SGD训练10个周期 ;© 采用简单的学习速率调整 — 开始学习速率为1,5 个周期之后,每个周期的学习速率减半 ;(d) mini-batch 大小为 128 ;(e) 每当norm 超过5时就将normalized 梯度重新缩放。 另外,依据[Zaremba et al. 2015]的建议,我们还对 LSTM 使用概率为 0.2 的丢弃。 对于丢弃模型,我们训练12个时期,并在8个周期后开始将学习率减半。 对于局部 attention 模型,我们凭经验设定窗口大小D = 10。

我们的代码在MATLAB中实现。 在单个 GPU 设备 Tesla K40 上运行时,速度达到每秒 1K 个目标 单词。 完成模型训练需要7-10天的时间。

4.2 English-German Results

4.3 German-English Results

五、Analysis

我们进行广泛的分析,以更好地了解我们的模型在学习方面,处理长句的能力,注意力架构的选择以及对齐质量。

5.1 Learning curves

在这里插入图片描述
图5: 学习曲线 —— 随着培训的进展,英语 - 德语NMT的newstest2014测试成本(ln困惑度)。

具有dropout(蓝色+曲线)的非注意模型比其他非退出模型学习速度更慢,但随着时间的推移,它在减少测试错误方面变得更加稳健。

5.2 Effects of Translating Long Sentences

在这里插入图片描述
图6: 长度分析 —— 不同系统作为句子的翻译质量变得更长。

我们最好的模型(蓝色+曲线)胜过所有长度桶中的所有其他系统。

5.3 Choices of Attentional Architectures

在这里插入图片描述
表4:Attention 的架构 —— 不同Attention 模型的性能。我们训练了两个局部m(dot)模型;两者的 ppl 都>7.0。

我们研究了不同的关注模型(global, local-m,local-p)和不同的对齐函数(location,dot,general,concat)如章节3中所述。 由于资源有限,我们无法运行所有可能的组合。 但是,表4中的结果确实为我们提供了关于不同选择的一些想法。 基于位置的函数没有学习到很好的对齐:与使用其它对齐函数相比,在实现未知单词替换时,全局(位置) 模型只能获得很小的提升。对于基于内容 的函数,我们的实现concat 没有得到很好的性能,还需要更多的分析去理解其原因。有兴趣的读者可以观察到 dot 对于全局attention 工作的很好,而 general 对于局部attention 更好。 在不同的模型中,无论是 perplexity 还是 BLEU ,具有预测性对齐的attention 模型(local-p)都是最好的。

5.4 Alignment Quality

在这里插入图片描述
表6: AER scores —— 不同模型对RWTH英德比对数据的结果。

Attention模型的副产品是单词的对齐。 虽然[Bahdanau et al. 2015] 对某些示例句子进行可视化对齐,并观察到翻译质量的改进作为attention 模型如何工作的指示,但没有工作评估整个学习的对齐。 相反,我们着手使用对准误差率(AER)度量来评估对准质量。

我们还发现,局部注意模型产生的比对结果比全局注意模型得到的AERs更低。

5.5 Sample Translations

翻译示例

六、Conclusion

在本文中,我们提出了两种简单而有效的神经机器翻译注意机制:一种是全局方法,它总是关注所有的源位置;另一种是局部方法,它每次只关注源位置的一个子集。我们测试了我们的模型在英语和德语双向翻译任务中的有效性。我们的局部注意力产生了巨大的收益,高达5.0BLEU,超过已知的非注意模式。对于英语到德语的翻译方向,我们的集成模型已经为WMT ’ 14和WMT ’ 15建立了新的最先进的结果,在NMT模型和n-gram LM rerankers的支持下,比现有的最佳系统表现好了1.0 BLEU以上。

我们比较了各种对齐功能,并阐明了哪些功能最适合哪些注意模型。我们的分析表明,在许多情况下,基于注意的NMT模型优于非注意的NMT模型,例如在翻译姓名和处理长句方面。

猜你喜欢

转载自blog.csdn.net/MaybeForever/article/details/102514097
今日推荐