VQA1-2016-Stacked Attention Networks for Image Question Answering

在这里插入图片描述

Abstract

  本文介绍了堆叠式注意力网络(SAN),该网络学习从图像中回答自然语言问题。 SAN使用问题的语义表示作为查询来搜索图像中与答案相关的区域。 我们认为图像问题解答(QA)通常需要多个推理步骤。 因此,我们开发了多层SAN,其中我们多次查询图像以逐步推断答案。 在四个图像QA数据集上进行的实验表明,所提议的SAN明显优于以前的最新方法。 注意层的可视化说明了SAN定位相关视觉线索的过程,这些线索可以逐层回答问题。

1. Introduction

  随着计算机视觉和自然语言处理(NLP)的最新发展,图像问答(QA)成为最活跃的研究领域之一[7,21,18,1,19]。 与已经在NLP社区中广泛研究的基于纯语言的QA系统[28、14、4、31、3、32]不同,图像QA系统被设计为根据参考图像的内容自动回答自然语言问题。

  最近提出的大多数图像问答模型都基于神经网络[7,21,18,1,19]。 一种常用的方法是使用卷积神经网络(CNN)[15]提取全局图像特征向量,并使用长短期记忆网络(LSTM)[9]将相应的问题编码为特征向量,然后将它们组合 推断答案尽管已经报告了令人印象深刻的结果,但是当这些答案与图像中的一组细粒度区域相关时,这些模型通常无法给出精确答案。

  通过检查图像问答数据集,我们发现从图像中回答问题通常需要多步推理。 以图1中的问题和图像为例。 图像中有几个对象:自行车,窗户,街道,篮子和狗。 要回答这个问题,自行车上的篮子里坐着什么?我们需要首先找到问题中提到的那些对象(例如篮子,自行车)和概念(例如坐在里面),然后逐步排除无关的对象,最后查明 表示最有可能推断答案的区域(例如,示例中的狗)。
在这里插入图片描述

  在本文中,我们提出了允许对图像问答进行多步推理的堆叠式注意力网络(SAN)可以将SAN视为注意力机制的扩展,注意力机制已成功应用于图像字幕[30]和机器翻译[2]SAN的总体架构如图1a所示。 SAN由三个主要组件组成:

  1. 图像模型,它使用CNN提取高级图像表示形式,例如图像的每个区域一个矢量;
  2. 问题模型,使用CNN或LSTM提取问题的语义向量;
  3. 堆叠注意力模型,通过多步推理定位与问题相关的图像区域答案预测。

如图1a所示,SAN首先使用问题向量来查询第一视觉注意层中的图像向量,然后 将问题向量与检索到的图像向量结合以形成精炼的查询向量,以再次查询图像第二关注层向量。较高级别的注意力层将注意力集中在与答案更相关的区域上,从而使注意力分布更加清晰。最后,我们将注意力最高的图层的图像特征与最后一个查询向量相结合,以预测答案

  我们工作的主要贡献是三方面的
首先,我们为图像问答任务提出了一个堆叠式注意力网络。
其次,我们对四个图像问答基准进行了全面的评估,表明所提议的多层SAN大大优于以前的最新方法
第三,我们进行详细的分析,在其中可视化SAN的不同注意层的输出,并演示SAN采取多个步骤逐步将注意力集中在产生答案的相关视觉线索上的过程。

