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

2020-05-14 10:38:22 浏览数 (1)

导读


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

  • 首先对基于自注意力机制的神经网络机器翻译框架和多语言翻译进行了回顾;
  • 介绍了多语言翻译的主流方法和近期的相关工作;
  • 分享我们录用在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录用的工作。最后我们简单分析了几篇近期在顶级会议上发表的多语言翻译相关的工作。

0 人点赞