公众号关注 “ML_NLP
设为 “星标”,重磅干货,第一时间送达!
来源 | 香侬科技, PaperWeekly
论文标题:
Neural Machine Translation with Universal Visual Representation
论文作者:
Zhuosheng Zhang, Kehai Chen, Rui Wang, Masao Utiyama, Eiichiro Sumita, Zuchao Li, Hai Zhao
论文链接:
https://openreview.net/forum?id=Byl8hhNYPS
收录情况:
ICLR 2020 (Spotlight)
代码链接:
https://github.com/cooelf/UVR-NMT


长期以来,机器翻译都只涉及到文本之间的转换,但实际上,人的感知功能可以是“多模态”的。
本文提出一种通用的视觉表征,将图片信息融合到机器翻译模型中。
使用这种视觉知识融合方法,不需要额外的双语-图片标注数据,模型就能够在多个数据集上取得显著的效果提升。
多模态与机器翻译
机器翻译是两种语言间的转换,比如“A dog is playing in the snow”翻译为中文就是“小狗在雪地里玩耍”。
但人类理解世界不只是用文字,还有视觉、听觉等感知能力;并且翻译的过程需要保持“语义”不变。比如下面的图:
讲中文的人会说“小狗在雪地里玩耍”,而讲英文的人会说“A dog is playing in the snow”。也就是说,人们对客观世界的本质认知是相同的,只是“方法”不同,体现在语言上,就是语法上的差异。
为此,我们可以假设在机器翻译模型中,融入这种“客观的世界知识”,比如把图片信息加入,以此期望增强翻译能力。同时考虑文本和图片,这就是一种多模态。
然而,过去的翻译-图片研究大都需要大量的双语-图片标注数据,这在数据上成为一个研究的瓶颈。本文针对这种情况,提出“通用的视觉表示”,仅用单语-图片标注数据,就能显著提高机器翻译的效果。
本文的方法在数据集EN-RO,EN-DE,EN-FR上均有约一个BLEU值的提高,这说明了本方法的有效性。
具体来说,本文贡献如下:
  • 提出一种通用的视觉表示方法,无需双语-图片标注语料;
  • 该方法可以在只有文本的数据集上使用;
  • 实验证明了该方法效果提升的一致性。
在阅读完本文之后,读者可以思考下述问题:
  • 如果要翻译单语-图片数据集
    中没有的语言,可以怎么做?
  • 在融合步骤,是否可以有其他的方法进行融合?
  • 你认为本文这种方法从逻辑上是否真的有效?为什么?
通用视觉表示
本节来介绍本文的方法。
首先我们有一个单语-图片数据集
,也就是,其中的每条数据都是一张图片
和对图片的描述
这个描述的句子为
,把其中的停用词去掉后得到了
,它所描述的图片是
然后,对
中的每个词
,计算它在整个数据集
中的TF-IDF值,然后取
中TF-IDF值最大的前
个词作为这个图片
的主题词
,也就是和图片最相关的
个词。
这样一来,每个图片
都有它主题词
,同时,每个词都有可能同时是多个图片的主题词。我们可以把这看成一个“主题词-图片”查询表,输入一个词
,就可以在表中查询以
为主题的所有图片
那么,现在输入一个句子,我们就可以按照同样的步骤:
1.去除停用词;
2.计算每个词的TF-IDF;
3.取前
个TF-IDF最高的词;
4.在查询表中找到所有对应的图片;
5.按照出现次数的多少排序,取出前
个出现次数最多的图片(因为多个词可能对应同一个图片),得到集合
现在,这个图片集合
就可以认为是和输入句子对应的视觉信息,可以用它去增强翻译效果了。下图是流程示意图:
在机器翻译中融合图片信息
为了把图片融合进去,我们首先用一个预训练的ResNet提取图片集
的表示,然后计算
这里,
是Transformer Encoder的最后一层,
是用ResNet得到的图片集的表示,
使用sigmoid计算。
在Decoder端,直接把
送入即可。融合步骤如下所示:
实验
我们在三个数据集上进行实验:WMT16 En-RO, WMT14 EN-DE和WMT14 EN-FR。这三个数据集大小从小到大增加,从而在不同大小的数据集上都能验证该方法。
下表是在这三个数据集上的结果,++表示显著更优。
可以看到,和基线模型(Trans.(base/big))相比,本文的方法(+VR)在三个数据集上都能得到显著的提升,平均提升约一个BLEU值。同时,只引入了很少的参数量,这就不会使训练时间几乎不会增加。
下表是在数据集Multi30K上的结果,这是一个多模态数据集。可以看到,即使在多模态设置下,本文方法依旧能够取得显著结果。
最后,我们来看看每个句子对应的图片集
的大小
,和手动控制参数
的影响。
下图分别是两个因素的影响结果。从图片数量来看,并不是越多的图片数量越好,也不是越少越好,而是在
的区间较好。这是因为,过少的图片信息不充分,过多的图片噪声太多。
参数
控制的是图片信息融合的程度,可以看到,无论融合多少,效果都比不融合图片信息要好,这说明多模态是有效果的。
而且,手动控制它都没有模型自动学习好,这也说明模型对不同的输入句子,需要的视觉信息也是不同的。
小结
本文提出了一种简单、有效的多模态视觉知识融合方法——首先构建从主题词到图片的查询表,然后对输入句子找到相关的图片,然后使用ResNet提取图片信息融入到机器翻译模型中。
使用这种方法,可以避免对大规模双语-图片数据的依赖。实验结果也表明,这种方法可以一致地提高翻译效果。
思考题讨论
  • 如果要翻译单语-图片数据集
    中没有的语言,可以怎么做?
    比如
    没有日语,我们可以用一个日语的image caption模型去自动标注每个图片的描述。
    或者可以用X-日语的机器翻译得到图片翻译后的描述;或者直接用一个现有的词典,把图片的主题词直接翻译成日语。其他方法亦可。
  • 在融合步骤,是否可以有其他的方法进行融合?
    另外一个简单的方法是,把ResNet得到的图片表示和句子一起,送入Encoder,再像往常一样解码。
  • 你认为本文这种方法从逻辑上是否真的有效?为什么?
    见仁见智,笔者倾向于有效,但是作用不大,因为只从模型的角度难以验证图片和文本之间语义的相关性,至于效果的提升,有可能是ResNet和Aggregate的共同结果。
    笔者认为,可以考虑加一个图片预测描述的任务,和翻译一起学习;再将ResNet替换为普通的CNN进行实验。
下载1:动手学深度学习
在机器学习算法与自然语言处理公众号后台回复“动手学”
即可获取547页《动手学深度学习》电子书和源码。
本书同时覆盖深度学习的方法和实践,
不仅从数学的角度阐述深度学习技术和应用,
还包含可运行的代码,
为读者展示如何在实际中解决问题。
下载2:仓库地址共享
在机器学习算法与自然语言处理公众号后台回复“代码”
即可获取195篇NAACL+295篇ACL2019有代码开源的论文。开源地址如下:https://github.com/yizhen20133868/NLP-Conferences-Code
重磅!机器学习算法与自然语言处理交流群已正式成立
群内有大量资源,欢迎大家进群学习!
额外赠送福利资源!邱锡鹏深度学习与神经网络,pytorch官方中文教程,利用Python进行数据分析,机器学习学习笔记,pandas官方文档中文版,effective java(中文版)等20项福利资源
获取方式:进入群后点开群公告即可领取下载链接
注意:请大家添加时修改备注为 [学校/公司 + 姓名 + 方向]
例如 —— 哈工大+张三+对话系统。
号主,微商请自觉绕道。谢谢!
继续阅读
阅读原文