2. Related Work

  图像问答与图像标题[5、30、6、27、12、10、20]密切相关在[27]中,系统首先从GoogleNet提取了高级图像特征向量,然后将其输入LSTM以生成字幕 [30]中提出的方法进一步发展了在字幕生成过程中使用注意力机制的过程与[30,27]不同,[6]中提出的方法首先使用CNN来检测给定图像的单词,然后使用最大熵语言模型生成字幕候选列表,最后使用深度多模态相似性模型( DMSM)来重新排名候选人。 DMSM不是使用RNN或LSTM,而是使用CNN来建模字幕的语义

  与图像字幕不同,在图像问答中,已经给出了问题,任务是学习相关的视觉和文本表示以推断答案。为了促进图像问答的研究,已经在[19,21,7,1]中通过基于图像标题数据的自动生成或通过人工标记给定图像的问题和答案来构建了多个数据集。其中,[21]中设置的图像问答数据是基于COCO字幕数据集生成的。给定一个描述图像的句子,作者首先使用解析器解析该句子,然后使用疑问词替换句子中的关键字,然后关键字成为答案。 [7]通过人工标记创建了图像问答数据集。最初的版本是中文,然后翻译成英文。 [1]还通过人工标记创建了图像问答数据集。他们不仅收集了真实图像的问题和答案,还收集了抽象场景的问题和答案。

  文献中提出了几种图像问答模型

  • [18]使用语义解析器和图像分割方法来预测基于图像和问题的答案。
  • [19,7]都使用编码器-解码器框架来生成给定图像和问题的答案。他们首先使用LSTM对图像和问题进行编码,然后使用另一个LSTM对答案进行解码。他们都将图像特征提供给每个LSTM单元。
  • [21]提出了几种基于神经网络的模型,包括基于编码器-解码器的模型,分别使用单向LSTM和双向LSTM。然而,作者发现图像特征和词袋特征的串联效果最好。
  • [1]首先使用LSTM对问题进行编码,然后通过逐元素乘法将问题向量与图像向量进行组合。
  • [17]使用CNN进行问题建模,并使用卷积运算来组合问题向量和图像特征向量。

第4节中,我们将SAN与这些模型进行了比较。

  据我们所知,注意力机制已经非常成功地用于图像字幕制作,但尚未针对图像问答进行探索。 SAN使注意力机制适应了图像问答,并且可以看作是对先前模型的重要扩展[30], 因为多个注意力层用于支持图像问答任务的多步推理

3. Stacked Attention Networks (SANs)

  SAN的总体架构如图1a所示。 在本节中,我们将描述SAN的三个主要组件:图像模型,问题模型和堆叠注意力模型。

3.1. Image Model

  图像模型使用CNN [13、23、26]来获取图像表示。具体来说,VGGNet [23]用于从原始图像 I I I中提取图像特征图 f I f_I fI
在这里插入图片描述
与以前的研究[21、17、7]使用最后一个内部产品层的特征不同,我们从最后一个合并层中选择特征 f I f_I fI,该特征保留了原始图像的空间信息。我们首先将图像重新缩放为 448 × 448 448×448 448×448像素,然后从最后的合并层获取特征,因此其尺寸为 512 × 14 × 14 512×14×14 512×14×14,如图2所示。 14 × 14 14×14 14×14是区域数在图像中,512是每个区域的特征向量的维。因此, f I f_I fI中的每个特征向量对应于输入图像的 32 × 32 32×32 32×32像素区域。我们用 f i f_i fi, i ∈ [ 0 , 195 ] i\in[0,195] i[0,195]表示每个图像区域的特征向量。

  然后,为了方便建模,我们使用单层感知器将每个特征向量转换为与问题向量具有相同维度的新向量(在第3.2节中进行了描述):
v I = t a n h ( W I f I + b I ) ( 2 ) v_I=tanh(W_If_I+b_I) \hspace{1cm} (2) vI=tanh(WIfI+bI)(2)
其中 v I v_I vI是矩阵,第 i i i v i v_i vi是由 i i i索引的区域的视觉特征向量。

3.2. Question Model

  [25,22,6]表明LSTM和CNN可以强大地捕获文本的语义,因此我们在本研究中探索了两种用于表示问题的模型。

3.2.1 LSTM based question model

在这里插入图片描述
  LSTM单元的基本结构是保留序列状态的存储单元 c t c_t ct。 在每一步中,LSTM单元获取一个输入向量(在本例中为字向量) x t x_t xt并更新存储单元 c t c_t ct,然后输出隐藏状态 h t h_t ht。 更新过程使用门机制。 遗忘门 f t f_t ft控制从过去状态 c t − 1 c_{t-1} ct1保留多少信息。 输入门控制当前输入 x t x_t xt更新存储单元的量。 输出门 o t o_t ot控制将多少存储器信息作为隐藏状态馈送到输出。 详细的更新过程如下:
在这里插入图片描述
其中 i 、 f 、 o 、 c i、f、o、c ifoc分别是输入门,忘记门,输出门和存储单元。 权重矩阵和偏差是LSTM的参数,可从训练数据中学习。

  给定问题 q = [ q 1 , . . . q T ] q = [q_1,... q_T] q=[q1...qT],其中 q t q_t qt是位置 t t t处单词的一个热向量表示,我们首先通过嵌入矩阵 x t = W e q t x_t = W_eq_t xt=Weqt将单词嵌入向量空间。 然后,对于每个时间步,我们将问题中单词的嵌入向量提供给LSTM:
在这里插入图片描述
  如图3所示,将问题放在自行车的篮子中的问题输入LSTM。 然后将最终的隐藏层作为问题的表示向量,即 v Q = h T v_Q = h_T vQ=hT

3.2.2 CNN based question model

在这里插入图片描述
  在这项研究中,我们还尝试使用类似于[11]的CNN来表示问题。 类似于基于LSTM的问题模型,我们首先将单词嵌入向量 x t = W e q t x_t = W_eq_t xt=Weqt中,然后通过串联词向量获得问题向量:
在这里插入图片描述
然后我们对词嵌入向量进行卷积运算。 我们使用了三个卷积滤波器,它们的大小分别为1(unigram),2(bigram)和3(trigram)。 使用窗口大小c的第t卷积输出由下式给出:
在这里插入图片描述
该过滤器仅应用于大小为 c c c的窗口$ t:t + c-1$。 W c W_c Wc是卷积权重, b c b_c bc是偏差。 卷积大小为 c c c的滤波器的特征图由下式给出:
在这里插入图片描述
  然后,我们在卷积大小c的特征图上应用最大池,并将其表示为:
在这里插入图片描述
这些向量的最大池化是按坐标进行的最大运算。 对于不同大小c = 1,2,3的卷积特征图,我们将它们连接起来以形成整个疑问句的特征表示向量:
在这里插入图片描述
因此 v Q = h v_Q = h vQ=h是基于CNN的问题向量。

  有问题的CNN模型图如图4所示。分别以红色,蓝色和橙色绘制字母组合,二元组和三字母组合的卷积和合并层。

3.3. Stacked Attention Networks

  给定图像特征矩阵 v I v_I vI和问题特征向量 v Q v_Q vQ,SAN可通过多步推理来预测答案
  在许多情况下,答案仅与图像的一小部分有关。 例如,在图1b中,尽管图像中有多个对象:自行车,篮子,窗户,街道和狗,但问题的答案仅与狗有关。 因此,由于从与潜在答案无关的区域引入的噪声,使用一个全局图像特征向量预测答案可能会导致结果欠佳。 取而代之的是,SAN可以通过多个注意层逐步进行推理,从而能够逐渐滤除噪声并查明与答案高度相关的区域。

  给定图像特征矩阵 v I v_I vI和问题向量 v Q v_Q vQ,我们首先将它们通过单层神经网络输入,然后再通过softmax函数生成图像区域上的注意力分布
在这里插入图片描述
其中 v I ∈ R d × m v_I\in R^{d×m} vIRd×m d d d是图像表示维度, m m m是图像区域数, v Q ∈ R d v_Q\in R^d vQRd d d d维向量。 假设 W I , A , W Q , A ∈ R k × d W_{I,A},W_{Q,A}\in R^{k×d} WI,AWQ,ARk×d W P ∈ R 1 × k W_P \in R^{1×k} WPR1×k p I ∈ R m p_I\in R^m pIRm是一个 m m m维向量,对应于给定 v Q v_Q vQ的每个图像区域的关注概率。 注意,我们用 ⊕ ⊕ 表示矩阵和向量的加法。 由于 W I , A v I ∈ R k × m W_{I,A}v_I\in R^{k×m} WI,AvIRk×m W Q , A v Q , b A ∈ R k W_{Q,A}v_Q,b_A\in R^k WQ,AvQbARk都是向量,因此矩阵和向量之间的加法是通过将向量的矩阵的每一列相加来进行的。

  基于注意力分布,我们计算图像矢量的加权总和,每个图像矢量均来自区域 v ~ i \widetilde{v}_i v i,如方程式17中所示。然后,将 v ~ i \widetilde{v}_i v i与问题向量 v Q v_Q vQ结合起来,形成一个精确的查询向量 u u u,如方程式18中所示。 u u u被认为是一种改进的查询,因为它既编码问题信息又编码与潜在答案相关的视觉信息:
