一种Mask交互融合预训练知识的低资源神经机器翻译方法

2024-03-05 01:41朱志国郭军军余正涛
小型微型计算机系统 2024年3期
关键词:源语言解码器编码器

朱志国,郭军军,余正涛

(昆明理工大学 信息工程与自动化学院,昆明 650500)

(昆明理工大学 云南省人工智能重点实验室,昆明 650500)

0 引 言

神经机器翻译(NMT)[1-3]研究将源语言自动转化为目标语言,是自然语言处理的基础任务之一,其性能通常依赖大规模高质量的平行句对.然而,大多数语种之间都面临双语对齐语料不足的问题,如:汉语到越南语、汉语到泰语的翻译.因语料质量和数量的限制,低资源条件下,翻译模型不能有效挖掘语言信息,导致模型表征质量不佳,进而引起译文质量的下降.人工构建大规模高质量的平行句对成本较高,如何基于模型充分利用现有资源,提升低资源条件下神经机器翻译的性能仍是亟需解决和研究的热点问题.

相对于难以获得的双语平行语料,单语数据是非常丰富的.近年来,基于单语的预训练技术快速发展,预训练语言模型如EMLo[4]、GPT/GPT-2[5,6]、BERT[7],ERNIE[8],XLNet[9]在文本分类[10]、序列标注[11]和问答[12,13]等NLP下游任务中得到广泛应用,并取得了很好的效果,证明了单语数据对增强模型语言理解能力的效力.相关研究也探索了基于单语预训练方法[14-17]提升NMT性能的有效途径,结果表明,将BERT知识融入NMT系统可有效提升翻译质量.然而,现有融合BERT知识提升神经机器翻译的方法在改变 seq2seq模型结构的基础上,增加了模型训练的参数量,使得在训练过程中的计算开销增大.

针对上述问题,本文提出一种简单有效的Mask交互融合预训练知识的低资源神经机器翻译方法,首先得到源语言的BERT句子表征和Transformer编码端经过多头注意力后的表征,利用自注意力交互计算两种表征的相似度,根据阈值对相似度进行二值化处理构造Mask知识矩阵,矩阵中零表示相似度高不需要掩蔽的表征,一表示相似度低需要掩蔽的特征.然后将Mask知识矩阵作用于源语言表征,即将Mask知识矩阵中值为一对应的源语言词表征的位置填充为一个很小的数值,Mask知识矩阵是由两种表征的相似度得到,可以筛选BERT表征中对源语言表征有益的知识,以此来自适应地融合BERT预训练知识,提升翻译模型对语言知识的表征能力.在IWSLT标准翻译任务上广泛的实验结果表明,所提方法能够自适应地在低资源NMT任务中融合预训练语言模型BERT中对机器翻译任务有益的语言知识,有效提升了低资源NMT任务的性能.在IWSLT英-越数据上获得了+1.76的BLEU值提升,达到了在低资源NMT任务中融合预训练模型知识最好的结果.本文的主要贡献包括以下3个方面:

1)提出一种简单有效的Mask交互融合预训练知识的低资源神经机器翻译方法,利用BERT表征与Transformer的源语言表征相交互构造Mask知识矩阵,在编码端自适应地融合BERT表征中对机器翻译任务有益的知识,提升低资源NMT模型对语言的学习能力.

2)通过构造并利用Mask知识矩阵自适应地融合BERT语言知识,实现了BERT表征中对低资源神经机器翻译任务有益的语言知识的刷选.

3)在IWSLT标准低资源翻译数据集上的实验结果表明,所提方法在增加微量训练参数和计算开销的情况下显著提升了基线模型的性能.

1 相关工作

现有利用预训练语言模型知识提升NMT性能的方法主要分为3种:1)基于seq2seq预训练语言模型的NMT方法.在大规模平行语料上训练一个seq2seq的预训练语言模型,然后微调用于下游NMT任务;2)基于预训练语言模型参数初始化的NMT方法.利用预训练语言模型参数初始化部分或整个NMT模型,增强NMT模型对语言知识的捕获能力;3)基于预训练语言模型知识蒸馏的NMT方法.通过改变NMT模型结构,在训练中融入预训练语言模型的知识,提升NMT的性能.

