面向神经机器翻译的集成学习方法分析

2019-04-17 03:56姜雨帆张哲旸刘继强
中文信息学报 2019年3期
关键词:语料预测性能

李 北,王 强,肖 桐,姜雨帆,张哲旸,刘继强,张 俐,于 清

(1. 东北大学 自然语言处理实验室,辽宁 沈阳 110819;2. 新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830046)

0 引言

集成学习(ensemble learning)是一种联合多个学习器进行协同决策的机器学习方法[1]。集成学习方法通过整合多个学习器的决策结果可以有效减小预测结果的方差与偏置[2-4],显著提升模型的泛化能力,达到比单学习器更好的效果。因此,集成学习方法得到了研究人员的广泛认可,被应用于各种实际任务,如规则提取[5]、手写识别[6]等分类回归任务中。

近年来集成学习方法在机器翻译领域也取得了杰出的效果[7]。常见的手段包括平均单模型在训练过程中不同时刻保存的模型参数;在预测过程中整合不同模型的预测结果等。通过在大规模数据的机器翻译评测比赛中进行实验,使用集成学习的手段能大幅度提升翻译的性能,在CWMT、WMT[8-11]等评测比赛中得到了广泛的验证。影响集成学习效果的主要因素是模型之间的多样性,因此如何增大模型之间的多样性是提升翻译性能的关键。但大部分研究人员只是在比赛中通过使用集成学习方法达到提升翻译性能的目的,很少去系统地总结如何才能增大模型间的多样性,缺乏经验性的对比分析与完备性的结论。譬如如何选取具有差异性的子模型,集成多少个模型效果最优等问题并没有得到回答。

针对以上问题,本文基于Transformer[12]系统分别从模型的参数与解码预测过程两个角度,详细总结了更高效的Ensemble方法。从模型的参数角度,我们将不同时刻保存的模型进行参数平均,从而得到更具鲁棒性的单模型;对解码预测过程我们从模型多样性、数据多样性层面,阐述如何才能增加模型间的多样性来提升翻译的性能。在模型多样性层面,本文主要对比简单的随机初始化种子、复杂种子以及混合不同模型结构的Ensemble系统之间的优劣。在数据层面,本文提出分别使用fine-tuning[13]与bagging[14]的方式生成子模型,在增加数据多样性的同时提升模型间的差异性。基于以上两方面的讨论,我们又探索了是否使用更多的模型参与融合能在翻译性能上带来正向作用。

本文通过在WMT17中英任务的大规模数据集上进行实验,我们发现增大模型差异性与数据差异性均能提高模型的翻译性能。此外,随着融合模型的数量增加,翻译质量也会显著地提升。本文最好结果在Transformer单模型基础上取得3.19个BLEU值的提升,并针对模型间多样性与解码复杂度进行了分析。

1 背景

神经机器翻译系统根据给定的源语句子,x1,…,xn,和目标语句子y1,…,ym构建模型,建立从源语到目标语的映射函数。这个映射函数通常表示成条件概率p(y|x)的形式,翻译得越准确,概率值越高,表示成对数形式,如式(1)所示。

(1)

在Transformer提出之前,大多数神经机器翻译系统都是基于注意力机制[15]的循环神经网络(RNN),这些系统虽然取得了不错的效果,但是复杂、循环的计算导致整个训练过程十分漫长,这也是研究者们一直想要改进的地方。随着Transformer的提出,它放弃了传统的循环神经网络结构,采用完全基于自注意机制的结构,提高了模型的并行程度,大幅提升了训练速度。同时Transformer具有很强的模型表示能力,在翻译的准确性上也有一定的提升。下面来介绍Transformer的结构。

Transformer基于Encoder-Decoder结构[16],采用了一种全新的注意力机制,包含Encoder端、Decoder端的自注意机制和Encoder-Decoder的联合注意力机制,其结构如图1所示。在机器翻译中编码器负责将输入的源语转换成带有语义信息的向量,解码器负责根据语义信息产生目标语句。由于模型没有任何循环或者卷积,为了使用序列的顺序信息,需要将相对以及绝对位置信息注入到模型中去。

