VQA4-2017-Hierarchical Question Image Co-Attention for VQA

在这里插入图片描述

Abstract

近期的许多工作提出了针对视觉问答(VQA)的注意力模型,该模型可生成与回答问题有关的空间图突出显示的图像区域。 在本文中,我们认为除了对“在哪里看”或视觉注意进行建模之外,对“听什么单词”或对注意进行建模同样重要。 我们提出了一种新颖的VQA共同注意模型,该模型共同引起了关于图像和问题注意的原因。 此外,我们的模型通过新颖的一维卷积神经网络(CNN)以分层的方式对问题(以及因此通过共同注意机制生成的图像)进行了推理。我们的模型将VQA数据集的最新状态从60.3%提高到60.5 %,以及从COCO-QA数据集的61.6%到63.3%。 通过使用ResNet,VQA的性能进一步提高到62.1%,COCO-QA的性能提高到65.4%。

1 Introduction

视觉问答(VQA)[2,7,16,17,29]已成为学术界和行业中一个突出的多学科研究问题。 为了正确回答有关图像的视觉问题,机器需要同时理解图像和问题。 最近,已经针对VQA探索了基于视觉注意的模型[20,23–25],其中注意机制通常会生成突出显示与回答问题相关的图像区域的空间图。

到目前为止,文献中有关VQA的所有注意力模型都集中在识别“在哪里看”或视觉注意力的问题上。 在本文中,我们认为识别“要听哪些单词”或质疑注意力的问题同样重要。 考虑以下问题:“此图像中有几匹马?” 和“您可以在这张图片中看到多少匹马?”。它们具有相同的含义,基本上被前三个单词所捕获。使用前三个单词的机器可以说对于与含义和含义无关的语言变化具有更强的鲁棒性。出于这一观察的动机,除了对视觉注意力进行推理外,我们还解决了问题注意力的问题,具体而言,我们提出了一种新颖的VQA多模式注意力模型,具有以下两个独特功能

共同注意 我们提出了一种新颖的机制来共同引起视觉注意和问题注意,我们将其称为共同注意。与以前的只关注视觉注意力的作品不同,我们的模型在图像和问题之间具有自然的对称性,因为图像表示可用于引导问题注意,而问题表示可用于引导图像注意。

问题层次结构 我们构建了一个层次结构,该结构在三个级别上共同参与图像和问题:(a)单词级别,(b)短语级别和(c)问题级别。在单词级别,我们通过嵌入矩阵将单词嵌入到向量空间中。在短语级别,使用一维卷积神经网络捕获单字组,二元组和三字组中包含的信息。具体来说,我们将单词表示与支持不同的时间过滤器进行卷积,然后通过合并它们来组合各种n-gram响应转换成单个短语级别的表示形式。在问题级别,我们使用递归神经网络对整个问题进行编码。对于此层次结构中问题表示的每个级别,我们构建共同的问题和图像共同注意图,然后将它们进行递归组合以最终预测答案的分布。
在这里插入图片描述

总体而言,我们工作的主要贡献是:

  • 我们为VQA提出了一种新颖的共同注意机制,该机制共同执行以问题为指导的视觉注意和以图像为指导的问题关注。我们通过并行和交替共同注意两种策略来探索这种机制,这将在第3.3节中进行介绍;
  • 我们提出了一个层次结构来表示问题,因此在三个不同的级别上构造了图像-问题共同注意图:单词级别,短语级别和问题级别。然后,将这些共同参与的功能从单词级别到问题级别递归组合,以进行最终答案预测;
  • 在短语级别,我们提出了一种新颖的卷积池策略,以自适应地选择其表示被传递到问题级别表示的短语大小;
  • 最后,我们在两个大型数据集VQA [2]和COCO-QA [17]上评估我们提出的模型。我们还执行消融研究,以量化模型中不同组件的作用。

2 RelatedWork

最近的许多工作[2、7、13、16、17、27、12、6]已经提出了VQA模型。我们比较并提出了我们提出的共同注意机制与文学中的其他视觉和语言注意机制。