1.1 基于seq2seq预训练语言模型的NMT方法

预训练语言模型是在大规模语料上进行训练,然后保存模型参数,应用于下游任务,但是预训练语言模型的结构与主流的机器翻译seq2seq模型结构存在差异,如BERT[7]的双向编码器结构,在编码器堆叠了12层,这12层模型的参数经过了大规模语料的多次训练,对文本特征的捕获能力是极强的,如果其后接解码器应用于机器翻译任务,而机器翻译任务只是经过了特定的小规模语料的训练,会导致编码器(encoder)和解码器(decoder)对文本特征的捕获能力不一致.解决这种问题的一个方法就是针对seq2seq任务训练一个预训练语言模型.

Lewis等[18]提出了序列到序列的预训练语言模型BART,使用多种噪声破坏原文本,再将残缺文本通过序列到序列的任务重新复原文本来训练BART,BART模型的提出解决了预训练语言模型编码器、解码器表征能力不一致的问题.Song等[19]提出了一种遮掩seq2seq的预训练语言模型(MASS)来进行基于encoder-decoder的语言生成任务.MASS的encoder部分将一个句子随机Mask部分字段后作为输入,decoder部分的目标则是预测被Mask的字段.通过这种方式,MASS能够对encoder和decoder进行联合训练来提高特征抽取和语言模型的表达能力.Mitzalis 等[20]通过融合多模态VL-BERT和多语言预训练语言模型M-BERT,提出了BERTD的扩展模型BERTGEN,并将其运用于图像语义描述、机器翻译和多模态机器翻译等多个任务,使其不用微调就能运用于下游任务,扩展了seq2seq的预训练语言模型,使其有很好的通用性.Xu等[21]针对预训练单语语言模型可以提高机器翻译系统的性能,但机器翻译本质上是一项双语任务的问题,提出了双语预训练语言模型—BIBERT ,使源语言和目标语言数据能够丰富彼此的语境信息,从而更好地促进双向翻译.并将BIBERT中不同层的信息进行整合,潜在地利用了预先训练好的语言模型中封装的更多信息.虽然训练一个seq2seq的预训练语言模型是可行的,但是训练一个seq2seq的预训练语言模型需要大量的单语语料,且需要消耗大量的计算资源,这对于语料匮乏的语言来说是不现实的.

1.2 基于预训练语言模型参数初始化的NMT方法

预训练语言模型在大规模数据集上训练,能更好的表征语言知识,其参数体现了其学习语言的能力,利用预训练语言模型的参数初始化NMT模型可以加快训练效率、避免陷入局部最优点或鞍点.基于这样的考虑,研究者们就如何利用预训练语言模型参数初始化神经机器翻译模型来提高机器翻译的性能进行了广泛的研究.

Lample 和 Conneau[22]利用在大规模单语语料上训练的预训练语言模型的参数初始化整个神经机器翻译编-解码器的参数,证明了这样的初始化有利于无监督神经机器翻译.Kenji Imamura 和 Eiichiro Sumita[23]将NMT中Transformer 的编码器替换为BERT的编码器,在训练过程中采用解码器训练和微调两阶段优化,先将解码器单独训练致收敛,再联合编码器一起训练进行微调,构建了一个更高质量的NMT模型,取得了很好的实验结果.Edunov等[24]使用ELMo语言模型得到的上下文词嵌入初始化模型的编码或解码端的词嵌入层,以这种方式使用预训练语言模型会在不进行微调的情况下带来显著的改善,但在资源匮乏的情况下,在设置微调方面几乎没有什么收获,而当更多的标记数据可用时,增益将减小,证明了添加预先训练的知识表示对于编解码器网络是有效的.Rothe等[25]人对如何利用预训练语言模型BERT,GPT-2,和 RoBERTa 的检查点,初始化seq2seq模型的编-解码器进行了广泛的研究,证明了用预先训练模型参数初始化的编-解码器有助于模型性能的提升.虽然参数初始化的方法能在一定程度上提升机器翻译的性能,但由于双语任务的训练目标与单语预训练模式相差甚远,这一差距导致仅在NMT中使用参数初始化并不能充分利用预训练语言模型中的语言知识.