图1 Transformer模型架构图

编码器由N个相同的层堆叠而成,每层都有两个子层,第一个子层是多头自注意力机制,第二个子层是一个简单的(位置敏感的)前馈神经网络。解码器同编码器类似,在编码器的基础上多了一个子层,负责处理编码器输出的多头注意力机制。为了更易于梯度的传递与加速模型收敛,在编码器和解码器中每一个子层后都会有残差连接和层正则化操作[17]。Transformer使用的多头注意力机制(mulit-head attention)的基本单元是缩放的点积注意力模型(scaled dot-product attention),这种注意力的输入是dk维的query,dv维的key和value。具体的计算如式(2)所示。

(2)

其中,Q中的每一行对应一个query;使用每个query与KT相乘并进行归一化之后,即可得到一个n维的权值向量,然后,再将这个权值向量与V相乘,即可得到一个dv维的加权求和的结果。多头注意力机制就是将query、key和value映射为h组维度为dq、dk、dv的向量,分别进行按比例的点积注意力,最后将得到h个向量连接起来作为输出。表示如下:

2 Ensemble方法

本节介绍Ensemble在神经机器翻译中的两种应用手段: 模型参数平均与预测结果融合。本节首先介绍如何通过不同时刻保存的模型得到更具鲁棒性的单模型,之后讲述如何利用参数平均后的各个模型进行预测结果融合。在讨论预测结果融合方面分别从模型差异性角度与数据差异性角度,来对比分析不同策略带来的增益效果。在此基础上进一步分析通过更多的模型,来进行预测结果融合能否带来更大的增益。

2.1 模型参数平均

参数平均是指将单一模型的最近保存的N个模型的参数矩阵进行平均。正如图2给出4个检查点的部分参数矩阵,通过将对应位置数值进行平均得到新的参数矩阵。如模型1中的A11=0.26,模型2中的B11=0.22,不同检查点(checkpoint)矩阵的对应数值会有差异性,最终经过参数平均后的模型的E11=0.25。Sennrich[8]等在WMT16比赛首次使用模型保存的最新4个模型进行模型参数平均的方法,性能得到了显著提升。这是由于模型在训练过程中要更新一定的轮数才能收敛,并且模型的损失值在收敛后仍处于小范围的上下波动。为了得到更具有鲁棒性的模型,Vaswani[12]等建议每隔10分钟保存一次模型,并平均最新保存的20个检查点模型用来作为最终的模型,没给出经验性的结论。本文将要探索如何设置合理的模型保存间隔与参数平均的模型数量获得更强的翻译性能。

图2 参数平均结构图

2.2 预测结果融合

预测结果融合是一种在解码过程中实施的手段,通过整合不同模型得到的概率分布从而获得新的解,进而预测下一个目标端词语。常见的融合手段有算术平均、几何平均、加权平均以及投票等。机器翻译任务是一种序列生成问题,解码的每一个时序都会依赖于前一时序预测的结果,模型会根据当前的语义信息计算出一个维度大小是词表大小的概率分布向量,经过softmax操作得到归一化的向量表示。向量中每一个元素指代预测下一个词的概率。如图3在输入源语“今天 天气 晴朗 。”前提下,解码第一步将4个不同模型预测的概率进行算数平均从而得到新的概率分布,其中“today”是当前预测概率最大的词。通过这种方式Ensemble模型可以综合不同模型的决策结果来得到更正确的解。本节主要分别从模型多样性与数据多样性的角度来对比分析不同融合手段带来的性能增益。

2.2.1 模型多样性

模型间的差异性很大程度上决定了模型融合后的效果。对于模型层面,我们将从以下两种策略来构造子模型。

图3 模型融合示意图

(1) 使用相同的模型结构、不同的参数初始化分布或者不同的随机初始化种子。由于神经网络的拟合训练容易陷入局部最优解,最终单模型的翻译结果可能不是全局最优解。通过Ensemble的方式,融合多个不同随机种子即多个局部最优解,进而避免这类问题,获得更好的结果。

