Press "Enter" to skip to content

EMNLP 2019论文分享 |神经网络机器翻译多智能体联合学习模型(MAL)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

EMNLP 2019收录论文分享《Multi-agent Learning for Neural Machine Translation》。

 

 

一、研究动机

 

在机器翻译任务中,我们经常会遇到这样的情况,如表1 中的例子所示,L2R(从左到右解码的智能体,本文中智能体指翻译模型)所产生的译文,前半段质量较好,而后半段,错误逐渐增多。这是因为模型在翻译的过程中,每个时刻的输入是上个时刻的输出,一旦某个时刻发生错误,就会不断往右传递,导致翻译质量下降。反之亦然。

 

 

表1. 正反向模型解码示例,红色部分为翻译错误或漏译

 

首先,一个比较直接的想法是,能否让L2R和R2L智能体(从右到左解码)一起训练,这样在翻译句子后半段的时候L2R能够得到R2L的指导,同理前半段R2L可以得到L2R的指导。其次,如果增加更多的模型是否可以进一步提升效果?同时,怎幺设计多智能体之间的学习策略?智能体是应该更关注多样性还是单智能体性能?这些都是需要解决的问题。

 

在此背景下,百度翻译团队近期提出业内首个神经网络机器翻译多智能体联合学习模型(),显着提升了单智能体的学习能力,在多个机器翻译测试集合上刷新了当前最好结果(SOTA)。相比于传统的神经网络翻译模型,MAL具有如下创新点:

 

(1)提出了一种适应多智能体联合学习的训练框架,通过将多智能体之间的多对多学习问题转化为一对多学习问题,能够高效支持多个智能体联合学习。

 

(2)利用知识蒸馏(Knowledge Distillation)和实时译文评估等策略,确保单个智能体能从其他智能体中学习到高质量的模型知识。

 

(3)模型在多个公开测试集上取得了最佳或者接近最佳的效果,并在中英大数据上取得显着提升,直接应用于百度翻译线上产品。

 

二、技术方案

 

为了解决训练框架中多对多学习的问题,论文考虑将多对多转化为一对多,即每个智能体向同一个Teacher学习,这个Teacher是由多个智能体联合产生。区别于传统的Knowledge Distillation相关工作,MAL中Teacher的参数不是固定的,而是随着单个c智能体的更新而更新。具体的学习流程如下:

 

 

图1. MAL整体训练流程

 

(a)使用语料预训练单个智能体,(b)针对单个智能体的输出做平均形成Teacher,(c)使用一对多的方式让每个智能体去拟合Teacher的输出和参考译文。不断的去重复步骤(b)和(c),这样每个智能体通过学习Teacher的结果不断增强性能,同时又能组合出更强的Teacher。

 

论文使用KL散度来度量每个智能体和Teacher的拟合程度,并通过最小化这个Loss达到同Teacher学习的目的,具体公式如下:

 

 

公式中S的定义如下:

 

 

为了控制Teacher的质量,论文引入变量S,使用翻译中常用的评价指标BLEU值来选择智能体到底学Teacher   还是自身的分布。最终智能体训练的总Loss为:

 

 

三、实验结果

 

图2展示了多智能体在中英NIST新闻语料上的实验结果。 论文使用了4种不同结构的智能体(均为Transformer的变种)来验证方法的有效性,分别为正向解码模型(L2R)、反向解码模型(R2L)、Encoder堆至30层的模型(Enc)、关注相对位置的局部注意力模型(Rel)。 从图中最后一行可以看出,论文设计的互相学习的方式是有效的,每个智能体相对于基线都得到了显着提升(+1BLEU即为显着)。 同时论文也通过对比实验来验证多样性和单智能体性能哪个更重要。 从图中d*3与a+c+d的实验对比可以看出,模型的多样性对于性能的提升更为关键,并且该框架随着不同结构智能体数量的变多,效果不断提升(a+c+d vs a+b+c+d)。

 

 

图2. 中英NIST语料实验结果

 

为了验证这种方法在大数据集上的效果,论文在中英4千万语料上做了对比实验,因为部署时只使用了L2R的模型,所以图3中展示了使用多智能体联合训练框架训出来的L2R模型(L2R+R2L+Enc+Rel)和正常训练得出的L2R(Baseline),在4个测试集上平均BLEU提升0.86。

 

 

图3. 中英大规模语料实验结果

 

最后在公开的IWSLT14德英和WMT14英德测试集上也验证了模型的有效性,德英测试集超越了SOTA,英德取得了接近SOTA的结果(Rel-4为MAL的结果)。

 

 

图4. IWSLT德英实验结果

 

 

图5. WMT14英德实验结果

 

四、总结

 

论文提出了一种多对多学习框架,可以高效的支持多个智能体联合学习。 通过知识蒸馏,单一智能体可以从其他智能体中不断学习,使得每个智能体都有提升。 而这一过程中,Teacher模型也是不断更新迭代的,这区别于传统知识蒸馏方法。 实验表明,在多个公开数据集以及大规模翻译任务上,该方法显着地提升了翻译质量, 此外,该方法可扩展性强,可以通过增加智能体的数量及多样性,以获得进一步提升。

 

至此,《Multi-agent Learning for Neural Machine Translation》论文的分享到此结束,敬请期待更多百度NLP最新前沿进展分享。

 

(文章 arxiv 论文链接如下, 也可点击文末“阅读原文”查看: https://arxiv.org/abs/1909.01101

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注