1.3 基于预训练语言模型知识蒸馏的NMT方法

对NMT模型结构进行改进,在基于Transformer的机器翻译模型结构中融入从预训练语言模型提取的知识,是NMT任务中对预训练语言模型知识利用的很好的方法.改进后的模型基本保留了原翻译系统的主体结构,因此可以在不对原模型造成破坏的前提下,充分利用外部知识对模型进行优化,提升翻译性能.

Yang等[14]提出了CTNMT模型,利用渐进蒸馏和动态门控的方法提取预训练语言模型的知识.Weng等[15]提出利用层感知注意力机制和门控融合机制在Transformer的encoder端融合预训练知识,一定程度上解决了由于双语机器翻译任务和单语预训练语言模型之间的巨大差距,造成的预训练语言模型中的上下文知识不能很好地与NMT任务结合使用的问题.Chen等[11]在训练的过程中将BERT模型作为教师模型,源语言X和目标语言Y拼在一起(X,Y),并随机地将15%的仅在Y中的token屏蔽,然后来训练seq2seq的学生模型,弥补了seq2seq从左到右训练,未来的上下文信息被屏蔽的不足.Zhu等[16]提取BERT的输入序列表示,然后通过BERT编码器或解码器的注意力模块,每个NMT编码器或解码器层与输入BERT表征进行交互,最终输出二者的融合表征,进一步利用了预训练语言模型BERT中的知识.Guo等[17]提出采用两种不同的BERT模型分别作为编码器和解码器,并通过引入简单的轻量级适配器模块对它们进行微调,该方法不仅能够匹配BERT的双向和条件独立性质,并以一种简单的方式将其扩展到传统的自回归解码,能够联合利用源端和目标端BERT模型中包含的信息,同时绕过了灾难性遗忘问题.虽然知识蒸馏的方法很好的利用预训练语言模型中的知识,但需要在一定程度上改变seq2seq的模型结构,增加模型训练的参数量,并没有针对低资源场景下提出利用预训练语言模型知识来提升低资源机器翻译性能的方法.

不同以往在神经机器翻译中利用预训练语言模型的方法,本文针对低资源神经机器翻译的问题,提出了一种简单有效的Mask交互融合预训练知识的低资源神经机器翻译方法,所提方法有选择的融合预训练知识,并且几乎不增加训练的参数量和计算开销,提升了低资源机器翻译的性能,在一定程度上缓解了低资源神经机器翻译场景下资源不足的问题.

2 Mask交互融合预训练知识的低资源神经机器翻译方法

在本节中,基于Transformer框架提出了一种Mask交互融合预训练知识的低资源神经机器翻译方法,在编码端通过一个Mask知识矩阵有选择的融合BERT的知识,增强模型对语言知识的学习.模型的整体框架如图1所示.

图1 Mask交互融合预训练知识的低资源神经机器翻译模型结构图Fig.1 Model structure diagram of Low-resource Neural machine translation method based on mask interactive fusion of pre-trained knowledge

2.1 Mask交互融合预训练知识编码器

本文的编码器由4个相同的层组成,每一层包含了两个子层,第1个是多头注意力层,第2个是位置前馈网络层(FFN).

2.1.1 文本词嵌入

给定一个包含l个词的源语言句子X={x1,x2,…,xl},经过编码器的位置词嵌入层将其转换为位置词嵌入向量Ex,位置词嵌入向量Ex计算过程如下:

Ex=Emb(x1,x2,…,xl)+PE(x1,x2,…,xl)

(1)

其中Emb表示词嵌入层,PE表示位置嵌入层,Ex∈R1×dmodei,dmodei为词嵌入维度.

2.1.2 文本BERT句子表征

为了利用BERT的知识,对于输入句子X提取了BERT的句子表征B,提取的过程表示如下:

B=BERT(X)

(2)

其中BERT表示预训练语言模型BERT,B∈R1×768

2.1.3 Mask交互融合模块

