专栏首页人工智能前沿讲习SFFAI分享 | 王亦宁:Multilingual Neural Machine Translation【附PPT与视频资料】

SFFAI分享 | 王亦宁:Multilingual Neural Machine Translation【附PPT与视频资料】

导读


随着神经网络机器翻译的快速发展,为了实现多语言之间的相互翻译,通常需要构建多个一对一的翻译模型。一方面每个翻译模型需要大规模存储和计算资源,从而多语言翻译的存储和计算消耗非常巨大;另一方面多语言翻译在独立模型下无法实现知识共享。近年来,使用一套框架解决多语言机器翻译任务受到人们越来越多的关注。多语言机器翻译不仅可以有效的解决资源消耗和知识共享问题,同时由于参与翻译语言对的扩充,对于低资源和零资源翻译任务上有了一定程度的提升。本次分享会上我们:

  • 首先对基于自注意力机制的神经网络机器翻译框架和多语言翻译进行了回顾;
  • 介绍了多语言翻译的主流方法和近期的相关工作;
  • 分享我们录用在ACL 2019上的工作A Compact and Language-Sensitive Multilingual Translation Method。

作者简介


王亦宁,中国科学院自动化研究所模式识别国家重点实验室16级博士生。目前研究兴趣为低资源和多语言机器翻译。博士期间在ACL,EMNLP,IJCNLP等国际会议上发表多篇论文。

1. 多语言翻译介绍


多语言机器翻译是指用一个模型进行多个语种对之间的翻译方法,如下图所示:

图1 多语言翻译

相较于传统需要构建N个模型实现多个语言对之间翻译的方法,极大程度的缩减了模型大小和参数规模,同时由于多种语言的参与提供了更多的信息,会提升某些语言对之间的翻译质量。多语言翻译模型按照参与的语种划分可以分为多到一,一到多和多到多三种翻译范式。多语言翻译主要有以下三个优点:

  1. 通过参数共享或者数据增强,一定程度提升翻译的质量;
  2. 从模型的角度而言,多语言翻译方法极大程度的降低参数量,从而方便了在线训练和线下部署;
  3. 由于可以同时参与较多语种对,使得多语言翻译具备零资源翻译的特性。

2. 多语言翻译的主流方法


当前主流多语言翻译模型主要从以下三种思路展开:

  • 使用不同的Encoder和Decoder网络表征不同的语言;
  • 使用一套Encoder和Decoder网络进行所有语言对之间的翻译;
  • 在Encoder和Decoder网络中,某些模型参数可以共享来表征语言之间的共性,而另一些参数不共享用来表征语言特有的属性。

下图以一到多翻译为例,表示在当前多语言翻译模型主流的三种思路方法:

图2 多语言翻译范式归类[1]

然而上述提到的三种思路方法都有其相应的弊端,第一种使用多个Encoder或Decoder表征不同语言的方法模型结构较为复杂,这样造成了计算复杂度的增加,同时我们还需要设计较为有效的训练方法,使得模型不会“跑偏”到某些语言对上(model bias)。而第二种使用一套模型完成多个语种对的翻译方法使得模型具备表征多个语言的特性,使得模型的“负担”(burden)过重,会对翻译的性能造成一定的影响。第三种方法虽然说可以认为是前两种方法的一个“中和”,但是不同语言之间的特性不一致,使得不同翻译任务的共享程度是不一样的,共享的参数无法得到一个统一的结论,需要在实验中进行调节,某种程度也是一种损耗。

[1]Parameter Sharing Methods for Multilingual Self-Attentional Translation Models. Sachan & Neubig 2018

3. ACL 2019工作介绍


针对上面的问题,我们在ACL 19中提出了一种结构紧凑且语言敏感的多语言机器翻译方法。我们的工作主要基于共享的编码器和解码器框架。首先在模型表示方面,我们提出了一种表示器模型,共享编码器和解码器的模型结构与参数,取代多语言翻译框架下的编码器和解码器,从而显著减少了模型参数的规模,更好地利用了语言之间的共性。同时,为了提升模型对不同语言的区分能力,我们提出了三种语言敏感的模块,分别是语言敏感的词向量,语言敏感的注意力机制以及语言敏感的判别器。

