专栏首页人工智能前沿讲习SFFAI分享 | 邵晨泽:非自回归机器翻译【附PPT与视频资料】

SFFAI分享 | 邵晨泽:非自回归机器翻译【附PPT与视频资料】

导读


非自回归神经机器翻译是一种新兴的翻译技术。传统的自回归机器翻译模型是逐词产生译文的,每一步的译文单词的生成都依赖于之前的翻译结果,而非自回归模型对每个译文单词的生成独立建模,因此能同时生成整句译文,大幅提升翻译速度。在SFFAI32分享会中:

  • 首先对自回归机制和Transformer模型做了简要介绍
  • 介绍了非自回归Transformer模型与自回归模型的主要不同点
  • 介绍了近期在改进非自回归模型上的相关工作
  • 分享了我们被录用在ACL2019上的工作Retrieving Sequential Information for NAT:在非自回归模型中引入序列信息,增强其建模序列依赖关系的能力。

作者简介


邵晨泽,2018年获中国科学院大学学士学位,专业计算机科学与技术。现保送至中国科学院计算技术研究所智能信息处理重点实验室,研究方向为自然语言处理、机器翻译等。已在自然语言处理顶级会议EMNLP2018、ACL2019上以一作身份发表论文。

具体内容介绍


1.目前的序列预测模型通常都是自回归模型,即每一步的预测都依赖于之前的预测结果,如下图所示:

在基于RNN结构的序列预测模型中,隐状态需要逐步传递,因此难以进行各步间的并行计算,训练和测试的速度都较慢。Transformer模型通过在解码时引入mask矩阵,解决了训练时的并行计算问题。然而,由于自回归机制的限制,在测试时,Transformer模型仍然需要逐词解码,因此解码速度较慢。

2.非自回归Transformer模型在ICLR2018上由顾佳涛博士首次提出,其沿用了Transformer的模型结构,但对每个位置词语的概率分布独立建模,因此在测试时也能并行解码。非自回归Transformer模型的结构如下:

非自回归Transformer模型在结构与训练方法上与Transformer模型有几个不同点,主要包括:

  1. 解码器的输入的设计;
  2. 对目标端长度的预测;
  3. 利用自回归模型的重排序方法;
  4. 解码器中的位置注意力模块;
  5. 在训练时应用序列级知识蒸馏方法

3.后续对非自回归机器翻译模型的改进方案包括迭代优化的解码(Deterministic Non-Autoregressive Neural Sequence Modeling by Iterative Refinement)、增强解码器端的输入(Non-Autoregressive Neural Machine Translation with Enhanced Decoder Input) 、半自回归的翻译技术(Semi-Autoregressive Neural Machine Translation) 、引入隐变量作为解码器的输入(Fast Decoding in Sequence Models Using Discrete Latent Variables) 、辅助正规化(Non-Autoregressive Machine Translation with Auxiliary Regularization) 等工作。

4.由于序列信息的缺失,非自回归模型存在两个问题:词级损失函数不准确、模型难以捕捉序列依赖关系。与自回归模型相同,非自回归模型也是以词级别的交叉熵损失来训练模型。交叉熵损失函数会对每一位置的生成结果进行独立评价,要求模型生成参考译文对应位置单词的概率尽可能大。然而,交叉熵损失函数有一定的局限性,即仅当模型的翻译结果与参考译文严格对齐时,交叉熵损失才是准确的。而在非自回归模型中,翻译结果不一定能与参考译文对齐,如下图所示,此时的交叉熵损失函数就不再能准确模型评估生成结果的质量。另外,在以交叉熵损失训练的非自回归模型中,译文单词生成与评价均为独立的,这使得模型很难捕捉到译文间的序列依赖关系,生成的译文往往不太通顺,并包含很多过翻译、漏翻译的错误。

针对非自回归模型中序列信息缺失的问题,我们提出两种方案来引入序列信息:

  1. 对模型进行序列级训练,使用序列级的损失函数来评估模型的预测结果;
  2. 在解码器的顶层融入序列信息。

方案一:

目前,针对自回归模型进行序列级训练的方法往往需要利用强化学习算法来求得对梯度的无偏估计,用估计出的梯度代替真实梯度来更新参数。然而,梯度的估计虽然是无偏的,但往往带有较高的方差,这就导致了模型训练过程中的不稳定性,模型的性能也因此而受限。本方案会针对非自回归模型的特性,将运用在自回归模型上的强化学习算法做一定的改进,使模型的训练过程更加稳定,性能得到更大的提升。

给定源端句子X,目标端句子Y,非自回归模型对从X到Y的翻译概率进行如下建模:

(1)

其中,θ为模型的参数,T为句子Y的长度。每个目标端词语

的生成相互独立。

序列级训练的目标为优化奖赏值的期望,对应损失函数如下所示:

(2)

其中,r(Y)为对句子Y的奖赏,可以为序列级的评价指标,如BLEU、TER等。对该损失函数求导:

(3)

在上式中,要对所有可能的目标端译文进行求和,复杂度为指数级别的,因此无法由上式精确计算损失函数的梯度。此时,可仿照自回归模型中的做法,直接运用REINFORCE算法,从模型预测的概率分布中采样出译文Y,以奖赏值r(Y)评估译文的好坏,得到对梯度的无偏估计。

(4)

然而,在这种对梯度的估计方法有很大的方差,会导致训练过程不稳定、提升效果有限。具体来说,在采样出的译文Y中,每一位置t的词语

的生成质量都会被同一个奖赏值r(Y)一视同仁地评估,而忽略了不同位置下词语生成质量的差异性。在自回归模型中,这种缺陷很难被消除,但我们可以利用非自回归模型的特性,将损失函数的梯度进行改写:

(5)

(6)

即损失函数的梯度包含了每个位置上所有可能预测结果的概率梯度与它们对应奖赏值r(

)的乘积。r(

)为在位置t上预测结果为

时,最终奖赏的期望值,可通过蒙特卡洛方法,采样n次求均值来估计。

由于词表大小一般也较大,遍历整个词表耗时也会很大,可以在这时对(5)式应用REINFORCE算法,去对梯度做无偏估计:

(7)

与(5)式相比,这种估计方法能对每个位置的预测结果单独评估,因此方差相对较小,但仍会对模型训练过程的稳定性有一定影响。

注意到在机器翻译中,模型在每一步翻译概率的分布一般都比较集中,概率大小排在前几名的词往往比剩下所有词占据的比重还大。这给了我们降低方差的一种思路:遍历高概率的词语,对剩下的部分做估计,从而得到对式(5)的低方差的无偏估计。定义k为要取的高概率词数,

为概率大小排前k的词的集合,

为集合

中概率之和,p̃为去除

中词语后的概率分布,则有如下所示的梯度估计方法:

其对应的算法如下:

该算法以遍历+采样的思想为核心。在估计梯度时,先对概率排前k的词做遍历,计算它们的梯度并求出它们的奖赏值作为权重,再对剩下的词做采样,用采样出的一个词来估计剩下所有词的梯度加权和,最后将两者相加,作为最后的梯度估计结果。这种梯度估计的方法大幅降低了方差,提升了序列级训练的稳定性,能有效地提升非自回归翻译模型的翻译效果。

方案二:我们提出了一种融合自回归与非自回归模型优势的解码器模型结构,可将序列信息融入到解码器的顶层中,实现底层并行、顶层串行的计算方式,称作FS-decoder,其模型结构见下图。模型的编码器与Transformer模型一致。在解码时,先通过与非自回归模型一致的n-1层解码器,再在Fusion层将输出与翻译的历史信息融合,如下所示:

其中,W、U为两个线性变换的矩阵,H’为底层解码器的输出, Y为目标端的词嵌入。最后的一层解码器与自回归模型一致,对Fusion层的输出进行分析,逐词预测出译文。由于模型只需在解码器顶层进行串行解码,因此能达到相对Transformer模型最多n倍的加速。

实验:在三个数据集上进行实验,验证Reinforce-NAT和FS-decoder的效果。可见序列级训练方法对非自回归模型的提升效果很好,并且在非自回归模型上改进后的Reinforce-NAT算法相对REINFORCE有稳定的提升。FS-decoder模型能达到接近自回归模型的水平,同时也保持着可观的加速比。

翻译示例:非自回归模型中的漏翻、过翻问题得到有效改善

本文分享自微信公众号 - 人工智能前沿讲习(AIFrontier),作者:邵晨泽

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SFFAI分享 | 连政:端到端语音合成【附PPT与视频资料】

    连政,中国科学院自动化研究所模式识别国家重点实验室16级硕博生。目前研究兴趣为多模态情感识别、语音合成和语音转换。

    马上科普尚尚
  • 【阅读笔记】用于可控文本生成的句法驱动的迭代拓展语言模型

    论文标题:Syntax-driven Iterative Expansion Language Modelsfor Controllable Text Gene...

    马上科普尚尚
  • 语音关键词检测方法综述【附PPT与视频资料】

    随着智能音箱、语音助手等应用的出现,普通人也可以像科幻场景一样使用语音与机器进行交流。语音关键词检测是实现人机语音交互的重要技术,被广泛地应用于各类智能设备、语...

    马上科普尚尚
  • NAT模型如何同时兼顾性能、速度?蒸馏很有潜力!

    近年来,基于深度神经网络的机器翻译取得了飞速发展。目前大多数NMT模型都使用了编码器-解码器框架来实现,编码器将源语句的表示送入到解码器来生成目标句子;解码器通...

    AI科技评论
  • [译文]Domain Driven Design Reference(六)—— 提炼战略设计

      提炼是是一种分离混合物成分的过程,以提取出一种使其更有价值和有用的形式。模型是知识的提炼。随着每一次重构的深入,我们抽象出领域知识和优先级的一些关键方面。现...

    Zachary_ZF
  • 欢迎使用 Markdown在线编辑器 MdEditor

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。它允许人们使用易读易写的纯文本格式编写文档,...

    ZC.TigerRoot
  • 【微服务架构 】微服务简介,第3部分:服务注册表

    在微服务系列的这篇文章中,我们将讨论服务注册表。在第2部分中,我们讨论了API网关,其中我们提到服务已在数据库中注册。网关根据该数据库中包含的信息调度请求。下面...

    首席架构师智库
  • 【从0到1学算法】散列表

    超市中用到的条形码,每个码对应一个商品,扫一下马上就能知道商品的价格,查询速度O(1)。哪种数据结构能做到这样?那只有散列表了。

    KEN DO EVERTHING
  • 服务网关 Service Gateway

    微服务架构把网站从一个单体结构拆分为多个独立服务的集合 单体结构,各个模块都在一起 ? 微服务结构,各服务模块独立部署 ? 带来了很多好处,例如,提高了系...

    dys
  • DotNetNuke 7.0 发布

    DotNetNuke 7.0 正式版发布了,DotNetNuke(简称DNN)是一个免费的、开源的、可扩展的内容管理系统,是建立在 ASP.NET 平台上的We...

    张善友

扫码关注云+社区

领取腾讯云代金券