Hk=MultiHead(Qx,Kx,Vx)=Concat(head1,…,headn)WO

(3)

其中,MultiHead(·)表示多头注意力机制,k={0,…,5}表示编码器层数索引值,h表示头数,本文h设置为4,W0∈Rhd×dmodel是参数矩阵.每个头的注意力计算过程可表示如下:

(4)

为了提取B中对NMT任务有用的知识,本文提出了基于自注意力机制的Mask策略,首先将包含l个词的源语言X的BERT句子表征B和X经过编码器多头注意力机制计算之后的表征Hk算一个相似度分数α,计算过程如下:

(5)

其中α表示Hk与B的相似度值,α∈Ri×1,ω是可训练参数,b是偏置,softmax(·)用于生成具体的相似度值.

得到相似度α后,进行二值化处理,定义知识矩阵M={m1,m2,…,mi},用阈值θ控制相似度值α二值化的转化,本文θ设置为0.02,此过程可表示如下:

(6)

(7)

Mask策略具体的过程如图2所示.

图2 基于自注意力机制的Mask策略Fig.2 Mask strategy based on self-attention mechanism

经过多头注意力层之后,使用FFN全连接网络更新序列每个位置的状态,得到Hx,此过程可表示为:

(8)

最终把编码器最后一层的输出Hx输入到解码器解码.

2.2 文本解码器

HY=MultiHead(QY,KY,VY)

(9)

然后经过跨语言多头注意力机制实现源语言特征HX和目标语言特征HY的交互与对齐,过程如下所示:

Y=Cross-Att(HY,HX,HX)

(10)

之后经过位置前馈网络层更新序列每个位置的状态,得到F,过程如下:

F=FFN(Y)

(11)

最后将解码器最后一层的输出Yk做softmax,预测目标句子的概率分布,过程如下:

P=softmax(WPYk+bp)

(12)

其中Wp是可训练参数,bp是偏置.

(13)

3 实验结果与分析

3.1 数据和预处理

本文在IWSLT(International Conference on Spoken Language Translation)的3个低资源的神经机器翻译数据集IWSLT14英语-德语(En-Dn)、IWSLT15英语-越南语(En-Vi)、IWSLT17英语-法语(En-Fr)上评估了本文模型的有效性,数据集大小分别是160k、113k、236k.为了公平的与相关的工作进行比较,对 IWSLT14 德-英任务,本文跟随 Edunov[26]的设置,小写所有单词,从训练数据中划分7k个句子作为验证集,拼接dev2010、dev2012、tst2010、tst2011、tst2012作为测试集;对IWSLT15英-越任务,跟随Chen[11]的设置,使用 tst2012 作为验证集,tst2013 作为测试集.对IWSLT17英-法任务,拼接dev2010,tst2010,tst2011,tst2012,tst2013和tst2014作为验证集,拼接tst2015和tst2016作为测试集.本文对所有数据都进行了BPE(Byte Pair Encoding)[27]切分,使用源语言和目标语言联合构建BPE词典,词典大小为10k.

3.2 实验设置

本文使用预训练BERT模型提取源语言的句子表征,具体地,使用bert-base-cased模型提取英语的句子表征,其他语言使用bert-base-multilingual-cased提取句子表征.本文在开源工具包Fairseq[28]上实现了Mask交互融合预训练知识的低资源神经机器翻译模型,采用轻量模型Transformer_iwslt_de_en作为基础模型,编码器和解码器的层数为6,注意力头数为4,词向量维度为 512,前馈神经网络层的输出维度为1024.模型训练时使用Adam优化器,参数β1=0.9,β2=0.98.学习率调度器为inverse-sqrt,权重衰减weight-decay=0.0001,warmup步数为 4000,学习率lr=0.001,最小学习率min_lr=10-7.损失函数采用交叉熵损失函数,dropout=0.3.按句子长度划分不同的批次,设置 GPU 的最大输入输出为 4096 个词.所有实验均在一张3090GPU上完成.

对于译文质量评价指标,本文选择了神经机器翻译最常用的指标BLEU值,其使用开源脚本 multi-bleu.Perl计算得到.