图像注意。代替直接使用深层CNN的完全连接层的整体整个图像嵌入(如[2,15-17]),许多近期的工作已经探索了VQA的图像注意力模型。 Zhu等[28]在指向和接地QA的标准LSTM模型上增加了空间关注。 Andreas等人[1]提出了一种由语言解析器和许多神经模块网络组成的合成方案。语言解析器预测应实例化哪个神经模块网络来回答问题。其他一些作品以叠加的方式多次执行图像关注。在[25]中,作者提出了一个堆叠式注意力网络,该网络运行多跳以逐步推断答案。为了从问题中获取细粒度的信息,Xu等人[24]提出了一种多跳图像注意力方案。它使单词与第一跳中的图像块对齐,然后参考整个问题以获取第二跳中的图像注意力图。在[20]中,作者生成带有对象建议的图像区域,然后选择与问题和答案选择相关的区域。 Xiong等人[23]用新的输入融合模块增强了动态内存网络,并从基于注意力的GRU中检索了答案。在并发工作中,[5]收集了“人类注意力图”,用于评估由VQA注意力模型生成的注意力图。请注意,所有这些方法都仅对视觉注意力进行建模,而不对问题注意力进行建模。此外,[24,25]按顺序建立注意力模型,即以后的注意力是基于较早的注意力,这容易导致错误传播。相反,我们在三个级别上独立进行共同注意。

语言注意。尽管没有先前的工作探讨过VQA中的问题关注,但是自然语言处理(NLP)中的一些相关工作通常都对语言关注进行了建模。为了克服长句子翻译的困难,Bahdanau等人[3]提出了RNNSearch来学习输入句子的对齐方式。在[9]中,作者提出了一种注意力模型来规避文本阅读和理解中固定宽度的隐藏矢量所引起的瓶颈。在[18]中提出了一种更细粒度的注意力机制。作者采用逐词神经注意机制来推理两个句子中的包含。同样专注于对句子对进行建模,[26]中的作者提出了一种基于注意力的二元神经网络CNN,用于在两个CNN层次结构之间共同执行注意力。在他们的工作中,提出并评估了三种注意方案。在[19]中,作者提出了一种双向注意机制,将配对的输入投影到一个公共的表示空间中。

3 Method

我们首先介绍本文中使用的符号。 为了便于理解,我们分部分描述了完整的模型。 首先,在第3.2节中描述了我们的分层问题表示形式,然后在第3.3节中描述了提出的共同注意机制。 最后,第3.4节展示了如何将参加的问题和图像特征递归组合以输出答案。

3.1 Notation

给定一个带有 T T T字的问题,其表示形式为 Q = { q 1 , ⋯   , q T } Q = \{q_1,\cdots ,q_T\} Q={q1,qT},其中 q t q_t qt是第 t t t个单词的特征向量。 我们将 q t w q^w_t qtw q t p q^p_t qtp q t s q^s_t qts分别表示为位置 t t t处的单词嵌入,短语嵌入和问题嵌入。 图像特征由 V = { v 1 , ⋯ , v N } V = \{v_1,\cdots,v_N\} V={v1vN}表示,其中 v n v_n vn是空间位置 n n n处的特征向量。 图像和问题在层次中每个级别的共同注意特征表示为 v ^ r \hat{v}^r v^r q ^ r \hat{q}^r q^r,其中 r ∈ { w , p , s } r\in \{w,p,s\} r{w,p,s}。 不同模块/层中的权重用 W W W表示,并根据需要使用适当的子/上标。 在下面的说明中,我们省略了偏项 b b b以避免符号混乱。

3.2 Question Hierarchy

给定问题词的1-hot编码 Q = { q 1 , ⋯   , q T } Q=\{q_1,\cdots,q_T\} Q={q1,,qT},我们首先将单词嵌入向量空间(端到端学习)以获得 Q w = { q 1 ω , ⋯   , q T ω } Q^w =\{q_1^{\omega},\cdots, q_T^{\omega}\} Qw={q1ω,,qTω}。 为了计算短语特征,我们在单词嵌入向量上应用一维卷积。 具体而言,在每个单词位置,我们使用三个窗口大小的过滤器(单字,双字和三字)计算字向量的内积。 对于第 t t t个单词,窗口大小为 s s s的卷积输出为:
在这里插入图片描述
其中 W c s W^s_c Wcs是权重参数。 词级特征 Q w Q^w Qw在馈入二元组和三元组卷积之前进行适当的0填充,以保持卷积后序列的长度。 给定卷积结果,然后在每个单词位置的不同n-gram上应用最大池化,以获得短语级特征
在这里插入图片描述
我们的合并方法与以前的工作[10]中使用的方法不同之处在于,它在每个时间步长自适应选择不同的语法特征,同时保留原始序列的长度和顺序。 在最大池化之后,我们使用LSTM编码序列 q t p q^p_t qtp。 相应的问题级别特征 q t s q^s_t qts是时间 t t t的LSTM隐藏向量。

