【论文笔记】MMGraph:当 GNN 遇上多模态机器翻译

1,148 阅读5分钟

这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战

原文链接:A Novel Graph-based Multi-modal Fusion Encoder for Neural Machine Translation

Motivation

在多模态机器翻译中,之前的研究并没有充分利用输入句子-图像对中语义单元之间的细粒度语义对应关系

主要源于两个挑战:

  • 如何构建连接两种模态之间语义 gap 的统一表示
  • 如何基于统一表示实现语义交互

Method

本文提出了一种基于无向图的多模态融合编码器。

  1. 用统一的多模态图表示输入的句子和图像。 其中,节点表示一个语义单元(文本单词或视觉对象),边来表示同一模态(模态内边)或不同模态(模态间边)的语义单元之间的语义关系。
  2. 基于该图,堆叠多个多模态融合层,顺序地进行模态内和模态间融合以学习多模态节点表示。
  3. 解码器通过注意力机制利用这些表示。

Model

模型整体结构如下:

0.png

Encoder

输入(多模态图):

  • 节点(V):每个文本单词是一个节点,以便充分利用文本信息;用 Stanford parser 来识别名词短语,然后用一个 visual grounding toolkit 来检测名词短语的 bounding box,将检测到的视觉对象作为独立的节点。对每个短语,只保留预测概率最高的视觉对象。

  • 边(E): 同一模态中的节点各自相连;不同模态中的节点只有有语义关系的节点相连,如下图(右):

1.png

Embedding层

先用一个 Embedding Layer 来初始化节点状态。文本节点的初始状态包含单词嵌入和位置编码,视觉节点的初始状态为 Faster-RCNN 提取的视觉特征,用多层感知机投影到跟文本嵌入相同的空间上。

多模态融合层

LeL_e个相同的多模态融合层,每个融合层中先后进行模态内融合和模态间融合。

  • 模态内融合。利用自注意力生成每个文本节点的上下文;视觉对象的表示本身是从神经网络中提取的,所以应用简化的多头自注意力(移除 values 和 outputs 的线性投影)。

  • 模态间融合。用跨模态门控(cross-modal gating)机制通过逐元素操作来收集每个节点的跨模态邻居的语义信息。cross-modal gating 是受 Teney 等人和 Kim 等人2018年的工作的启发而应用的。这种设计可以根据每种模态的上下文表示更好地确定模态间的融合程度。

  • 最后,用位置前馈网络来产生文本节点和视觉节点的状态。

Decoder

视觉信息已经在 Encoder 的多个融合层中融合到文本节点中,所以解码器只关注文本节点。解码器类似于传统的 Transformer decoder,不再赘述。

Experiment

Setup

在 Multi30K 数据集上进行训练。Multi30K 是多模态机器翻译的经典数据集,每组数据包含一个图像、英语描述以及德语和法语的人工翻译。在 Multi30K、WMT17 和 MSCOCO 的 test set 上进行测试。

baseline 模型:

  • Transformer
  • ObjectAsToken:Transformer 的变体,将视觉对象作为额外的源标记放在输入句子的前面。
  • Enc-att:将一种基于 encoder 的图像注意力机制结合到 Transformer 中。
  • Doubly-att:A doubly attentive Transformer. 在每个解码器层中,在全连接前馈层之前插入跨模态多头注意子层,以从视觉特征生成视觉上下文向量。
  • 其它的几个重要的多模态模型。

实验发现LeL_e取3的时候效果最好。

2.png

En ⇒ De

3.png

En ⇒ Fr

4.png

Results

本文的模型优于大多数现有模型和所有的baseline。

  • 优于 ObjectsAsToken :本模型明确不同模态的语义单元之间的语义对应,并区分不同模态的模型参数;
  • 优于 Enc-att :多层多模态语义交互优于单层语义融合编码。
  • 优于 Doubly-att :相比于直接利用注意力机制来发掘视觉信息,本模型有充分的多模态融合。

此外,作者还探究了源句子长度、名词数量和模型表现的关系。

5.png

作者分析,名词短语较多的句子(长句),本模型相对于 baseline 的改进更为显著,可能是因为名词短语较多时,句子中包含更多歧义词,因此更依赖于视觉信息来进行消歧。

Ablation Study

作者就模型本身的几个特点进行了消融实验:

  1. 有无模态间融合;
  2. 直接连接文本单词和视觉对象,而不是 visual grounding ,模型性能明显下降;
  3. 不同模态间参数统一更新(统一参数);
  4. 解码器额外关注视觉节点,性能并没有因此得到改进,这也证实了作者之前的假设:视觉信息已经完全融入到我们编码器的文本节点中。
  5. 只关注视觉节点而不关注文本节点,模型性能急剧下降。这是因为视觉节点的数量远远少于文本节点,无法产生足够的翻译语境。

6.png

Summary

作者提出了一种基于图的多模态融合编码器,在多模态机器翻译任务中取得了有效的性能提升。