我们针对不同语言,设定一个语种向量,该向量称之为语言敏感词向量。如下图最底端所示,该语种向量加到输入的词向量中,并在训练过程中进行调优。下图红色虚线标明了语言敏感注意力机制模块,该模块对于不同的翻译任务,动态的选择不同的注意力机制。下图最顶端是我们新提出的语种判别器模块,该模块对表示器的最上层的隐式表示进行语种分类,增强在解码过程中对不同语言的区分能力。

图3 模型结构示意图

4. 近期多语言翻译相关工作介绍


我们对近期的一些多语言翻译相关工作进行了探讨。第一篇是发表在ICLR 19的工作,该方法的动机是使用知识蒸馏的框架,将仅使用双语数据训练得到的模型在训练中指导多语言翻译模型。第二篇同样是发表在ICLR 19的工作,该工作与之前的方法不同,并没有对翻译模型进行改进,而是从词汇级表征的方式上进行优化。该工作提出了一种软解耦的编码方法,将词汇表示的特征和语义特征进行融合,从而使用一个共享的词向量表征所有的语言,也取得了一定的效果。第三篇是Google AI发表在NAACL 19的工作,该工作以使用多语言方法解决零资源翻译问题入手,探讨了目前零资源翻译任务在多语言翻译方法中质量不佳的原因,提出使得Encoder网络具备更优的语种不变性(language invariant representations)的方法。该方法可以在保证多语言翻译质量不变或者稍许提升的基础上,极大程度的提高了零资源翻译任务的翻译质量。

5. 总结


总结一下,我们在本次分享会上首先对于介绍了多语言机器翻译,并简单阐述了多语言机器翻译的优越性。然后我们对多语言翻译的主流方法进行了回顾,接着介绍了我们被ACL 19录用的工作。最后我们简单分析了几篇近期在顶级会议上发表的多语言翻译相关的工作。

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

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

原始发表时间:2019-07-08

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精选论文 | 机器翻译专场之同步双向与多语言机器翻译【附打包下载】

    机器翻译一直是自然语言处理中的重要研究任务,而最近的几个月自然语言处理领域尤其在文本生成、机器翻译领域又有新的突破不断提出!今天的两位讲者,一位讲者将分享双向同...

    马上科普尚尚
  • 宗成庆:人类语言技术展望

    摘要 机器翻译伴随着世界上第一台计算机的诞生而出现,随后成为人工智能领域最具挑战性的研究课题之一。70 多年来,以机器翻译、人机对话系统、文本自动分类、自动文摘...

    马上科普尚尚
  • 吴飞:大数据智能从最优解(数据拟合)到均衡解(博弈对抗)

    本次报告介绍了博弈论思想在人工智能领域的应用,首先介绍了使用传统的数据拟合寻找最优解的思路,之后引入博弈论的思想,以AlphaGo和对抗生成网络为例介绍了均衡解...

    马上科普尚尚
  • Android Studio自动排版的两种实现方式

    Android Studio这样的集成开发环境虽然代码自动化程度很高,但是自动化程度高导致人的自主性就下降了,而且总是依赖编辑器的功能也会搞得代码排版很别扭。

    砸漏
  • 警告!你的Python代码命名太烂了,命令你熟读本篇迷你命名指南!

    刚开始我丝毫不慌,祭出我的 debug 两板斧,小小 bug 何足挂齿,看我分分钟解决你!

    Rocky0429
  • Python代码找bug(1)

    高一峰
  • 基于Google动态化方案的组件化演进

    国内Android动态化方案已经蓬勃发展数年之久,在React Natvie、Flutter这些跨平台方案未出现之前,类似Atlas、Replugin、DLA等...

    用户1907613
  • Python中的这几种报错你遇到过吗?

    我新开了一个系列,叫做『读者分享系列』,这个系列主要用来发布一些我书的读者写的一些读书笔记和学习笔记的。

    张俊红
  • 函数的强大之处

    接着上讲的游戏,我们可以用任何数字,10, 42, 10 亿,假设每关结束后 给玩家一些奖励分,奖励分多少取决于 继电器剩余数量。随着难度增加,剩下继电器会越...

    硬核编程
  • 代码质量差,bug多?我们都是被逼的

    导语:有心写码,无力高效。bug其多,痛哉痛哉!有时候我们的写码的环境是和谭嗣同的心情一样一样的,为什么呢?因为谭嗣同的绝笔是这样写的:“有心杀贼,无力回天。死...

    非著名程序员

扫码关注云+社区

领取腾讯云代金券