(2) 使用不同的模型结构、不同的随机初始化种子。由于仅改变模型的初始化参数,融合相似的网络模型结构差异性过小,为了增大模型间的差异性,本文训练N个不同网络结构且不同的随机初始化种子的模型。

2.2.2 数据多样性

在数据层面,为了增加多样性,我们通过fine-tuning与bagging两种策略来构造子模型。

(1) 通过fine-tuning的方式在训练好的模型基础上,用分割成不同份数的训练语料继续训练5轮,保证词表不变。通过这种方式让微调后的子模型对不同的数据敏感,从而增加了多样性。由于微调的代价很小,不需要完全重新训练模型,节约了很多时间上与设备上的开销。

图4 bagging示意图

(2) 通过bagging的方式对训练样本进行重采样,如图4所示分别使用重采样后的子样本训练相应的模型,在预测过程中对不同模型的输出结果通过取平均的方式得到Ensemble的模型输出。bagging是最早出现在集成学习任务中的有效手段,在早期的分类任务中,通过bagging方式构建多个决策树共同对测试数据进行决策,最后采用投票或者取平均的方式得到集成结果。在本任务中通过对训练数据做了N次Bootstrap采样得到的N个训练集近似服从同一分布,同时有效地降低了方差。由于不同子模型之间数据量相同但内容略有差别,从而增加了训练数据的多样性。

2.2.3 更多模型

通过融合更多的模型联合决策来提高翻译性能。大部分研究人员在进行集成方面的研究都只使用了4个或5个模型进行融合,并没有进一步探究融合更多模型是否有效。本节主要探索参与预测结果平均的模型数量对性能的影响,验证参与融合的模型数量与Ensemble模型的翻译性能之间的正相关性。

3 实验

3.1 数据筛选

本文实验基于2018年WMT(Workshop on Machine Translation)中英比赛发放的训练数据,其中中英双语平行语料16M(M表示百万句对),英文单语数据24M。除此之外同时使用了2018 CWMT(China Workshop on Machine Translation)的双语平行语料,共9M句。我们通过以下几个策略对训练语料进行了过滤选择。

(1) 对双语平行语料进行乱码过滤,剔除混有乱码的语料如控制字符、UTF-8转码生成的单字节乱码等。

(2) 对双语平行语料进行NiuTrans[18]分词处理,保留目标语英文单词的大小写敏感,对中文端的标点符号进行全角转半角操作。

(3) 对双语语料进行长度比过滤,过滤源语端与目标语端超过100个词的句子,同时保证源语与目标语长度比在0.4~3.0范围内。

(4) 应用fast-align脚本对大规模双语语料做词对齐学习,在此基础上生成中英互译词典。清除源语与目标语端词典覆盖率小于0.3的双语语料。

(5) 使用过滤后的双语语料的英文单语训练语言模型[19],根据语言模型筛选提供的英文单语语料。通过back-translation方式生成伪数据[20],用作数据增强。

(6) 混合筛选的双语平行语料与生成的伪数据,做去重操作。

经过以上几个过滤步骤我们保留了将近12M双语平行语料与4M的伪数据作为模型的训练数据。我们通过BLEU来衡量翻译质量,采用Moses提供的multibleu.perl[21]脚本来计算BLEU。我们对训练数据进行BPE处理[22],有效减少UNK的出现频次,BPE的词表大小为32K,我们的源语端训练词表大小为48K,目标端训练词表大小为33K。

3.2 实验设置

本文实验基于Transformer模型框架,在Tensorflow版的tensor2tensor开源工具基础上进行改进。实验的基线设置采用了论文中的transformer_base参数设置,编码端与解码端分别是6层,隐藏层维度为512,采用8头设置,前馈神经网络的filter_size大小为2 048,batch-size大小为4 096,采用8gpu训练,初始学习率为0.001,warmup_steps大小为4 000,采用Adam优化器[23]进行参数优化,训练的轮数为10轮,共140K更新次数。在解码阶段我们采用beam-search[1]策略来进行解码端的预测,beam-size大小为12,同时解码时的长度惩罚alpha[12]大小为1.2。基于该参数的单模型在测试集上的BLEU值为25.40,是一个很强的基线设置。

