Advertisement

MUREL:Multimodal Relational Reasoning for Visual Question Answering阅读笔记

阅读量:

引入

多模态注意力网络目前是设计真实图像的视觉问答(VQA)任务的现有技术模型,但是这种简单的机制不足以对复杂的推理特征或者高层次的任务进行建模。因此,本文提出了MuRel(多模态关系网络) ,一个能在真实图像中学习端到端推理的多模态关系网络。我们的贡献主要有两个:一是引入了MuRel单元 ,这是一个自动推理原语,能够表示问题和图像区域之间丰富的交互信息,它基于一个向量表示,能对区域之间的关系进行建模,也就是一种通过丰富的向量表示来对问题和图像区域间的交互进行自动推理,和对成对结合区域关系进行建模的结构;二是合并MuRel单元到MuRel网络 ,嵌入到迭代推理过程中去,它能够逐渐的对内部网络表示进行精化来回答问题,逐渐细化了图像和文本的交互。

背景:

1.深度学习最近处理问题:

最近,深度学习开始处理一些复杂的视觉推理问题,例如:关系检测(relationship detection)、目标识别(objection recognition)、多模态检索(multimodal retrieval)、抽象推理(abstract reasoning)、视觉因果(visual causality)、视觉对话(visual dialog)。

2.视觉推理(Visual reasoning ):

关于视觉推理这个研究主要是通过CLEVR数据集,这个数据集提供了一些需要推理的简单问题。它为合成数据集,是做VQA视觉推理常用的数据集,由一些简单的几何形状构成的视觉场景。数据集中的问题总是需要一长串的推理过程,为了对推理能力进行详细评估,所有问题分为了5类:属性查询(querying attribute),属性比较(comparing attributes),存在性(existence),计数(counting),整数比较(integer comparison)。所有的问题都是程序生成的。该数据集的人为标注数据子集为CLEVR-Humans。其中处理CLEVR数据集比较好的模型有FiLM,MAC network。

3.真实数据的VQA(VQA on real data ):

VQA研究最重要的一部分就是对两个空间向量的高层次关系进行表示,在目前的多模态融合机制里,最受欢迎的是二阶交互(second order interaction)或者是张量分解(tensor decomposion)。在VQA关系推理中,最常使用的推理框架是软注意力机制(soft attention),给定一个问题,模型可以标注每个区域的重要程度分数,并使用它们进行权重求和和池化来视觉表示。多重注意力可以并行或者顺序计算,这其中的代表算法是结构注意力(Structured Attention)。

4.MuRel的贡献(MuRel contributions ):

移除了传统的注意力框架,采用了向量化表示方法,对每个区域的视觉内容和问题进行建模。此外,还在表示中加入了空间和语义环境的概念,即通过视觉嵌入和空间坐标的交互来表示成对的图像区域。
模型方法:

该模型如下图所示:

输入一个图像v和一个问题q,需要获得一个符合真实答案a*的预测答案a^,传统VQA模型通常看作一个分类问题:

其中的_{Pheta }就是我们的可训练模型。而在该文章提出的方法里,图像表示为一组向量{Vi},每个Vi对应于图像中的一个目标,每个Vi的维度为_{dv},引入空间坐标bi=[x,y,w,h],其中[x,y]表示边界框左上角的位置,[w,h]表示边界框的宽和高。对于问题,则需要门控循环单元(gated recurrent unit)提供一个句子嵌入q,其中q的维度为_{dq}

1.MuRel cell:

MuRel cell是一个神经模块,首先,N个视觉特征被整合成_{Si},其中这些特征都是各自包含带着空间坐标_{bi}的。MuRel cell有两个模块做成,第一个是双线性融合模型,这是一种可以将多个特征结合起来作为input的方法,它可以通过连接或元素相加来融合图像的视觉特征和问题的文本特征之间的复杂关系,实现更有效的特征表征。下图中_{Si}和q经过双线性融合后得到了多模态向量_{mi},它代表了问题向量和区域向量之间的丰富而又细粒度的相互作用。第二个是成对的建模组件,所有经过第一个模块得来的向量_{mi}都会经过一个成对的交互建模组件模块去生成一个_{Xi},而这个模块的输出结果idehat{_{Si}}即是_{Xi}_{Si}的和,作为_{Si}的剩余函数。

Multimodal fusion(多模态融合):

我们想要将每一个视觉区域表示向量_{Si}都包含问题信息,最近刚提出许多策略来模拟两种模态之间的交互作用,其中最高效的是基于三阶张量(third-order tensors)的Tucker 分解(Tucker decomposition),这是一种双线性融合方法。这种双线性融合模型学会关注输入维度之间的相关关系,它模拟丰富而又细粒度的的多模态相互作用同时保持相对较低的参数数量。每个输入向量_{Si}和问题嵌入q都使用相同的双线性融合。

其中, heta是融合模块的可训练参数,_{mi}的每一个 ^{m}都可以被写成 中的双线性函数,由于张量分解,张量被分解为heta的参数列表。我们将_{mi}的维度也设成_{dv},以便在整个体系结构中使用残余连接。

传统的注意力模型中,对图像特征和问题特征s和q的融合是使用encoder方法,而这种方法只能学会编码一个区域是否相关。而在MulRel cell中,局部多模态信息以更丰富的向量形式表示,用mi表示,它可以对两种模态间更复杂的关系进行编码。这可以存储更具体的信息,说明在给定的文本上下文中,特定区域的确切特征是什么重要的。