在这里插入图片描述

与简单地将问题向量和全局图像向量组合在一起的模型相比,注意力模型可以提供更多信息,因为对与问题更相关的视觉区域施加了更高的权重。 但是,对于复杂的问题,单个关注层不足以定位正确的区域以进行答案预测。 例如,图1中的问题“什么坐在自行车的篮子里”是指图像中多个对象之间的一些微妙关系。 因此,我们使用多个注意层来迭代上述查询注意过程,每个层都提取更多细粒度的视觉注意信息以进行答案预测。 SAN正式采用以下公式:对于第 k k k个关注层,我们计算:
在这里插入图片描述
其中 u 0 u^0 u0初始化为 v Q v_Q vQ。 然后将聚合的图像特征向量添加到先前的查询向量中,以形成新的查询向量:
在这里插入图片描述
  也就是说,在每一层中,我们使用合并的问题和图像矢量 u k − 1 u^{k-1} uk1作为图像查询。 选取图像区域后,我们将新查询向量更新为 u k = v ~ I k + u k − 1 u^k=\widetilde{v}_I^k+u^{k-1} uk=v Ik+uk1。 我们重复此 K K K次,然后使用最终的 u K u^K uK推断答案:
在这里插入图片描述
  图1b通过示例说明了推理过程。 在第一个注意层中,模型大致识别与篮子,自行车和就座区域相关的区域。在第二个注意层中,模型更清晰地关注与应答狗相对应的区域。 更多示例可以在第4节中找到。

4. Experiments

4.1. Data sets

  我们根据四个图像问答数据集评估SAN

  · DAQUAR-ALL在[18]中提出。共有6 795个培训问题和5 673个测试问题。这些问题分别在795和654图像上生成。图像主要是室内场景。这些问题分为三种类型,包括对象,颜色和数字。大多数答案都是单字。按照[21、17、19]中的设置,我们排除具有多个单词答案的数据样本。其余数据集覆盖原始数据集的90%。

  · DAQUAR-REDUCED是DAQUAR-ALL的简化版本。有3,876个训练样本和297个测试样本。该数据集被限制为37个对象类别,并且仅使用25个测试图像。单个单词答案数据集覆盖原始数据集的98%。

  · 在[21]中提出了COCO-QA。基于Microsoft COCO数据集,作者首先使用现成的解析器解析图像的标题,然后将标题中的关键组件替换为形式问题的疑问词。数据集中有78736个训练样本和38948个测试样本。这些问题分别基于8,000和4,000张图像。有四种类型的问题,包括对象,数字,颜色和位置。每种类型分别占整个数据集的70%,7%,17%和6%。此数据集中的所有答案都是单个单词。

  · VQA是通过人工标记创建的[1]。数据集使用COCO图像标题数据集[16]中的图像。与其他数据集不同,每个图像有三个问题,每个问题有十个由人类注释者标记的答案。数据集中有248、349个培训问题和121、512个验证问题。根据[1],我们使用前1000个最常见的答案作为可能的输出,并且这组答案覆盖了所有答案的82.67%。我们首先在验证集上研究了提出的模型的性能。按照[6],我们将验证数据集分为两半,val1和val2。我们使用训练集和val1进行训练和验证,使用val2进行本地测试。 val2集的结果报告在表6中。我们还在[1]中提供的标准测试服务器上评估了最佳模型SAN(2,CNN),并在表5中报告了结果。