3.3 模型参数平均的比较分析

本实验基于Baseline模型的参数设置,每隔5min保存一次模型。基于模型的最新的20个checkpoint,通过对比单模型与averaging5、averaging10、averaging15、averaging20之间的性能差异(图5),我们发现基于保存的20个checkpoint点进行参数平均均有一定的正向作用,其中取最新的15个模型效果最佳,比最后保存的单一模型高0.82 BLEU值。基于本次实验结果,之后的实验均采用参数平均15个checkpoint后的模型。

图5 不同checkpoint进行参数平均结果

3.4 预测结果融合的比较分析

本节我们将分别在模型多样性与数据多样性层面讨论预测结果融合的效果。在模型多样性方面,我们主要对比分析在集成的模型数量固定的条件下,相同结构与不同结构两种融合方式的优劣;在数据多样性方面,我们主要探索fine-tuning与bagging两种手段是否适用于神经机器翻译任务。之后我们会基于以上两类实验结果进一步分析融合数量更多、模型结构差异更大的模型对翻译性能的影响。

3.4.1 模型多样性实验结果

相同模型结构,不同初始化种子本实验分别采用三种不同的模型设置进行随机种子的实验,每个模型在WMT17中英测试集上的BLEU表现如图6所示,我们发现在Baseline参数设置的基础上增大filter_size至4 096与加入dropout都会明显提高单模型的BLEU分数。通过对相同模型结构的4个不同随机初始化种子进行融合,结果如表1中的前4行数据所示,我们发现三组实验对比于基线在性能方面都有至少+1.48 BLEU的提升。其中增大filter_size的Combo-2与增加dropout的Combo-3结果要比Combo-1有更好的翻译效果,表明参与集成的基模型性能越强,模型融合后的性能也会上升。另一方面,根据Combo-3实验结果,增加dropout的单模型性能比filter4096平均高0.23 BLEU,但模型融合的结果反而要略低于Combo-2。这里我们猜想是由于dropout本身蕴含着集成学习的思想,因此融合4个dropout模型的性能上升的幅度会有所下降。

不同模型结构,不同初始化种子本实验主要为了对比更多样化的模型结构能否带来更大的性能提升。为了增加模型间的差异性,我们在transformer_base参数设置的基础上:

图6 组间是不同的模型结构,组内是不同的随机初始化种子

(1) 加入注意力模型与前向网络的dropout;

(2) 调整dropout大小至0.2;

(3) 将filter_size由2 048增大至4 096;

(4) 使用transformer_big参数设置,由8头增加至16头、隐层大小由512增加至1 024、filter_size由2 048增加至4 096、residual_dropout由0.1增大至0.3;

(5) 引入相对位置表示。

根据表2的实验结果我们发现增加注意力和激活函数的dropout与增大前馈网络的filter_size以及使用相对位置均会提高模型的翻译性能。如表1中Combo-4与Combo-5的BLEU值比基于Base模型结构的Combo-1的BLEU分别高0.40与0.47 BLEU。此外,考虑到参与模型融合的各个单模型之间的性能差异,观察实验Combo-5比Combo-2仍高0.18 BLEU,从而验证了“模型间的差异性越大,模型融合的结果会越强”的结论。

表1 不同策略模型融合实验在WMT17-test测试集结果

表2 WMT 17-test不同参数的单模型结果

3.4.2 数据多样性实验结果