我们对问题的层次表示如图3(a)所示。
在这里插入图片描述

3.3 Co-Attention

我们提出了两种共同注意机制,它们在生成图像和问题注意图的顺序上有所不同 我们将第一个机制称为 并行共同注意,它同时生成图像和问题注意。 第二种机制,我们称为 交替共同注意,在生成图像和提问注意之间依次交替。 参见图2。这些共同注意机制在问题层次结构的所有三个级别上执行。
在这里插入图片描述

平行共同注意。 平行共同注意同时关注图像和问题。 类似于[24],我们通过计算所有成对的图像位置和问题位置处的图像和问题特征之间的相似度,来连接图像和问题。 具体地,给定图像特征图 V ∈ R d × N V\in \mathcal{R}^{d\times N} VRd×N,并且问题表示 Q ∈ R d × T Q\in \mathcal{R}^{d\times T} QRd×T,通过下式计算亲和度矩阵 C ∈ R T × N C\in \mathcal{R}^{T\times N} CRT×N
在这里插入图片描述
其中 W b ∈ R d × d W_b\in \mathcal{R}^{d\times d} WbRd×d包含权重。 在计算完此相似度矩阵之后,一种计算图像(或问题)注意力的可能方法是简单地最大化其他模态位置上的相似度,即 a v [ n ] = m a x i ( C i , n ) a^v [n] = max_i(C_{i,n}) av[n]=maxi(Ci,n) a q [ t ] = m a x j ( C t , j ) a^q [t] = max_j(C_{t,j}) aq[t]=maxj(Ct,j)。 与其选择最大激活量,我们发现如果将这种亲和矩阵视为特征并通过以下方法学习预测图像和问题注意图,则性能会得到改善。
在这里插入图片描述
其中 W v , W q ∈ R k × d W_v,W_q\in \mathcal{R}^{k\times d} Wv,WqRk×d w h v , w h q ∈ R k w_{hv},w_{hq}\in \mathcal{R}^k whvwhqRk是权重参数。 a v ∈ R N a^v\in \mathcal{R}^N avRN a q ∈ R T a^q\in \mathcal{R}^T aqRT分别是每个图像区域 v n v_n vn和单词 q t q_t qt的注意力概率。 亲和度矩阵 C C C将问题关注空间转换为图像关注空间(反之对 C T C^T CT亦然)。 根据上述注意力权重,将图像和问题注意力向量计算为图像特征和问题特征的加权总和,即
在这里插入图片描述
并行共同注意在层次结构的每个级别上完成,导致 v ^ r \hat{v}^r v^r q ^ r \hat{q}^r q^r,其中 r ∈ { w , p , s } r\in \{w,p,s\} r{w,p,s}

交替注意。 在这种注意机制中,我们依次在生成图像和问题注意之间进行交替。 简而言之,这包括三个步骤(图2b中标记):1)将问题概括为单个向量 q q q; 2)根据问题总结 q q q看图像; 3)根据照看图像功能照看问题。

具体而言,我们定义一个注意操作 x ^ = A ( X ; g ) \hat x =\mathcal{A}(X; g) x^=A(X;g),该操作将图像(或问题)特征 X X X和从问题(或图像)派生的注意指导 g \mathcal{g} g作为输入,并输出关注的图像(或问题)矢量 。 该操作可以表示为以下步骤
在这里插入图片描述
其中 1 \mathbb{1} 1是一个向量,所有元素均为1。 W x , W g ∈ R k × d W_x,W_g\in \mathcal{R}^{k\times d} Wx,WgRk×d w h x ∈ R k w_{hx}\in \mathcal{R}^k whxRk是参数。 a x a^x ax是特征 X X X的关注权重。