3.3 比较模型

为了验证模型的有效性,本文与利用预训练知识的神经机器翻译模型和其他通用任务上的机器翻译模型进行了对比实验.

首先,本文与其他利用预训练知识提升神经机器翻译性能的模型进行比较:

1)BERT-fused[16]:通过注意力机制将输入序列的 BERT表征与NMT模型的编码器和解码器的每一层表征融合,并处理BERT模块和NMT模块可能使用不同分词规则的情况.

2)AB-Net[17]:采用两种不同的BERT模型分别作为编码器和解码器,并通过引入简单的、轻量级的适配器模块对它们进行微调,将预训练语言模型BERT应用于seq2seq任务.

3)C-MLM[11]:无需显式的参数共享、特征提取或添加辅助任务,利用预先训练好的语言模型来改进文本生成.

其次,本文在通用的IWSLT任务上与其它机器翻译方法进行比较 :

1)SGSA[29]:一种将源端语法知识与多头自我注意力机制相结合的神经网络模型.

2)CVT[30]:一种使用混合标记和未标记数据来改进 Bi-LSTM 句子编码器的表示的半监督学习算法.

3)Tied-Transformers[31]:一种共享编码器和解码器之间权重的改进Transformer模型.

4)Macaron-Net[32]:一种在编解码器子层中添加位置前馈网络层的改进Transformer模型.

3.4 实验结果

实验结果如表1所示,表1中BERT-fused英语-法语和英语-越南语翻译任务是本文基于论文复现的结果,为了更公平的比较,除原文设置的参数外,其他设置和本文保持一致.基线模型Transformer的实验结果摘录自BERT-fused[16]和C-MLM[11].

表1 不同机器翻译方法在IWSLT数据集上的BLEU值Table 1 BLEU values of different machine translation methods on the IWSLT dataset

可以看到,本文所提方法在基线模型的基础上取得了+0.9~+3.39的BLEU值提升,证明了Mask交互融合预训练知识的低资源神经机器翻译方法的有效性.在编码过程中利用两种表征的相似度构造不同的Mask知识矩阵自适应地融合BERT预训练知识,可有效挖掘深层语言信息.分析其原因是不同的Mask知识矩阵是由源语言的BERT表征和Transformer编码端经过多头注意力后的表征计算相似度得到,可以对无效特征进行掩蔽,增强模型对语言的学习与表征能力,进而提升低资源场景下神经机器翻译的译文质量.

此外,与现有融合预训练知识的方法相比,所提方法在3个数据集上仍然保持良好的性能,取得了与其他机器翻译模型相当或更好的BLEU值评分.说明Mask融合预训练知识的方法将预训练知识作为指导与自注意力网络结合,可有效优化编码自注意力的建模过程.在De-En和En-De任务上未超过BERT-fused和AB-Net,本文认为可能的一方面原因是BERT-fused使用的预训练模型是bert-base-uncased,与本文所使用的不同,另一方面主要的原因是德语和英语有其特有的语言结构和语言知识,而BERT-fused和AB-Net复杂的网络结构能更好的切合这种特点,本文将在未来的工作中继续这方面的探索.考虑到BERT-fused和AB-Net拥有更复杂的网络和更大规模的模型参数,本文所提方法在引入微量参数和少量计算开销的情况下获得的有竞争性的结果是值得肯定的.

更广泛地,与其他精心设计的方法相比,所提方法也表现出强有力的竞争性.其中,Tied-Transformers模型使编码器和解码器权重共享以达到模型轻量化,但需要花费更长的训练时间来使模型收敛并且调参的难度随之增加.与之相比,本文的方法不需要额外训练时间,且翻译的性能更具竞争力.Macaron-Net通过在注意力网络之前添加位置前馈网络来改进Transformer模型,但增加了模型训练的参数量,与之相比,本文所提方法在仅引入少量参数的情况下实现了更好的模型翻译性能.

总的来说,Mask交互融合预训练知识的低资源神经机器翻译方法,基于Mask知识矩阵的指导将预训练语言知识有选择的融入神经机器翻译系统中,有效强化了模型对语言知识表征的能力,进而增强低资源场景下神经机器翻译的性能.