使用fine-tuning构建子模型本实验主要在保持源语端与目标语端词表前后一致的前提下,从训练语料中采样出4份不同的训练数据,每份约4MB句子,分别在Baseline模型的基础上,对其进行继续训练。由于Baseline模型已经在原有的16M训练集上达到收敛效果,我们从最新的模型保存点继续训练5轮左右,让Baseline模型对不同的训练数据保持敏感,从而增加了Ensemble模型之间的差异性。如图6所示,在原有Baseline模型基础上进行微调,大部分模型会在测试集上略有下降,但Finetune4模型比Baseline高近0.30 BLEU。造成这种现象的原因是由于fine-tuning过程中数据是随机从原始训练数据中采样的,与测试集句子相近的训练集会直接导致模型的性能上升。根据这一实验现象我们使用测试集的源语端数据训练语言模型,在训练数据中挑选与测试集相近的训练集,每个模型的BLEU都在0.1~0.2上升区间内。在fine-tuning后的模型基础上进行模型融合实验发现BLEU值上升了0.20。这一实验现象验证了随着Ensemble子模型性能的提升,模型融合后的性能也会有一定的提升。考虑到训练周期与硬件代价问题,通过fine-tuning方式构造子模型是一个高效的手段。

使用bagging构建子模型本实验主要在16MB训练数据的基础上,重采样(无放回)出4份总数据量80%的子样本。基于每个样本使用Baseline参数设置训练出4个模型,每个模型在WMT17测试集上的表现如图6所示,从实验结果观测到各个子模型的翻译性能与基线系统相近,没有明显的下降现象。通过模型融合之后的结果见表1中的Combo-7,比基线提升1.18 BELU。对比Combo-1实验结果,使用bagging手段进行模型融合的结果提升幅度要略小一些,这是由于机器翻译任务本身数据量比较大,少量数据的变化对性能影响不大。

3.4.3 更多样的模型

结合模型与数据多样性的模型融合结论,在本节验证使用更多、差异性更大的模型,是否会在翻译性能上带来正向效果。我们分别融合了4个、8个、12个、16个模型进行相应的对比实验。图7实验结果表明,参与模型融合的子模型数量与其翻译性能是正相关的。在增大参与预测结果融合的子模型数量的同时,翻译性能整体也会保持上升的趋势。值得注意的是当模型数量上升到一定临界值时,上升的幅度会变小,甚至会略微下降。导致这种现象的原因是伴随着模型融合的数量上升,子模型间的差异性越来越小,因此在增加模型数量的同时也要兼顾模型之间的多样性,我们将在3.5节介绍多样性的评价指标。为了解决这个问题,我们通过调整网络的超参数,同时调整fine-tuning的手段来进一步增加模型间的多样性,最终融合12个子模型取得了最好的翻译结果,如表2中Combo-11所示,在测试集上的BLEU值为28.59,对比Combo-1高出0.89个BLEU值。同时,观察集成8个模型的3组不同实验我们发现,模型之间的差异性越大,融合后提升的效果越显著。

图7 模型融合数量与性能之间的关系

3.5 多样性与复杂度分析

本节我们将介绍模型之间多样性的评价标准与Ensemble系统的时间复杂度开销。

多样性模型间的多样性决定了多个模型进行融合后翻译性能的涨幅。本文通过计算不同模型预测出的译文与参考译文之间的N-gram分数来评估多样性的大小。我们使用multi-bleu.perl脚本,将多个模型的译文作为参考答案,并使用参考译文作为假设,计算模型间的N-gram相似度。如表3所示,我们混合不同单模型在测试集上的预测集合,发现当模型数量一定时,模型之间结构差异性越大,模型之间的多样性越高;此外,伴随着模型数量的增加,模型间的多样性增大,但增大的幅度越来越小。通过对比模型数量为4时的不同模型结构的前3组实验,我们发现使用dropout的多样性指标略低于其他两组,因此使用该设置进行预测结果融合后,模型性能的涨幅也低于其他两组,与3.4.1实验现象相吻合。

表3 多样性分析

复杂度Ensemble模型进行预测的时间复杂度在不考虑卡间参数传递损失的前提下,与单模型相近。但在真正的推断过程中,我们在预测每个词时都采用同步的方式来整合不同卡上模型计算出的概率分布向量,因此卡间的信息传递占用了很大的时间开销。此外,由于不同模型结构的计算量不同,会导致解码速度不统一,容易造成木桶效应。根据对不同数量的模型进行Ensemble实验,伴随着数量的增加,解码所需的时间也变长。因此提高卡间的传输速率会大幅度提升集成学习在实际应用中的效率。

