专栏首页机器之心EMNLP 2018 | 结合通用和专用NMT的优势,CMU为NMT引入「语境参数生成器」

EMNLP 2018 | 结合通用和专用NMT的优势,CMU为NMT引入「语境参数生成器」

选自arXiv

作者:Emmanouil Antonios Platanios等

机器之心编译

参与:白悦、刘晓坤

通用和专用 NMT 模型分别在相似语言对和罕见语言对的翻译中具有优势,但这也反映了各自的劣势,取决于参数共享的程度。为此,CMU 的研究者在本文中提出了一种在两者之间取得平衡方法,不需要改变 NMT 原有架构,而是引入新的组件 CPG,来可控地实现不同语言对模型之间的参数共享。该组件可无缝整合不同的 NMT,并在基准数据集上取得当前最佳。研究者强调,该方法使我们更接近普适的中间语言。

神经机器翻译(NMT)无需单独训练或调整系统的任何部分就可以直接建模源语言到目标语言的映射。这使得 NMT 快速发展,并在许多大规模环境中成功应用 (Wu et al., 2016; Crego et al., 2016)。编码器-解码器抽象使构建将任何语言的源句映射到向量表示,再将向量表示解码到任何目标语言的系统在概念上变得可行。因此,人们提出了各种方法来扩展这种多语言机器翻译的抽象 (Luong et al., 2016; Dong et al., 2015; Johnson et al., 2017; Ha et al., 2016; Firat et al., 2016a)。

多语言 NMT 之前的工作可大致分为两种范式。第一个通用 NMT (Johnson et al., 2017; Ha et al., 2016) 对所有语言使用单一模型。通用 NMT 没有任何特定语言的参数化,在翻译截然不同的语言和数据有限的情况下,这种模式过于简单化且非常不利。通过实验验证,Johnson 等人的方法(2017)在高样本复杂度情况下性能变差,因此在有限的数据设置中表现不佳。Ha 等人提出的通用模型(2016)需要输入句子的新编码方案,这会导致过大的词汇量从而难以扩展。第二种范式,特定于每种语言的编码器-解码器 (Luong et al., 2016; Firat et al., 2016a),每种语言使用独立的编码器和解码器。这不允许跨语言共享信息,可能导致过度参数化,且在语言相似的情况下可能有害。

在本文中,CMU 的研究者在这两种方法之间取得了平衡,提出了一种能够分别为每种语言学习参数的模型,同时也能在相似语言之间共享信息。研究者使用了新的语境相关的参数生成器(CPG),它可以(a)泛化所有这些方法;(b)缓解上述通用和独立语言编码器-解码器系统的问题。它将语言嵌入作为翻译的语境进行学习,并用它们为所有语言对生成共享翻译模型的参数。因此,它为这些模型提供了每种语言单独学习参数的能力,同时也在相似语言之间共享信息。参数生成器是通用的,允许以这种方式增强任何现有的 NMT 模型。此外,它具有以下所期望的特征:

  1. 简单:类似 Johnson 等人(2017)和 Ha 等人(2016)的方法,且与 Luong 等人(2016 年)和 Firat 等人(2016a)的方法相反,它只需稍作修改就可以应用于大多数现有的 NMT 系统,并且能够无缝地容纳注意力层。
  2. 多语言:和之前相同,允许使用相同的单个模型进行多语言翻译。
  3. 半监督:可以使用单语数据。
  4. 可扩展:通过在语言间使用大量但可控的共享来减少参数的数量,从而减少大量数据的需求,如 Johnson 等人所述(2017)。它还允许语言的解耦,避免对大量共享词汇需求,如 Ha 等人所述(2016)。
  5. 适应性强:无需完全重新训练就可以适应新语言。
  6. 当前最先进的方法:比成对 NMT 模型和 Johnson 等人的模型具备更好的性能。(2017 年)。事实上,该方法优于最先进的性能。

作者首先介绍一个可用于定义和描述大多数现有 NMT 系统模块化框架,然后,在第 3 节中,将根据该框架介绍本研究的主要贡献,即语境参数生成器(CPG)。作者还论证了该方法使我们更接近普适的中间语言。

论文:Contextual Parameter Generation for Universal Neural Machine Translation

  • 论文地址:https://arxiv.org/abs/1808.08493
  • 项目地址:https://github.com/eaplatanios/symphony-mt

