©PaperWeekly 原创 · 作者|李北

单位|小牛翻译 / 东北大学NLP实验室

研究方向|神经机器翻译、深层网络建等

本文验证了多编码器在篇章级翻译任务上性能的提升并不是来源于上下文编码器对篇章级语义信息的编码,其更像是一个噪声生成器,为模型的训练提供了额外的训练信号。

其次,在解码阶段屏蔽上下文编码器对 BLEU 并没有影响,进一步证明了上下文编码器在训练中类似于 dropout 作用。此外,本文提出一种基于高斯噪声的鲁棒性训练手段,可以达到和多编码器可比的性能,并在不同规模数据集上验证了方法的有效性。本文已被 ACL 2020 收录。

论文标题:Does Multi-Encoder Help? A Case Study on Context-Aware Neural Machine Translation

论文来源:ACL 2020

论文链接:https://arxiv.org/abs/2005.03393

代码链接:https://github.com/libeineu/Context-Aware

篇章级翻译模型

近年来,神经机器翻译(Neural Machine Translation)已经取得了突破性的进展,尤其是目前基于自注意力机制的 Transformer [1] 模型掀起学术界的广泛关注,同时在工业界中也被广泛应用。

目前神经机器翻译模型通常采用编码器-解码器(Encoder-Decoder)[2] 的框架来完成源语言序列到目标语言序列的转换。其中,编码器对源语序列进行编码,得到稠密的实数向量表示,进而提取源语序列中的语义信息。之后解码器再利用该表示逐词地生成目标语序列。

目前的主流神经机器翻译模型都是基于句子级的,模型学习的是不同源语句子与目标语句子之间的映射关系,但是忽略了一个篇章中句子之间的上下文信息。然而在一些篇章翻译的场景中,句子间的上下文信息是不可或缺的。

比如在出现一些指代或者一词多义的情况中,在当前句子无法做出区分时,往往需要根据句子间的上下文来确定其正确形式或词义,从而生成更连贯、一致的译文。这种编码上下文信息的建模方法通常被称为篇章级翻译(Context-Aware Machine Translation)。

如何高效地对额外的篇章级信息进行建模一直以来广受关注。目前有两种常见的做法来编码篇章信息:第一种是将当前句子的上下文与其进行拼接,得到一个多句的输入序列,将该序列作为输入送入模型,同时不需要修改模型结构;另外一种是采用多编码器(Multi-encoder)结构,通过额外的编码器来对上下文信息进行特征提取,之后与源语信息进行融合后用于目标语生成。

对比单编码器结构,多编码器可以更有效地对源语的上下文信息进行建模,其翻译性能更加显著。一些研究工作已经通过机器翻译的自动评价指标 BLEU 和一些专用测试指标来证明其方法的有效性。然而,由于篇章级的平行双语语料资源比较稀缺,常用的数据集规模比较小,其翻译性能也存在较大的波动。

例如,在小数据集上(IWSLT 等)合理地调整 dropout 的阈值能够明显的改善翻译质量。同时研究者发现在一些任务中,BLEU 值的提升不仅仅来自于多编码器提供的额外源语相关信息,还来自于鲁棒性训练,额外的编码器可以看作一个噪音生成器来提供更多的训练信号。因此,研究者通过在一些篇章级翻译任务上对多编码器结构进行实验,进一步证实这个观点。

模型结构

篇章级翻译模型通过在翻译过程中结合句子间的上下文信息来获得更好的翻译结果,目前,这种端到端的模型大体可以分为两类:单编码器模型(Single-encoder)[3] 和多编码器模型 [4] [5] [6]。单编码器模型做法比较简单,不改变模型结构,通过将模型输入进行拼接的方式来捕捉句子间上下文信息。

多编码器模型通过额外的编码器结构来对上下文信息进行表示,然后结合到整体翻译模型中。此外,一些研究人员通过共享编码器或者采用更复杂的网络结构对上下文表示进行抽取 [7] [8],也可以近似看作是多编码器结构。