4.2. Baselines and evaluation methods

  我们将我们的模型与最近在图像问答中建议的一组基线[21、1、18、19、17]进行比较。由于这些基线的结果在不同文献中的不同数据集上都有报道,因此我们在不同表中的不同数据集上展示了实验结果。

  对于所有四个数据集,由于大多数答案都是单个单词,因此我们将图像问答公式化为分类问题。我们使用[1、21、19]中报告的分类准确性评估模型。参考模型还报告了Wu-Palmer相似度(WUPS)度量[29]。 WUPS度量根据分类树中最长的公共子序列来计算两个单词之间的相似度。我们可以为WUPS设置一个阈值,如果相似度小于阈值,则将其清零。遵循参考模型,除了分类准确性之外,我们还将WUPS0.9和WUPS0.0用作评估指标。对VQA数据集的评估不同于其他三个数据集,因为对于每个问题,有十个答案标签可能相同或不同。我们遵循[1]使用以下度量:min(#与该答案匹配的人类标签/ 3,1),当十个人类标签中的三个或三个以上与答案匹配并给出部分信用时,它基本上可以完全归因于该答案如果匹配较少。

4.3. Model configuration and training

  对于图像模型,我们使用VGGNet提取特征。训练SAN时,VGGNet的CNN的参数集是固定的。我们将最后一个合并层的输出作为图像特征,尺寸为512×14×14。

  对于DAQUAR和COCO-QA,我们在问题模型中将单词嵌入维和LSTM的维设置为500。对于基于CNN的问题模型,我们将unigram,bigram和trigram卷积滤波器的大小分别设置为128、256、256。这些过滤器的组合使问题向量的大小为640。对于VQA数据集,由于它比其他数据集大,因此我们将LSTM和CNN的模型大小加倍,以容纳较大的数据集和大量的类别。在评估中,我们使用具有一个和两个关注层的SAN进行实验。我们发现使用三个或更多注意层并不能进一步提高性能。

  在我们的实验中,所有模型都是使用动量为0.9的随机梯度下降训练的。批量大小固定为100。使用网格搜索可以选择最佳学习率。使用了梯度裁剪技术[8]和滤除[24]。

4.4. Results and analysis

  表1至6分别显示了DAQUAR-ALL,DAQUARREDUCED,COCO-QA和VQA的实验结果。我们的模型名称解释了它们的设置:SAN是建议的堆叠式关注网络的缩写,括号中的值1或2分别表示使用一个或两个关注层。关键字LSTM或CNN指SAN使用的问题模型。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  表1至表6中的实验结果表明,两层SAN在所有数据集上给出了最佳结果,而SAN中的两种问题模型LSTM和CNN表现出相似的性能。例如,在DAQUAR-ALL(表1)上,两个拟议的SAN均优于两个最佳基准,即[17]中的IMGCNN和[19]中的Ask-Your-Neuron,绝对值分别为5.9%和7.6%。在准确性方面。在WUPS0.9和WUPS0.0的指标中观察到了类似的改进范围。我们还观察到DAQUAR-REDUCED的显着改进(表2),即我们的SAN(2,LSTM)优于IMG-CNN [17],2-VIS + BLSTM [21],Ask-Your-Neurons方法[ 19]和Multi-World [18]的绝对准确度分别为6.5%,10.4%,11.5%和33.5%。在较大的COCO-QA数据集上,建议的两层SAN明显优于[17](IMG-CNN)和[21](IMG + BOW和2-VIS + BLSTM)的最佳基准,分别为5.1%和6.6%准确性(表3)。表5总结了VQA上各种模型的性能,这是四个数据集中最大的。总体结果表明,我们的最佳模型SAN(2,CNN)优于LSTM Q + I模型(绝对值是[1]中的最佳基准)4.8%。在所有四个基准测试中,SAN的出色性能证明了使用多层注意力的有效性。

  为了详细研究SAN的优势和劣势,我们分别在表4和表5中的两个大型数据集COCO-QA和VQA上报告了问题类型级别的性能。我们观察到,与两个最佳基准IMG + BOW和2-VIS + BLSTM相比,在COCOQA上,最佳模型SAN(2,CNN)的颜色问题类型提高了7.2%,其次是对象,为5.7%(5.7)位置百分比和数量百分比4.2%。我们观察到VQA改进的类似趋势。如表5所示,与最佳基准LSTM Q + I相比,SAN(2,CNN)的最大改进是其他类型,为9.7%,其次是数量上的1.4%和是/上的0.4%。没有。请注意,VQA中的“其他”类型是指通常具有“什么颜色,什么种类,什么,什么类型,什么类型,在哪里”等形式的问题,类似于COCO-QA中的颜色,对象和位置的问题类型。 VQA数据集具有特殊的是/否类型的问题。 SAN仅会稍微改善此类问题的性能。这可能是因为,对“是/否”的答案非常依赖于问题,因此更好地可视化信息建模不会带来太多额外收益。这也证实了[1]中报告的类似观察结果,例如,使用其他图像信息仅会稍微改善Yes / No(如是/否)中的性能,如表5中的Q + I与问题以及LSTM Q + I与LSTM Q所示。

  我们的结果清楚地表明了使用多个关注层的积极影响。 在所有四个数据集中,两层SAN总是比一层SAN表现更好。 具体来说,在COCO-QA上,平均而言,两层SAN在颜色类型方面胜过一层SAN,在颜色类型方面胜过2.2%,在位置和对象类别中分别胜过1.3%和1.0%,然后在数量方面胜过0.4%。 这与SAN相对于基线的改进顺序保持一致。 在VQA上也观察到了类似的趋势(表6),例如,对于其他类型的问题,两层SAN相对于一层SAN改善了1.4%,随后Number改善了0.2%,是/否则保持不变。

4.5. Visualization of attention layers

  在本节中,我们将进行分析以证明使用多个关注层执行多步推理可以在定位与潜在答案相关的区域时逐层提供更细粒度的关注。我们通过可视化来自COCO-QA测试集的图像样本集中的注意层的输出来实现。请注意,注意力概率分布的大小为14×14,原始图像的大小为448×448,我们对注意力概率分布进行上采样并应用高斯滤波器使其大小与原始图像相同。

  图5给出了六个示例。附录中提供了更多示例。它们涵盖的类型广泛,包括对象,数字,颜色和位置。对于每个示例,从左到右的三个图像分别是原始图像,第一注意层的输出和第二注意层的输出。图像的明亮部分是检测到的注意力。在所有这些示例中,我们看到在注意力的第一层中,注意力分散在图像中的许多对象上,在很大程度上与问题中引用的对象和概念相对应,而在第二层中,注意力则更多地集中在导致正确答案的区域。例如,考虑以下问题:角的颜色是什么,在图5(f)中询问了女人头上的角的颜色。在第一注意层的输出中,模型首先识别图像中的女性。在第二个注意层的输出中,注意力集中在女人的头上,这导致了问题的答案:角的颜色是红色。

4.6. Errors analysis

  我们从COCO-QA测试集中随机抽取了100张SAN出错的图像。 我们将错误分为四类
(i)SAN将注意力集中在错误区域(22%)上,例如,图6(a)中的示例;
(ii)SAN集中在正确的区域,但预测错误的答案(42%),例如,图6(b) ( c)(d)中的示例;
(iii)答案模棱两可,SAN给出的答案与标签不同,但可以接受(31%)。 例如,在图6(e)中,答案标签是“ pot”,但模型预测是"vase",这在视觉上也是合理的;
(iv)标签明显错误(5%)。 例如,在图6(f)中,我们的模型给出了正确的答案"trains",而标签"cars"是错误的。
在这里插入图片描述
在这里插入图片描述

5. Conclusion

  在本文中,我们提出了一种用于图像问答的新的堆叠注意力网络(SAN)。 SAN使用多层注意力机制,该机制多次查询图像以找到相关的可视区域并逐步推断答案。 实验结果表明,在所有四个图像QA数据集上,拟议的SAN显着优于以前的最新方法。 注意层的可视化进一步说明了SAN将注意力集中到导致逐层回答问题的相关视觉线索的过程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值