英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
一种稳定有效的可训练贪婪解码学习策略
摘 要
波束搜索是一种广泛应用的神经网络译码器近似搜索策略,在机器翻译等任务中,它通常优于简单贪婪译码。然而,这种改进是以实际的计算成本来实现的。在本文中,我们提出了一种灵活的新方法,使我们能够在几乎没有额外计算成本的情况下获得几乎全部的波束搜索优势。该方法围绕一个小的神经网络行动者展开,该行动者被训练来观察和操纵先前训练过的译码器的隐藏状态。为了训练这种演员网络,我们介绍了一种使用基于基模型的波束搜索输出建立的伪并行cor pus,该模型按目标质量Met-ric-like Bleu排序。我们的方法受到了对这个问题更深入的研究的启发,但不需要再加强学习,并且可以在一系列模型上可靠地进行训练。对三种并行语料库和三种体系结构的实验表明,该方法在翻译质量和速度上均能在每个基本系统上得到显著提高。
- 引言
神经网络序列译码器产生许多文本生成任务的最新成果,包括机器翻译(Bahdanau等人,2015年;Luong等人,2015年;Gehring等人,2017年;Vaswani等人,2017年;Dehghani等人,2018年)、文本摘要(Rush等人,2015年;Ranzato等人,2015年;See等人,2017年;Paulus等人,2017年)和图像字幕(Vinyals等人,2015;Xu等人,2015)。这些译码器从左到右生成令牌,在每个步骤中,根据输入和到目前为止生成的所有令牌分配可能的下一个令牌。然而,由于所有可能输出序列的空间都是无限的,并且随着序列长度呈指数增长,因此必须在反编码时使用启发式搜索方法,如贪婪诱饵或波束搜索(Graves,2012;Boulanger-Lewandowski等人,2013),以选择高概率输出序列。与贪婪解码不同,贪婪解码在每一步选择概率最高的令牌,波束搜索在每一步扩展所有可能的下一个令牌,并维护k最可能的预修复,其中k是波束大小。贪婪的解码速度非常快,只需要运行一次无失真的译码器,而波束搜索需要相当于k次这样的运行,以及大量额外的数据管理开销。然而,波束搜索常常导致对贪婪解码的大量改进。例如,Ranzato等人(2015)报告称,波束搜索(k=10)比贪婪解码提高了2.2倍的传输率和3.5倍的加和率。
最近,通过改进候选序列的评分方法(Li等人,2016;Shu和Nakayama,2017)、终止标准(Huang等人,2017)或搜索功能本身(Li等人,2017),探索了各种方法来改进波束搜索。相比之下,Gu等人(2017)已经尝试直接改进贪心去编码,以便对任意解码对象进行解码。他们将一个小的参与者网络添加到编码器中,并用策略梯度的版本对其进行训练,以优化序列目标,如bleu。然而,他们报告说,这种训练方法的不稳定性严重限制了他们的能力。
在本文中,我们提出了一个程序来修改一个训练有素的译码器,使其能够以质量水平(根据像BLEU这样的度量标准)贪婪地生成文本,否则将需要相对昂贵的波束搜索。为此,我们遵循Cho(2016)和Gu等人的观点。(2017)在我们使用一个操纵译码器隐藏状态的演员网络时,引入了一个稳定有效的程序来训练这个演员。在我们的训练过程中,演员在一个特定模型的人工平行语料库上进行常规的后向传播训练。该语料库是通过在大波束搜索的训练集上运行非增广模型,并从生成的k-最佳列表中选择在我们的目标度量中得分很高的输出来生成的。
我们的方法可以快速可靠地训练,是有效的,可以直接与各种译码器部署。我们在三个最先进的体系结构上进行了神经机器翻译:RNN为基础(Luon等人,2015),VISS2S(GeHunn等人,2017)和转换器(VasWhani等人,2017),和三个语料库:IWSLT16德语英语,1 WMT15 FiNISH-EngLe2和WMT14德语英语。
- 背景
2.1 神经机器翻译
在顺序学习中,我们得到一组源-目标句对,并负责学习从源句生成每个目标句(作为单词或单词部分的序列)。我们首先使用一个编码模型,如循环神经网络,将源序列转换成编码的表示,然后使用神经译码器生成目标序列。
给出一个原语句x={x1,hellip;,xt}神经机器翻译系统对可能输出句子y= {y1,hellip;,yt}的分布进行建模:
(公式1)
其中theta;是模型参数集。
给定源-目标句子对的并行语料库,可以通过最大化对数似然来训练神经机器翻译模型:
(公式2)
2.2 解码
给定估计的模型参数theta;,源句X的最大概率翻译的判定规则由下式给出: (公式3)
然而,由于这种精确推断需要对大量和潜在无限的候选序列集合进行难以处理的枚举,因此我们采用近似解码算法,如贪婪解码、波束搜索、噪声并行解码(NPAD;CHO,2016)或可训练贪婪解码(Gu等人,2017)。
贪婪解码 在这个算法中,我们从左到右生成一个序列,通过选择在每个步骤中最可能出现的令牌。但是可以表示为:
(公式4)
尽管的计算复杂性很低,在模型给出的总体分布下,该方法选择的翻译可能远不是最优的。
波束搜索 从左到右进行解码,并在每个步骤中保持kgt;1的假设。在每一步t中,beam search考虑所有可能的下一个基于当前假设的标记,并在所有假设完成(它们以句子符号结尾或达到预定长度限制)时选择总体得分最高的k,返回具有最高的假设可能性。调整以找到大致最佳的光束尺寸k可以在尺寸高达30的情况下提高性能(Koehn和Knowles,2017年;Britz等人,2017年)。然而,波束搜索的复杂性在波束尺寸上呈线性增长,且具有高常数项,这使得在延迟很重要的某些应用中(如在线实时翻译)。
NPAD 噪声并行近似译码 (NPAD;Cho,2016)是一种并行解码算法,可用于改进贪婪解码或波束搜索。其主要思想是通过在译码器网络的隐藏状态中注入非结构化随机噪声,可以找到一种更高概率、更好的译码方法。NPAD的积极结果表明,对译码器隐藏状态的小操作可以对应于输出序列的实质性但仍然合理的变化。
图1:通用参与者与三种类型的译码器交互的单个步骤。虚线箭头表示参与者网络中的可选循环连接。
可训练的贪婪译码 近似译码算法通常近似方程3。这不一定是生成文本的最佳基础,因为(i)由经过训练的NMT模型分配的条件日志概率不一定与翻译质量(Tu等人,2017年)和(ii)不同的应用场景可能需要不同的解码目标(Gu等人,2017年)。为了解决这个问题,Gu等人(2017)扩展NPAD,用一个小的前馈行为神经网络取代非结构化噪声。该网络采用策略梯度增强学习的变种对贪婪解码下的BLeu等目标质量指标进行优化训练,并在测试时指导贪婪解码。通过修改译码器的隐藏状态。尽管与等效无行为模型相比有所提高,但他们直接优化质量度量的尝试使训练变得不稳定,并使模型几乎不可能完全优化。本文提出了一种稳定有效的演员训练方法,并进一步发展了演员网络的体系结构。
- 方法
我们提出了一种训练小动作神经网络的方法,采用了Gu等人的可训练贪婪解码方法(2017)。将当前译码器状态ht作为输入,源语句的注意上下文向量et,以及可选的前一隐藏状态st_1并在用于更新译码器隐藏状态。actor函数可以有多种形式,我们探讨了四个问题:前馈网络一个隐藏层(ff),前馈网络两个隐藏层(ff2),GRU循环网络(RNN;Cho等人,2014),以及门控前馈网络(gate)。
计算了前馈ff动作函数作为:
(公式5)
ff2参与者的计算公式为:
(公式6)
rnn参与者计算为:
(公式7)
门的行动者被计算为:
(公式8)
一旦计算出处的动作,隐藏状态ht只需更换为更新状态htrsquo;
(公式9)
图1显示了参与者与每个参与者的底层神经译码器交互的单个步骤。
在我们使用的三种NMT架构中:Luong等人的基于RNN的模型。(2015),VISS2S(Gehring等人,2017)和转换器(Vaswani等人,2017)。我们在译码器层添加演员在计算注意力上下文向量之后。对于基于RNN的NMT,我们只将演员网络添加到最后一个译码器层,唯一的地方是注意使用。这里,它将最后一个译码器的隐藏状态作为输入层和源上下文向量,并输出,添加回注意向量。对于convs2和transformer,我们向每个译码器层添加一个actor网络。这个actor被添加到执行多头或多步注意输出编码器堆栈的。它把译码器作为输入状态和源上下文向量,并输出这是加回去得到的。
Gu等人报告的克服严重不稳定的训练。(2017年),我们介绍了从基础NMT模型生成的伪并行语料库(Gao和He,2013;Auli高,2014;金和拉什,2016;陈等,2017年;Freitag等人,2017年;Zhang等人,2017年)演员训练。这个语料库包括两对(i)具有很高的模型可能性,因此我们可以强制模型生成它们附加训练或许多新参数。(ii)代表高质量翻译,衡量根据像布鲁这样的目标指标。我们这样做通过使用大波束搜索从原始未认证模型生成句子,根据解码目标,从生成的Kbest列表中选择最佳句子。
更具体地说,让成为一对句子在训练数据中,K是预训练NMT模型中波束搜索的最佳列表,其中K是波束尺寸。我们定义了翻译黄金标准翻译的客观分数,根据目标度量,如bleu(papineni et al.,2002)、nist(doddington,2002)、negative ter(snover et al.,2006)或meter(lavie和denkowski,2009)作为o(z,y)。然后我们选择得分最高的句子z作为我们的新目标。
(公式9)
一旦我们获得了伪语料库,我们就保留了底层模型。通过使用这些对最大化参与者参数的对数似然性,修复并训练参与者:
(公式10)
通过这种方法,训练行动者网络在译码时操纵神经译码器的隐藏状态,诱导神经译码器在贪婪或小波束译码时产生更好的得分输出。
- 实验
4.1设置
我们用三种强大的翻译模型体系结构评估了IWSLT16德语、WMT15芬兰语和WMT14德语双向翻译的方法。
对于IWSLT16,我们分别使用TS2013和TS2014进行验证和测试。对于WMT15,我们分别使用newstest2013和newstest2015进行验证和测试。对于WMT14,我们分别使用newstest2013和newstest2014进行验证和测试。所有数据都被标记化并分割成子字符号,使用字节对编码(bpe;sennrich等人,2016),以限制词汇表的大小。我们的主要评估使用标记化和案例化的BLeu。对于Meteor和Ter评估,我们使用带有标记化和不区分大小写评分的multeval4。所有基础模型都是从刮擦,除了convs2s wmt14英德语翻译,我们使用训练模型(以及训练数据)提供吉林等人。(2017)
表1:生成质量(BLeu)和速度(令牌/秒)。在CPU上的测试集中,一个句子一个句子地生成速度,而不进行小批处理。我们通过贪婪解码(贪婪)的底层模型、k=4(beam4)的波束搜索和我们的可训练贪婪译码器(tg)来显示结果。
表2:使用提议的可训练贪婪译码器(无波束和有波束)的生成质量(Bleuuarr;)
搜索(k=4)。结果无光束搜索(TG)区域见表1。
RNN 我们使用OpenNMT PY(Klein等人,2017)来实现我们的模型。它由一个具有两层双向RNN的编码器和另一个具有两层RNN的译码器组成。我们参考opennmt的默认设置(rnn大小=500,word vec大小=500)和artetxe等人的设置。(2018)(RNN大小=600,字vec大小=300),并选择类似的超参数:RNN大小=500,字vec大小=300,用于iwslt16和RNN SIZE=600,WORD VEC SIZE=500用于WMT。我们使用输入馈送译码器和全局注意与通用对齐功能(Luong等人,2015)。
Convs2 我们实现了基于模型的在Fairseq PY.7中,我们按照FCONV Iwslt de en和FCONV WMT en de for IWSLT16和WMT。
转换器 我们实现了基于模型的转换器关于Gu等人的代码。(2018年)8我们跟随所有实验的超参数设置。在下面的结果中,我们重点讨论了由选择布卢得分最高的句子从光束搜索产生的K-最佳列表K=35。激发这些选择的实验是稍后在本节中显示。
4.2结果与分析
结果(表1)表明,使用actor代替beam search是可行的。贪婪解码在大多数情况下:我们损失很少或没有性能,这样做会增加译码效率低,甚至占小演员增加的开销。在这三种架构中,convs2是最大层的性能最好。我们推测这使译码器具有更大的灵活性,指导解码。在模型吞吐量不太重要的情况下,我们的方法还可以与测试时的波束搜索相结合,以产
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[441598],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。