在多编码器结构中,根据解码端对源语表示与上下文表示的集成方式,可以大致分为内部集成(Inside Integration)和外部集成(Outside Integration)两类。其中,外部集成 [5] [7] [8] 是指将源语编码器和上下文编码器的编码结果在送入解码器之前进行融合,得到一个统一的表示,具体融合方法可以采用注意力操作和门控的方式。

与之相反,内部集成的方法是指将两个编码结果分开独立地送入解码器结构中,可以采取串行计算 [6] 与并行计算 [4] 两种融合方式。下图展示了外部集成和内部集成(并行)的模型结构:

▲ 图:多编码器结构的两类集成方式

训练方式

由于篇章级双语数据相对较少,无法满足多编码器训练所需,因此需要采取一些方法来缓解数据稀缺的问题。常见的方法有两种:一种是参数共享 [5] [7],通过共享上下文编码器和源语端编码器的部分或全部参数,来减轻模型训练负担;

另一种是两阶段训练 [6] [8],首先使用双语数据对句子级翻译模型进行预训练,然后在多编码器模型训练时复用其参数,继续训练剩余参数或全体参数。为了选取合适的基线,研究者首先对比了两种训练策略,结果如下表所示:

▲ 表:不同训练策略的BLEU性能比

其中,多编码器模型采用外部集成的方式;WS 为共享了上下文编码器与源语端编码器的前 n-1 层参数;TS 为采取两阶段训练方式,在句子级模型基础上训练整体模型。可以看到,两种策略都能取得显著提升,同时两阶段训练的方式相比参数共享具有些许的优势。

其次,单层的上下文编码器也能取得和 6 层可比的结果,这可能是由于训练数据有限,所以不需要太复杂的模型。因此,研究者在之后的实验中采用了单层上下文编码器及两阶段训练的策略来训练多编码器模型。

不同上下文输入的对比

为了探究多编码器结构对最终翻译性能的影响,研究者提出了三种不同的上下文来进行对比实验:

  1. 真实上下文(Context):当前待翻译句子的前一句。

  2. 随机上下文(Random):在词典中随机采样构造的伪上下文。

  3. 固定上下文(Fixed):固定的一个句子。

此外,研究者在多个语种的翻译任务上进行实验,数据规模及实验结果如下表所示:

▲ 表:数据集规模

▲ 表:上下文对比实验结果

其中 Zh-En 和 Fr-En 的数据来自于 IWSLT 的评测数据,En-De 数据来自 WMT 评测数据,而 En-Ru 数据来自于 Opensubtile。上表展示了多个篇章级模型在接收不同输入的条件下在上述 4 个数据集的翻译性能。为了保证结论的严谨性,研究人员分别在 dropout 为 0.1 和 0.3 的条件下进行实验。从表中可以观测到如下几个现象:

  1. 多编码器模型对比单编码器和句子级模型在 4 个数据集上有明显的性能提升

  2. 改变 dropout 的大小可以有效地缓解小数据集上的过拟合问题,显著地提升模型的翻译性能

  3. 内部集成与外部集成的方法均带来不小的 BLEU 值提升。然而随着 dropout 值的增大,整体模型性能有了更大提升,但与句子级模型的差别变得更小。

  4. 随机上下文和固定上下文并没有提供真实的上下文信息,却得到了与真实上下文相似的提升。这里进一步验证了 BLEU 值的提升并不是来自于额外的上下文信息,而是类似于引入了噪声信号,起到了正则化的作用。

鲁棒性训练

前文提到,多编码器可能起到了噪声产生器的作用,为模型提供更多训练信号。为了进一步验证这种假设,研究者在推理的时候屏蔽了上下文编码器生成的编码表示,结果如下表所示:

▲ 表:在推理时屏蔽上下文信息