Pairwise interactions(成对交互 ):

要回答某些类型的问题,可能需要对多个相互作用的对象进行推理。更一般地说,我们希望每个向量表示都能意识到它周围的空间和语义上下文,为了获得多个目标之间的相互关系,根据其他论文,作者选择了成对交互模型(pairwise relationship modeling),一个区域对应于K个相似邻域,也就是说MuRel cell的邻域由图像中的每个区域构成。另外作者用合并空间和语义表示建立关系向量的方法来代替其他论文中使用标量成对注意力和高斯核卷积的方法。由于我们的特性是由一系列本地化的向量构成的,因此对每个区域的可视上下文建模并不简单。我们选择了一种成对的关系建模,其中每个区域根据其与相邻区域的关系接收消息。在别的论文中,一个区域的邻域是K个与其相似的区域,而在这篇文章的MuEel模型中,一个区域的邻域即是图片中的所有区域。我们合并空间和语义表示来构建关系向量,特别的,我们为每个区域计算一个上下文向量heck{ei}heck{ei}=.^{_{maxj}}_{ri,j}
_{ri,j}是一个向量,包含关于两个区域的内容的信息,也包含关于它们之间的相对空间定位的信息。我们在聚合函数中使用max算子来减少平均或和池化所引起的噪声,这些噪声迫使所有区域相互作用。为了编码关系向量,我们使用如下公式:

其中,经过B(..,..;}}_{heta b}),MuRel可以学习图像中的框与框之间的空间位置关系如“在上方、左边、右边”等等。 同样的 经过B(..,..;_{heta m}),MuRel单元可以编码多模态向量(_{Si}_{S j})之间的关系,对应于以问题表征为条件的语义视觉概念。通过总结空间关系和语义关系的融合,网络可以学习一些高级的关系概念,如穿、拿 等等。

上下文向量表示heck{ei}通过聚合邻居元素最大池化提供的向量表示_{ri,j}来获得的。经过这种操作,网络可以学习为每个特征维度过滤我们不相关的交互。然后多模态特征_{mi}以相加方式被更新。

最后,将MuREL单元的输出计算为其输入的残差函数,以避免消失梯度问题。每一个向量_{Si}都被更新:

与q和成对建模进行多模态融合后,N个区域的{_{Si}}i属于[1,N]都被更新:

2.MuRel netWork:

MuRel网络通过利用双线性融合的能力,将视觉信息迭代地合并到上下文感知视觉嵌入中,从而模仿了一种简单的迭代推理的形式。MuRel network不仅表示和问题相关的区域,也是用自己的视觉上下文,这种表示是通过MuRel cell的多步迭代完成的,每个cell的权值共享,这种残差特性可以使它不受梯度消失的影响,这些都是的该网络具有较好的泛化性和紧密的参数化。

我们可以看到在模型中,{_{Si}}在多个MuRel步骤中被更新,每次用上下文信息和问题信息来细化表示。更具体地,对于T个MuRel模块,t=1...T,一个MuRel单元更新状态向量的表示如下:

用目标检测器输出的特征初始化状态向量,对于每一个区域i,=vi,即在第一个步骤开始之前,其多模态特征向量为初始的图片区域特征向量。

MuRel模块代表每个区域关于这个问题的交互,但也使用自己的视觉上下文。这种表示是通过MuRel模块的多个步骤迭代完成的。该模块的剩余特性使得可以在不受梯度消失影响的情况下对多个单元进行对齐,此外,我们的模型的权重在单元格中共享,这使得紧凑的参数化和良好的泛化成为可能。

在最后一个MuRel模块即当t=T时,聚集了全局最大池操作信息,提供了单个向量S,这个场景表示包含有关对象的信息、与特定问题有关的它们之间的空间和语义的信息。

这里得到的场景代表S与问题嵌入q会有一个双线性融合,计算每一个可能的答案的得分,最后,是其中得分最高的答案。

Visualizing MuRel network——可视化网络:

该模型利用可视化方案,强调图像和特定回答间的重要关系,比单纯的注意力映射更精细。在MuRel网络的最后,视觉特征{si}使用max最大化操作进行整合,生成维度为dv的向量s,最后通过测量每个区域对最后向量的贡献程度计算出一个贡献图,并且这个过程是在每一个MuRel Cell之后而不是只在最后一个后边。

同样地,也可以用MuRel Cell对预测结果中的成对关系进行可视化。

Connection to previous work:

将MuRel 网络和之前的FiLM网络进行比较,FiLM网络是为了处理合成数据集CLEVR而建立的,而MuRel网络是为了处理真实数据集,但是两者还存在一些联系。在FiLM网络中,将图像传入一个多步残差单元,而MuRel网络中,是将图像传入一个迭代单元;在多模态交互中,FiLM网络使用的是仿射变换(affine modulation),而MuRel网络使用的是双线性融合(bilinear fusion);最后,FiLM网络和MuRel网络都利用图像表示的空间结构来对区域间的关系进行建模,FiLM网络中,图像用全卷积网络表示,MuRel网络中,图像使用一系列局部特征表示。

实验:

首先将MuRel模型和作为baseline的attention进行比较,验证模型的是否合理:

在模型中分别测试成对(Pairwise)和迭代(Iterative)对准确率的影响,发现两个都加入时准确率最高,可见这两个是互补的:

探究对于不同类型的问题迭代次数的影响:

不同的模型在不同数据集的比较:

实例:

全部评论 (0)

还没有任何评论哟~