摘要:我们对现有神经机器翻译(NMT)模型进行了简单修正,允许使用单个通用模型完成多种语言之间的翻译,同时允许语言特定的参数化,并且还可以用于域适应。我们的方法不需要改变标准 NMT 系统的模型架构,而是引入了新的组件,即语境参数生成器(CPG),可以生成系统的参数(例如,神经网络中的权重)。该参数生成器接受源语言嵌入和目标语言嵌入作为输入,并分别为编码器和解码器生成参数。模型的其余部分保持不变,并在所有语言中共享。我们展示了这种简单的修正如何使系统使用单语数据进行训练并实现 zero-shot 翻译。我们进一步表明,它能够超越 IWSLT-15 和 IWSLT-17 数据集的当前最佳性能,并且学习的语言嵌入能够发现语言之间的有趣关系。

图 1:在我们的模块化框架下的 NMT 系统概述。我们的主要贡献在于参数生成器模块(即,耦合或解耦——具有蓝色字体的每个框是单独的选项)。注意,g 表示参数生成器网络。在我们的实验中,我们考虑该网络的线性形式。但是,我们的贡献并不取决于其他模块的选择;我们仍然可以将具有不同架构的参数生成器和不同类型的词汇表用于编码器和解码器。

表 1:我们提出的有基础成对 NMT(PNMT)模型的方法(阴影的一行)和用于 IWSLT-15 数据集的 Google 多语言 NMT 模型(GML)的比较。百分比的并列行显示训练时使用多少部分(1%、10%、100%)的平行语料库;其余的仅用作单语数据。表中显示了 BLEU 和 Meteor 指标的结果。CPG *表示与 CPG 相同的模型,但未使用自动编码训练样本进行训练。每种情况下的最佳分数加粗显示。

表 2:我们提出的有基础成对 NMT(PNMT)模型的方法(阴影的一行)和用于 IWSLT-17 数据集的 Google 多语言 NMT 模型(GML)的比较。因为 Meteor 不支持 It、Nl 和 Ro,所以仅显示了 BLEU 度量标准的结果,CPG8 表示使用 8 个语言嵌入来表示 CPG。「C4」下标表示用于受控参数共享的 CPG 的低级版本(参见第 3.1 节),使用等级 4 等。每种情况下的最佳得分加粗显示。

本文为机器之心编译,转载请联系本公众号获得授权。

本文分享自微信公众号 - 机器之心(almosthuman2014)

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

原始发表时间:2018-09-11

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

    在过去的几年里,由于神经机器翻译(NMT)的发展,机器翻译(MT)系统的质量得到了显著提升,打破了世界各地的语言障碍。但 NMT 的成功很大程度上要归功于有监督...

    机器之心
  • IEEE 2019编程语言排行榜出炉:趋势、开源、职位需求,Python都是第一

    这是 IEEE Spectrum 的第六次年度编程语言排行统计。今年的统计进行了重大改革,一些基础指标进行了重构,而最终的排行榜也进一步得到了简化。但其基本理念...

    机器之心
  • 新闻太长不想看?深度解析MetaMind文本摘要新研究

    选自MetaMind 作者:Romain Paulus、Caiming Xiong、Richard Socher 机器之心编译 参与:Jane W、Cindy、...

    机器之心
  • 一个模型翻译103 种语言!谷歌500亿参数M4模型突破多语言神经翻译极限

    在过去的几年里,机器翻译(MT)系统的质量有了巨大的进步,神经机器翻译(NMT)的发展打破了世界各地的语言障碍。

    新智元
  • 第一天上午——HTML网页基础知识以及相关内容

    今天上午学习了HTML基础知识以及相关内容,还有DW的基本使用方法。 HTML(HyperText Markup Language):超文本标记语言,超文本:网...

    二十三年蝉
  • 如何写出漂亮的代码?写代码应该遵守的原则和规范

    这里的“orderId”字符串就称之为魔法字符串,其实很容易写错。而且假如以后这个参数改个名字叫:movieOrderId,那这些字符串就得改很多处,而且不能通...

    lyb-geek
  • Golang Leetcode 819. Most Common Word.go

    用map保存所有的banned词出现的数量,处理paragraph之后,从map中获取是否出现过,然后找出最大值

    anakinsun
  • python代码规范

    虽然说实现功能是编程的首要目的,但是在实际开发过程中,代码的可读性也是非常重要的。不同的人有不同的编程习惯和风格,对于一个团队而言,想要高效的协同开发,遵守一个...

    生信修炼手册
  • 如何快速学习C语言?系统学习路线奉上

    C语言的重要性 C语言作为编程行业必备的基础,它引入N多的库可以用来开发比较复杂的图形程序,如:俄罗斯方块,如:操作数据库的界面,但是它的意义不在于开发图形界面...

    企鹅号小编
  • karma的基础应用之与fis结合

    一、介绍 1. karma是单元测试运行框架,可以集成jasmine断言库,也支持babel。 2.fis是百度前端团队开源推出的前端工程化管理工具。 二、k...

    sam dragon

扫码关注云+社区

领取腾讯云代金券