表中观测到屏蔽上下文信息后,BLEU 值并没有下降,在一些测试集上甚至会略有提升,进一步确认了 BLEU 的提升不仅来自于上下文信息,更像是一种噪声生成器。简单来说上下文编码器得到表示作为一种噪声对网络的整体训练起到了正则化的作用。

此外,受启发于外部集成的方式,研究者提出使用一个高斯分布来模拟上下文编码器的作用,在源语编码器表示基础上直接添加一个高斯噪声,用来探究上下文编码器是否起到类似的作用,结果如下表所示:

▲ 表:高斯噪音对比

可以看到,添加高斯噪音进行训练可以进一步提升模型的性能,甚至比多编码器外部集成方法略好一些,然而二者结合在一起没有带来叠加的效果。这更说明了多编码器本质上起到了类似噪声生成器的作用,噪声的叠加并不能带来明显的增益。

更大规模的训练

由于篇章级双语数据较为稀缺,上述大部分实验数据集相对较小。为了探究不同规模数据是否具有相同的现象,研究者使用 500k 至 5M 的中英双语数据进行实验,分别对比了句子级模型,随机上下文和添加高斯噪声三种方法的翻译性能。结果如下图所示:

▲ 图:不同规模数据对比

随着数据规模增加,基线模型性能显著提升。而在不同规模的数据中,后两种方法对比基线均有一些优势,但是差距却随着数据规模增加而减少。这也符合我们的认知,更大的数据规模往往会缓解过拟合的问题,因此鲁棒性训练带来的提升也随之减小。

参考文献

[1] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.

[2] Sutskever I , Vinyals O , Le Q V . Sequence to Sequence Learning with Neural Networks[J]. Advances in neural information processing systems, 2014.

[3] Tiedemann J , Scherrer Y . Neural Machine Translation with Extended Context[C]// Proceedings of the Third Workshop on Discourse in Machine Translation. 2017.

[4] Jean S , Lauly S , Firat O , et al. Does Neural Machine Translation Benefit from Larger Context?[J]. 2017.

[5] Voita E , Serdyukov P , Sennrich R , et al. Context-Aware Neural Machine Translation Learns Anaphora Resolution[J]. 2018.

[6] Zhang J , Luan H , Sun M , et al. Improving the Transformer Translation Model with Document-Level Context[J]. 2018.

[7] Miculicich L , Ram D , Pappas N , et al. Document-Level Neural Machine Translation with Hierarchical Attention Networks[J]. 2018.

[8] Maruf S , Martins, André F. T, Haffari G . Selective Attention for Context-aware Neural Machine Translation[J]. 2019.

作者及团队介绍

李北,东北大学自然语言处理实验室 2020级博士生。研究方向:神经机器翻译、深层网络建模,篇章级翻译,解码加速等,在 ACL、WMT、NLPCC、CCMT、中文信息学报等会议、杂志发表学术论文若干。