交替共同注意过程如图2(b)所示。 在交替涂覆的第一步, X = Q X = Q X=Q,且 g g g为0; 在第二步中, X = V X = V X=V,其中 V V V是图像特征,而引导 g g g是第一步中的中间关注问题特征 s ^ \hat{s} s^; 最后,我们使用照看图像特征 v ^ \hat{v} v^作为再次参加该问题的指导,即 X = Q X = Q X=Q g = v ^ g = \hat{v} g=v^。 与并行共同注意类似,交替共同注意也在层次结构的每个级别上进行。

3.4 Encoding for Predicting Answers

根据[2],我们将VQA视为分类任务。 我们根据所有三个级别的隐蔽图像和问题特征预测答案。 我们使用多层感知器(MLP)递归编码注意力特征,如图3(b)所示。
在这里插入图片描述
其中 W w , W p , W s W_w, W_p, W_s Ww,Wp,Ws W h W_h Wh是权重参数。 [ ⋅ ] [\cdot ] []是对两个向量的串联操作。 p p p是最终答案的概率。

4 Experiment

4.1 Datasets

我们在两个数据集上评估提出的模型,VQA数据集[2]和COCO-QA数据集[17]。 VQA数据集[2]是此问题的最大数据集,其中包含Microsoft COCO数据集[14]上的人工注释问题和答案。 数据集包含248,349个训练问题,121,512个验证问题,244,302个测试问题以及总共6,141,630个问题-答案对。 根据答案类型,共有三个子类别,包括是/否,数字和其他。 每个问题有10个免费答案。 我们使用前1000个最常见的答案作为可能的输出,类似于[2]。 这套答案涵盖了train+ val答案的86.54%。 对于测试,我们在VQA train + val上训练我们的模型,并从VQA评估服务器报告测试开发和测试标准结果。 我们在实验中使用[2]的评估协议。

COCO-QA数据集[17]是根据Microsoft COCO数据集[14]中的字幕自动生成的。 数据集中有78,736个训练题和38,948个测试题。 这些问题分别基于8,000和4,000张图像。 有四种类型的问题,包括对象,数字,颜色和位置。 每种类型分别占整个数据集的70%,7%,17%和6%。 此数据集中的所有答案都是单个单词。 与[17]中一样,我们在表2中报告分类准确性以及Wu-Palmer相似度(WUPS)。

4.2 Setup

我们使用Torch [4]开发模型。 我们使用Rms prop优化器,其基本学习率为4e-4,动量为0.99和权重衰减为1e-8。 如果在最近5个时期中验证准确性没有提高,我们将批次大小设置为300,并训练最多256个时期并尽早停止。 对于COCO-QA,VQA的隐藏层Ws的大小设置为512,而1024为1024,因为它是一个更大的数据集。 所有其他单词的嵌入和隐藏层都是大小为512的向量。我们在每一层上以0.5的概率应用丢弃。 按照[25],我们将图像重新缩放为448×448,然后将其从VGGNet [21]或ResNet [8]的最后一个池化层激活。

4.3 Results and Analysis

VQA上有两种测试方案:开放式测试和多项选择。来自[2]的最佳性能的更深层的LSTM Q +规范I被用作我们的基准。对于开放式测试场景,我们将我们的方法与最近提出的SMem [24],SAN [25],FDA [11]和DMN + [23]进行比较。对于多项选择,我们与Region Sel进行比较。 [20]和FDA [11]。我们在COCO-QA上与2-VIS + BLSTM [17],IMG-CNN [15]和SAN [25]进行了比较。我们使用Oursp来指代并行共同注意,Oursa表示交替共同注意。
在这里插入图片描述

表1显示了开放式和多项选择设置在VQA测试集上的结果。我们可以看到,我们的方法将开放状态的现有技术水平从60.4%(DMN + [23])提高到62.1%(Oursa + ResNet),从64.2%(FDA [11])提高到66.1%(Oursa + ResNet)在多项选择上。值得注意的是,对于其他和数字问题类型,开放式问题的选择率分别提高了3.4%和1.4%,多项选择题的改进率分别为4.0%和1.1%。如我们所见,ResNet功能在所有情况下都优于或匹配VGG功能。我们的改进不仅是由于使用了更好的CNN。具体来说,FDA [11]也使用ResNet [8],但在测试开发上,Oursa + ResNet的表现要好1.8%。 SMem [24]使用GoogLeNet [22],其余全部使用VGGNet [21],而在测试开发(DMN + [23])上,Ours + VGG的性能要高出0.2%。
在这里插入图片描述