3.5 不同层融合BERT知识的BLEU值

针对已有研究指出的不同层捕捉不同特征的现象,一个自然的问题是,是否需要在所有编码层融合BERT知识,为解答以上问题,本文在IWSLT英语-越南语和IWSLT英语-法语任务上对不同层融合BERT知识进行了一系列实验,结果如表2所示.

表2 不同层融合BERT知识的BLEU值Table 2 BLEU value of different layers fused with BERT knowledge

实验结果表明,相较于Transformer基线模型,在不同层融合BERT知识获得了一致的提升,进一步验证了Mask交互融合预训练知识的低资源神经机器翻译方法的有效性.其中,在第1层融合BERT知识取得了最好效果.与在单一层融合BERT知识相比,在所有层中融合BERT知识在增加模型训练参数的同时并没有带来更好的增益,相反造成了模型性能的下降.说明模型性能的提升不是来自于参数的增加,而是预训练语言知识的融入带来的模型性能的增强.

此外,多层融合在一定程度上造成了信息的重复和冗余,不利于模型对语言知识的挖掘和学习.结合Raganato[33]等有关Transformer低层偏向捕获句子的语义信息,高层偏向于上下文信息挖掘的结论,表明BERT的句子知识并不适合作为额外信息提供给所有层,而是适合作为语义信息对源语言表征进行补充,增强模型对源语言语义信息的学习能力.

3.6 模型参数比较

为了更好的体现本文所提方法的简洁性,表3统计了不同模型在IWSLT14Dn-Ee和IWSLT15En-Vi翻译任务上的训练参数量和推理时间.

表3 不同模型训练参数量(百万)和推理时间(秒)比较Table 3 Comparison of the training parameters(millions)and inference time(seconds)of different models

从表3中可以看出本文所提出的模型非常小,参数量相比于Transformer_iwslt_de_en基线模型只有少量增加,比依赖于预训练语言模型的BERT-fused模型更具优势,并且在提升模型性能的同时没有过多的增加推理时间,在计算成本上也更具优势.换而言之,本文所提出的模型适应性更强,应该场景更广泛.

3.7 实例分析

为了进一步验证Mask交互融合预训练知识的低资源神经机器翻译方法的有效性,表4给出了在IWSLT德语-英语任务上,Transformer基线模型和本文融合BERT知识生成的译文示例.

表4 IWSLT德-英译文对比示例Table 4 IWSLT German-English translation example

可以看到,本文提出的翻译模型翻译性能更加优越,与参考译文基本对齐.第1个例子中,本文的模型更好的把“technologie-branche” 翻译为“technology industry”,而Transformer模型只是简单的翻译为“sector”,同样的第2个例子中本文的模型补齐了Transformer模型缺失的单词“fire”,翻译结果与参考译文一致;而对于与参考译文相比翻译效果欠佳的译文,本文的模型翻译的“clear”更接近与参考译文的“distinct”,更贴近源语言的意思.结果表明,本文提出的Mask交互融合预训练知识的低资源神经机器翻译的方法,有效提升了低资源神经机器翻译的性能,使译文更加的准确和自然.

4 结 论

针对现有在NMT低资源任务中融合预训练语言知识的方法过于复杂的问题,本文提出了一种Mask交互融合预训练知识的低资源神经机器翻译方法,通过源语言表征与预训练知识的交互构造Mask知识矩阵,在编码端自适应地融合BERT表征中对低资源机器翻译任务有益的语言知识.在低资源公共数据集IWSLT实验结果证明了本文方法的有效性和优越性;进一步的实验表明,本文方法在编码端融合预训练知识是对源语言语义知识的一个补充,提升了模型对语言知识的学习能力,有效提升了低资源神经机器翻译模型的性能,在一定程度上缓解了低资源语言数据不足的问题.

猜你喜欢
源语言解码器编码器
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
林巍《知识与智慧》英译分析
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
跨文化视角下对具有修辞手法谚语英译汉的研究
JESD204B接口协议中的8B10B编码器设计
以口译实例谈双语知识的必要性