研究团队为小牛翻译,核心成员来自东北大学自然语言处理实验室,由姚天顺教授创建于 1980 年,现由朱靖波教授、肖桐博士领导,长期从事计算语言学的相关研究工作,主要包括机器翻译、语言分析、文本挖掘等。团队研发的小牛翻译系统已经得到广泛应用,目前支持 304种语言互译,通过小牛翻译开放平台(https://niutrans.com/)让机器翻译技术赋能全球企业。

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

ACL 2020 | 多编码器是否能够捕获篇章级信息?相关推荐

  1. 【ACL2020】百度11篇论文被国际自然语言处理顶级会议ACL 2020录用

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转自:百度AI 近日,国际自然语言处理领域顶级学术会议"国际计算语言学协 ...

  2. 创新工场提出中文分词和词性标注模型,性能分别刷新五大数据集| ACL 2020​

    出品 | AI科技大本营(ID:rgznai100) 中文分词和词性标注是中文自然语言处理的两个基本任务.尽管以BERT为代表的预训练模型大行其道,但事实上,中文中基于全词覆盖 (whole word ...

  3. 【ACL 2020】腾讯AI Lab解读三大前沿方向及入选的20篇论文

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:腾讯AI实验室 自然语言理解是腾讯 AI Lab 的主要研究方向之一,研究能力也 ...

  4. ACL 2020 | 腾讯AI Lab解读三大前沿方向及入选的20篇论文

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要20分钟 Follow小博主,每天更新前沿干货 来源:腾讯AI实验室 自然语言处理领域顶级会议 ACL 2020 将于 7 月 5 日至 10 ...

  5. ACL 2020 亮点摘要

    字幕组双语原文:ACL 2020 亮点摘要 英语原文:Highlights of ACL 2020 翻译:雷锋字幕组(唐里.张超726.情报理论与实践.Danielan) 今年国际计算语言学协会(AC ...

  6. ACL 2020三大奖项出炉!知名学者夫妇曾先后获终身成就奖,时间检验奖回溯95年经典著作...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 自然语言处理顶会ACL 2020今年以线上的形式举办,时间从7月5日至7月10日. 但从投稿数量来看,此次会议热度依旧不减,达到了历年最高的 ...

  7. ACL 2020 | 基于不同硬件搜索更好的Transformer结构

    论文标题: HAT: Hardware-Aware Transformers for Efficient Natural Language Processing 论文作者: Hanrui Wang ( ...

  8. ACL 2020 | 特定风格标题生成《Hooks in the headline》论文阅读笔记

    写在前面 在一文详解生成式文本摘要经典论文Pointer-Generator中我们介绍了生成式摘要的经典模型,今天我们来分享一篇带风格的标题生成的经典工作 <Hooks in the Headl ...

  9. 【论文解读 ACL 2020 | MixText】Linguistically-Informed Interpolation of Hidden Space for 半监督文本分类

    论文题目:Linguistically-Informed Interpolation of Hidden Space for Semi-Supervised Text Classification 论 ...

最新文章

  1. 专题 16 基于UDP的通信程序设计
  2. python变量类型怎么决定的_python里测试变量类型用什么
  3. mysql二维转一维_二维数组转为一维数组
  4. logistic模型原理与推导过程分析(3)
  5. 使用SQL Server日志传送将SQL数据库移动到其他服务器
  6. C#电子病历管理系统源码 医院电子病历源码
  7. Python FastAPI 微信公众号后台服务器验证
  8. U盘病毒肆虐横行 金山毒霸2011全面解决隐患
  9. 软件工程的知识思维导图
  10. android3d画廊自动切换,Android viewpager 3D画廊的实现方法
  11. java怎么读取docx文件_java – 如何显示或读取docx文件
  12. Mac 安装 双系统 体验极差的好几天
  13. 《计算之魂》读书笔记 04
  14. Java基础笔记:Day_10 接口、匿名内部类
  15. ChatGPT接入微信公众号(手把手教学)
  16. 大端模式与小端模式的详解分析
  17. Kafka 实战 (1):消息中间件原理与概念
  18. ICP许可证是什么证?ICP备案和ICP许可证的区别?
  19. 华东师范大学高可信夏令营 机试
  20. otis电梯服务器tt使用说明_家用液压电梯什么品牌好 家用液压电梯品牌推荐【详解】...

热门文章

  1. rocketmq 消息 自定义_RocketMQ的消息发送及消费
  2. 【模板】 全排列 有重复元素的全排列
  3. Python系列之Collections内置模块(2)
  4. Java生成CSV文件
  5. Memcache的使用
  6. ORACLE8的分区管理
  7. cmd 关闭进程及查看本机端口
  8. python pip安装指定版本unittest_你们想要的unittest用例失败重运行,解决方案来啦!...
  9. linux rc.d的作用,init.d,rc.d详解 Linux运行时详解
  10. bom event周期_DOM-BOM-EVENT(1)