一、文献摘要介绍
二、网络框架介绍
三、实验分析
四、结论
本文有点长,请耐心阅读,定会有收货。如有不足,欢迎交流,这篇文章和上篇文章,有着相同的构思,请参考上篇文章。 另附:本论文地址
Learning effective fusion of multi-modality features is at the heart of visual question answering. We propose a novel method of dynamically fusing multi-modal features with intra- and inter-modality information flow, which alternatively pass dynamic information between and across the visual and language modalities. It can robustly capture the high-level interactions between language and vision domains, thus signifificantly improves the performance of visual question answering. We also show that the proposed dynamic intra-modality attention flflow conditioned on the other modality can dynamically modulate the intra-modality attention of the target modality, which is vital for multimodality feature fusion. Experimental evaluations on the VQA 2.0 dataset show that the proposed method achieves state-of-the-art VQA performance. Extensive ablation studies are carried out for the comprehensive analysis of the proposed method.
论文作者认为学习多模式特征的有效融合是视觉问答的核心,所以提出了一种动态融合多模态特征与模态内和模态间信息流交互的新方法,该方法可以在视觉和语言模态之间以及跨视觉和语言模态之间传递动态信息。它可以很好的捕获语言和视觉区域之间的高级的交互,从而显著的提高了视觉问答的性能。经过实验表明该方法在VQA2.0数据集上实现最新的性能。下面让我们来探究一下究竟为何。
下图展示了作者提出的带有模式间和模式间注意流程(DFAF)的动态融合方法, 每个DFAF模块都包含一个模式间注意流程和一个模式内注意流程模块,有效的堆叠几个DFAF块可以帮助网络逐渐将注意力集中在重要的图像区域,问题词和潜在的对齐方式上。
图像表示是一个区域视觉特征的集合,采用自下而上(bottom-up)的方式,这些特征是用在Visual Genome数据上训练好的Faster R-CNN(里面核心是ResNet-101)。作者设置了目标区域的数量为100,给定输入图像,获得的区域视觉特征表示为,其中第 i 个区域特征表示为,共有μ个目标区域。目标视觉特征在训练过程中是固定的。 问题表示我们采用GLOVE方法进行词嵌入,作为门控递归单元(GRU)的输入,进而编码问题的词特征。给定问题Q,从GRU单元获得单词级的特征,其中第j个词特征被表示为,并且所有的问题都被填充且截断到相同的长度14。
之后获得的视觉区域特征R和问题特征E,可以定义为:
其中视觉特征参数是固定的,而问题特征参数,是从头开始学习得到,并且在训练的时候更新。
下面我们对其整体框架进行剖析,以揭开神秘面纱。
如上图所示,Inter-modality Attention Flow(InterMAF)模块,也就是模态间的注意力流,首先学习获取每对视觉区域和单词特征之间的重要性。然后,它根据学习的重要性权重和聚合特征在这两个模态之间传递信息流,以更新每个单词特征和图像区域特征。这样的信息流过程能够识别视觉区域和单词之间的交叉模式关系。
给定一个视觉区域和单词特征,首先用公式计算他们的关联权重,然后规范化后经softmax函数输出两组两组注意力权重,公式如下:
其中是图像区域特征经过线性变换得到,而是单词特征经过线性变换得到,变换公式如下:
这样我们就得到了两组注意力权重,从单词到图像区域的加权信息流和从图像区域到单词的加权信息流,这两个双向的 InterMAF矩阵获取成对的图像区域和单词之间的重要信息。然后这两个矩阵通过以下公式对图像视觉区域和单词区域进行更新。
获得更新的图像视觉区域和单词特征后,我们将它们与最初的图像视觉特征R和单词特征E,通过利用全连接层将它们进特征行串联,进而输出特征,紧接着把输出的特征传递给Dynamic Intra-modality Attention Flow,进而学习模态内的信息流,进一步更新图像视觉区域和单词特征,以获取区域到区域和单词到单词之间的关系,定义公式如下。
作者提出了两个模态内的注意力流,一种是Intra-modality Attention Flow,另一种是Dynamic Intra-modality Attention Flow,后者是前者的改进,已进行弥补不足。
首先作者根据先前的工作,给出了Intra-modality Attention Flow的公式如下:
然而作者认为,这个IntraMAF模块仅利用模态内信息来估计区域对区域和词对词的重要性。 一些关系虽然很重要,但这个方法也需要根据其他模态的信息来确定。举个例子,即使对于相同的输入图像,不同视觉区域对之间的关系,也应根据不同的方法进行加权,因此作者提出了动态的模态内注意流模块,以根据其他模态的信息来估算模态内关系的重要性,该模块如下图所示(此图是以问题为条件的模态内的注意力流)。
首先问题特征和图像特征经过平均池化操作,经过sigmoid非线性函数,以生成其他模态的通道式条件门,公式如下:
然后,通过两种模式的条件门对两种模式的query和key特征进行调制。
其中是元素的点乘。query和key的通道将通过在其他模态的通道式条件门进行激活或者停止。
然后动态模态内的注意流矩阵就可以通过条件门query和key特征获得权重,以权衡不同的模态内的关系,定义如下。
进而,通过残差,用加权特征和更新图像视觉区域和单词的特征。
到这里两个重点的模块就介绍完了,通过顺序的迭代两个模块,已到达最佳的效果,经消融研究,8层是最佳的性能。在作者提出的DFAF框架中,作者使用一个InterMAF模块和一个DyIntraMAF模块形成一个基本块。多个块可以被堆叠,这要归功于在更新的过程中特征的串联和残差的使用,非常深的模态内和模态间信息流可以通过随机梯度下降进行有效的训练。此外在实践中,作者还利用了Muti-head。原始特征按通道维数划分成组,不同的组将产生并行的注意,以更新不同组中的视觉和单词特征。
最后作者在实验步骤里给了一个总结,2048维的视觉特征是从Faster R-CNN中提取的,而单词特征由GRU编码为1280维的特征。然后,将视觉特征和单词特征分别通过全连接层嵌入到512个维中。在InterMAF内部,特征转换为8个Muti-head注意,每个head的维度为64。对于DyIntraMAF,通过MLP将这两种模态的平均合并特征转换为512维,然后逐个元素激活,以获得条件门控制向量。然后,在视觉和单词特征的每个位置上,将它们与512维key和query相乘,以实现动态注意力流。
下面是在VQA2.0数据集上的消融研究。
然后进行了注意力权重流的可视化。
最后与以前在VQA 2.0测试数据集上最先进的方法进行比较。
In this paper, we proposed a novel framework Dynamic Fusion with Intra- and Inter-modality Attention Flow (DFAF) for visual question answering. The DFAF framework alternatively passes information within and across different modalities based on an inter-modality and intra-modality attention mechanisms. The information flflow inside visual features are dynamically conditioned on the question features. Stacking multiple blocks of DFAF are shown to improve the performance of VQA.
由于没有看到代码,所以也不清楚最后的计算过程,就我而言,应该是拿最后得到的视觉区域特征和单词特征,进行相加,然后通过softmax函数进行分类,预测答案。本文开头也讲到过,本文和之前的一篇文章的思路大相径庭,通过模态间的注意力和模态内的注意力进行深度串联和交互,能提高视觉问答的性能。