3.6 整合实验结果

表4中我们展示了模型参数平均与预测结果融合的最好结果,实验结果表明: 对比Transformer_base单模型,参数平均的方法提升了0.82个BLEU值,在参数平均的基础上融合12个模型得到3.19个BLEU值提升。

表4 WMT17中英测试集结果

4 相关工作

最近神经机器翻译越来越受到外界关注,现有的大多数工作都是针对模型结构的改进与经验性方法的集成。近年来出现很多在解码端融入不同手段来启发式地改进翻译性能的工作,常见的手段有将集成学习的思想融入翻译推断过程[8-11]、融合最小贝叶斯风险到NMT[24]、使用不同系统得到有差异性的翻译结果、通过系统融合的方式利用混淆网络来重构翻译结果[25]等。

本文重点关注集成学习在神经机器翻译中的应用,致力于探索一种更有效的融合方式。近期Vaswani等提出了基于自注意机制的Transformer模型,颠覆了研究人员的认知,更快的模型训练收敛时间与更显著的性能优势让Transformer代替了循环神经网络成为了最受欢迎的端对端翻译模型。文章中,Vaswani提出了对最后N个模型保存点进行参数平均可以得到方差更小、性能更强的单模型,但并没有详细地介绍如何设置模型的保存间隔与参数平均模型的个数。Sennrich等在WMT16比赛[8]中第一次提出对单一模型的最后4个保存的模型进行参数平均,并且在WMT17比赛[9]中尝试用不同的超参数训练了4个不同结构模型,在中英任务上比基线有+1.5 BLEU的提升。但他们并没有详细介绍修改超参数的策略从而获得差异性更大的模型。另一方面,他们只采用了4个模型进行融合,没有尝试更多的模型是否能进一步提升翻译的性能。搜狗[10]与厦门大学[11]均在WMT17的中英与英中比赛使用了预测结果融合的手段取得了性能的提升,但同样也没有给出融合更多样模型的实验结论。除此之外,Freitag M[26]等使用老师—学生(teacher-student)框架让网络结构更简单的单模型去逼近Ensemble模型的性能,同样并没详细介绍选取模型的策略。

本文通过大量的实验对比分析集成学习在NMT中的应用方法,针对模型与数据多样性,特别在更多模型融合方面给出了经验性结论,翻译性能得到显著地提升。

5 结论

本文的主要贡献在于结合模型参数平均与预测结果融合两种集成学习在NMT中的应用手段,在大规模语料上进行实验,总结了一种更高效的集成方法。一方面我们发现经过参数平均后的模型有更强的表示能力;另一方面实验结果表明在融合模型数量相同的情况下,更加多样性的模型组合会在性能上带来更大的提升,尤其在融合更多模型的角度进一步实验,发现仍然有较大的提升空间。本文在WMT17中英测试集上,选用12个经过参数平均15后的多样性子模型,对比于基线提高了近+3.19 BLEU。我们的方式证实了用更多更具差异性的模型进行融合能显著提升翻译性能,同时对模型多样性与解码复杂度进行了系统的分析。

6 未来工作

未来我们会在更多的语种方向上来验证Ensemble实验结论的有效性;另一方面模型融合系统对于超参数长度惩罚alpha非常敏感,我们将从句子级BLEU的角度分析不同alpha对翻译结果的影响,并在解码每一句之前用额外的系统去预测alpha值,进而提升翻译的性能。

猜你喜欢
语料预测性能
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
基于归一化点向互信息的低资源平行语料过滤方法*
保暖袜透湿性能测定的不确定度分析
提供将近80 Gbps的带宽性能 DisplayPort 2.0正式发布
濒危语言与汉语平行语料库动态构建技术研究
对外汉语教学领域可比语料库的构建及应用研究
——以“把”字句的句法语义标注及应用研究为例
Al-Se双元置换的基于LGPS的thio-LISICON的制备与性能表征