表2显示了COCO-QA测试仪的结果。类似于VQA的结果,我们的模型将最新技术从61.6%(SAN(2,CNN)[25])提高到65.4%(Oursa + ResNet)。我们观察到,在此设置中,并行共同注意要比交替共同注意要好。两种注意机制都有其优点和缺点:并行共同注意较难训练,因为图像和文本之间的点积将两个向量压缩为单个值。另一方面,交替的共同注意可能会在每个回合中积累错误。

4.4 Ablation Study

在本节中,我们将进行消融研究以量化模型中每个组件的作用。具体来说,我们通过消减某些组件来重新训练我们的方法:
•仅图像注意,在类似于先前作品[25]的方式中,我们不使用任何问题注意。比较的目的是验证我们的改进不是正交贡献的结果。 (例如更好的优化或更好的CNN功能)。
•仅关注问题,不进行图像关注。
•W / O转换,其中不进行卷积和合并来表示短语。相反,我们在单词级别输出的顶部堆叠了另一个单词嵌入层。
•W / O W-Atten,不执行单词级共同注意。我们用统一分布代替单词级别注意。短语和问题级别的共同注意仍在建模中。
•W / O P-Atten,不执行短语级别共同注意,并且短语级别注意设置为统一。单词和问题级别的共同注意仍在建模中。
•W / O Q-Atten,不执行问题级别的共同注意。我们用均匀分布代替问题级别的注意力。单词和短语级别的共同注意仍在建模中。
在这里插入图片描述

表3列出了我们在VQA验证集上没有这些消融的完整方法的比较(不建议将测试集用于此类实验)。 还报告了[2]中更深的LSTM Q +规范I基线以进行比较。 我们可以看到,单独的图像注意确实比整体图像功能(更深的LSTM Q +规范I)提高了性能,这与以前的VQA注意模型的发现是一致的[23,25]。

比较完整模型w.r.t.没有单词,词组和问题级别关注的消融版本显示出一个明显的有趣趋势–最接近层次结构“顶部”(即问题)的关注机制至关重要,如果未建模,则准确性下降1.7%;其次是中级水平(即词组),下降了0.3%;最后是层次结构的“底部”(即单词),准确性下降了0.2%。我们假设这是因为问题级别与模型中的答案预测层“最接近”。请注意,所有级别都很重要,并且我们的最终模型在不使用任何语言注意的情况下,其表现明显优于其他模型(“完全模型”和“图像鉴赏”之间的差异为1.1%)。仅问题关注模型优于LSTM Q + I,改进了0.5%,而比单独关注图像的效果差了1.1%。如果我们再进行一轮交替的共同注意,我们的能力会进一步提高,提高了0.3%。

4.5 Qualitative Results

现在,我们将图4中由我们的方法生成的一些共同注意图可视化。在单词级别,我们的模型主要关注图像中的对象区域,例如,头部,鸟类。在短语级别,图像注意力在图像上具有不同的模式。对于前两个图像,注意力从对象转移到背景区域。对于第三张图像,注意力变得更加集中在对象上。我们怀疑这是由不同的问题类型引起的。在问题方面,我们的模型能够定位问题中的关键短语,从而从本质上发现数据集中的问题类型。例如,我们的模型注意短语“什么颜色”和“多少个滑雪板”。我们的模型成功地以图像和短语的形式出现在适合回答该问题的问题中的区域,例如“鸟的颜色”和鸟的区域。由于我们的模型在三个级别上执行共同注意,因此通常会从每个级别捕获互补信息,然后将它们组合以预测答案。
在这里插入图片描述

5 Conclusion

在本文中,我们提出了一个用于视觉问题回答的分层共同注意模型。 共同注意使我们的模型可以关注图像的不同区域以及问题的不同片段。 我们在三个级别上对问题进行分层建模,以捕获来自不同粒度的信息。 消融研究进一步证明了共同注意和问题等级在我们最终表现中的作用。 通过可视化,我们可以看到我们的模型共同参与图像和问题的可解释区域,以预测答案。 尽管我们的模型是根据视觉问题回答进行评估的,但它可以潜在地应用于涉及视觉和语言的其他任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值