Stacked Attention Networks for Image Question Answering(用于图像问答的堆叠注意力网络)

Abstract

This paper presents stacked attention networks (SANs) that learn to answer natural language questions from images. SANs use semantic representation of a question as query to search for the regions in an image that are related to the answer . We argue that image question answering (QA) often requires multiple steps of reasoning. Thus, we develop a multiple-layer SAN in which we query an image multiple times to infer the answer progressively. Experiments conducted on four image QA data sets demonstrate that the proposed SANs significantly outperform previous state-of-the-art approaches. The visualization of the attention layers illustrates the progress that the SAN locates the relevant visual clues that lead to the answer of the question layer-by-layer.

1.introduction

  随着计算机视觉和自然语言处理(NLP)的发展,图像问答(QA)成为最活跃的研究领域之一。与自然语言处理社区广泛研究的基于纯语言的问答系统不同,图像问答系统被设计为根据参考图像的内容自动回答自然语言问题。
  一种常用的方法是使用CNN提取全局图像特征向量,并使用LSTM将相应的问题编码为特征向量,然后将它们结合起来推断答案。但如果问题与图像中一组细粒度问题相关,则往往无法给出精确答案。
  有些情况需要从图像回答问题需要多步骤推理。以图1中的问题和图像为例。

  在本文中,提出了堆叠注意力网络(SAN),允许对image QA进行多步骤推理。SAN可以被视为注意力机制的扩展。它的总体架构如图1a所示。SAN由三个主要部分组成:(1)图像模型,该模型使用CNN提取高级图像表示,例如,图像的每个区域一个向量;(2) 问题模型,使用CNN或LSTM提取问题的语义向量;(3)堆叠注意力模型,通过多步骤推理,定位与问题相关的图像区域以进行答案预测。如图1a所示,SAN首先使用问题向量在第一视觉注意层中查询图像向量,然后将问题向量和检索到的图像向量组合以形成细化的查询向量,以在第二注意层中再次查询图像向量。更高层次的注意力层提供了更清晰的注意力分布,集中在与答案更相关的区域。最后,我们将来自最高注意层的图像特征与最后一个查询向量相结合来预测答案。
  作者工作的主要贡献有三个方面。首先,提出了一种用于图像问答任务的堆叠注意力网络。其次,对四个图像质量保证基准进行了全面评估,结果表明,所提出的多层SAN的性能大大优于以前最先进的方法。第三,执行了详细的分析,其中可视化了SAN不同注意力层的输出,并演示了SAN采取多个步骤逐步将注意力集中在导致答案的相关视觉线索上的过程。

2. 相关工作 略

3.堆叠注意力网络(SAN)

  SAN的三个主要组件:图像模型、问题模型和堆叠注意力模型。

3.1 图像模型

  图像模型使用CNN来获得图像的表示。具体而言,VGGNet用于从原始图像I中提取图像特征映射fI:

  与之前使用最后一个内积层的特征的研究不同,我们从最后一个池化层中选择特征fI,它保留了原始图像的空间信息。首先将图像重新缩放为448×448像素,然后从最后一个池化层中提取特征,因此其尺寸为512×14×14,如图2所示。14×14是图像中的区域数,512是每个区域的特征向量维数。因此,fI中的每个特征向量对应于输入图像的32×32像素区域。我们用fi表示每个图像区域的特征向量,i∈ [0,195]。
在这里插入图片描述
  为了建模方便,使用单层感知器将每个特征向量转换为与问题向量具有相同维数的新向量。
在这里插入图片描述
  其中vI是矩阵,其第i列vi是由i索引的区域的视觉特征向量。

3.2 问题模型

3.2.1 基于LSTM的问题模型

  LSTM单元的基本结构是保留序列状态的存储单元ct。在每一步中,LSTM单元获取一个输入向量(本例中为文字向量)xt并更新存储单元ct,然后输出隐藏状态ht。更新过程使用门机制。遗忘门ft控制来自过去状态ct-1的信息量是否保留。一个输入门,它控制当前输入xt更新存储单元的量。输出门ot控制将内存的多少信息作为隐藏状态馈送到输出。具体更新过程:
在这里插入图片描述
  其中i、f、o、c分别是输入门、忘记门、输出门和存储单元。权重矩阵和偏差是在训练集上学习的LSTM的参数。
  给定问题q=[q1,…qT],qT是单词在位置t处的一个独热向量表示,首先通过嵌入矩阵xt=Weqt将单词嵌入向量空间。然后,对于每个时间步,将问题中单词的嵌入向量馈送给LSTM:
在这里插入图片描述
  如图3所示,自行车篮子里坐着什么的问题被输入LSTM。将最终隐藏层hT作为问题的表示向量。
在这里插入图片描述

3.2.2 基于CNN的问题模型

  与基于LSTM的问题模型类似,我们首先将单词嵌入向量xt=Weqt,并通过连接单词向量来获得问题向量:
在这里插入图片描述
  然后对文字嵌入向量进行卷积运算。我们使用了三个卷积滤波器,其大小分别为一、二和三。使用窗口大小c的第t个卷积输出由以下公式得出:
在这里插入图片描述
  卷积大小为c的滤波器的特征图如下所示:
在这里插入图片描述
  在卷积大小为c的特征映射上应用最大池,并将其表示为:
在这里插入图片描述
  对于不同大小的卷积特征映射c=1、2、3,我们将它们串联起来,形成整个问题句的特征表示向量:
在这里插入图片描述
  因此,h就是基于CNN的问题向量。问题的CNN模型图如图4所示。

3.3 SAN

  在许多情况下,答案只与图像的一小部分相关。例如,在图1b中,尽管图像中有多个对象,但问题的答案仅与狗有关。因此,使用一个全局图像特征向量预测答案可能会导致次优结果,因为噪声来自与潜在答案无关的区域。相反,通过多个注意层逐步进行推理,SAN能够逐渐滤除噪声并精确定位与答案高度相关的区域。
  给定图像特征矩阵vI和问题向量vQ,首先通过单层神经网络,然后通过softmax函数来生成图像区域上的注意力分布:
在这里插入图片描述
  ⊕表示矩阵和向量的加法。矩阵和向量之间的加法是通过将矩阵的每一列与向量相加来实现的。
  基于注意力分布,我们计算每个区域的图像向量的加权和。然后,我们将vi与问题向量vQ相结合,形成一个精确的查询向量u。u编码了问题信息和与潜在答案相关的视觉信息。
在这里插入图片描述
  对于复杂的问题,单个注意层不足以定位正确的答案预测区域。因此,我们使用多个注意力层迭代上述查询注意力过程,每个层提取更细粒度的视觉注意力信息以进行答案预测。SAN采用以下公式:对于第k个注意层:
在这里插入图片描述
  其中u0初始化为vQ。然后,将聚合的图像特征向量添加到上一个查询向量中,以形成新的查询向量:
在这里插入图片描述
  在选取图像区域后,将新的查询向量更新为uk=vkI+uk−1.我们重复这K次,然后使用最终的uK来推断答案:
在这里插入图片描述
  图1b通过示例说明了推理过程。在第一个注意力层中,该模型大致确定了与篮子、自行车和坐姿相关的区域。在第二个注意层中,该模型更加关注与答案对应的区域。

4.实验

4.1 数据集

  在四个数据集上评估了SAN。
  DAQUAR-ALL:共有6795道训练题和5673道测试题。这些问题分别在795和654张图像上产生。这些图像主要是室内场景。问题分为物体、颜色和数字三类。大多数答案都是单字。我们排除了具有多个单词答案的数据样本。剩下的数据覆盖了原始数据集的90%。
  DAQUAR-REDUCED:DAQUAR-ALL的简化版本。有3876个训练样本和297个测试样本。该数据集被限制为37个对象类别,仅使用25个测试图像。单词答案数据集覆盖了原始数据集的98%。
  COCO-QA:基于Microsoft COCO数据集,作者首先使用现成的解析器解析图像的标题,然后用形式问题的问题词替换标题中的关键组件。数据集中有78736个训练样本和38948个测试样本。这些问题分别基于8000和4000张图像。有四种类型的问题,包括物体、数字、颜色和位置。每种类型分别占整个数据集的70%、7%、17%和6%。该数据集中的所有答案都是单个单词。
  VQA:是通过人类标记创建的。该数据集使用COCO图像字幕数据集中的图像。与其他数据集不同,每个图像有三个问题,每个问题有十个答案,由人类注释者标记。数据集中有248349个训练问题和121512个验证问题。我们使用前1000个最常见的答案作为可能的输出,这组答案覆盖了所有答案的82.67%。我们首先研究了该模型在验证集上的性能。将验证数据集分成两半,val1和val2。我们使用训练集和val1进行训练和验证,val2进行局部测试。表6中报告了val2集的结果。我们还在VQA平台提供的标准测试服务器上评估了最佳模型SAN(2,CNN),并将结果报告在表5中。

4.2 Baseline和评估方法

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

4.4结果与分析

  在DAQUAR-ALL、DAQUAREDUCED、COCO-QA和VQA上的实验结果如表所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5 注意力层可视化

  我们进行了分析,以证明使用多个注意力层来执行多步骤推理可以在定位与潜在答案相关的区域时逐层产生更细粒度的注意力。我们通过可视化COCO-QA测试集中图像样本集注意力层的输出来实现这一点。

4.6 误差分析

  我们从COCO-QA测试集中随机抽取了100张SAN出错的图像。我们将错误分为四类:(i)SAN将注意力集中在错误的区域(22%)(ii)SAN关注正确的区域,但预测错误的答案(42%)(iii)答案不明确,SAN给出的答案不同于标签,但可能可以接受(31%)。(iv)标签明显错误(5%)。

5.结论

  在本文中,我们提出了一种新的用于图像质量保证的堆叠注意力网络(SAN)。SAN使用多层注意力机制,多次查询图像以定位相关视觉区域并逐步推断答案。实验结果表明,提出的SAN在所有四种图像质量保证数据上都显著优于以前的现有状态方法。


Yang Z, He X, Gao J, et al. Stacked attention networks for image question answering[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 21-29.
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 堆沙漏网络Stacked Hourglass Networks)是一种用于人体姿态估计的深度学习模型。它由多个沙漏模块(Hourglass Module)堆而成,每个沙漏模块都包含了卷积神经网络和池化层,用于提取特征。堆沙漏网络的优点是可以对不同尺度的特征进行处理,从而提高了姿态估计的准确性。 ### 回答2: Stacked Hourglass Networks (SHN)是一种用于图像分割和人体姿势估计的神经网络结构,由卡内基梅隆大学和康奈尔大学的研究人员于2016年提出。SHN通过多层级的堆半监督网络,在对输入图像进行多尺度特征提取的同时实现了高分辨率的姿态估计。 SHN主要由两部分构成:堆的小型Hourglass网络和批量标准化(BN)。Hourglass网络是指由多层卷积层和上采样层、下采样层构成的一个可编程的Block,用于具体化姿态估计的操作。堆在一起的小型Hourglass网络在不同的分辨率和空间上进行特征提取,以共同实现最终的分割和姿态估计结果。批量标准化是一种用于规范化网络输入和加速网络收敛的技术。 SHN对于图像分割和人体姿势估计具有较高的准确率和鲁棒性。采用上述网络结构进行人体姿势估计,可优化难度较大的人体部位之间的相互作用和相互影响,使得姿态估计的精度和稳定性得到了显著提高,在肢体遮挡、图像噪声和背景复杂等困难情况下也可以取得良好的表现。 总之,作为一种多层级、半监督的神经网络结构,SHN在图像分割和人体姿势估计中发挥着越来越重要的作用,也为相关领域的研究和应用提供了一个重要的思路和工具。 ### 回答3: Stacked Hourglass Networks是一个先进的计算视觉网络用于实现人类关键点检测和姿势估计。与其他现有的方法相比,它具有更准确,更可重复和更快速的输出。该模型通过串联8个Hourglass模块构建,Hourglass模块是特殊的卷积神经网络,可以对图像进行多次分辨率下采样和上采样以提高输出精度。这些模块也具有回归和分类头,能够同时预测关键点的位置和姿势。Stacked Hourglass Networks 模型已经在许多场景中取得成功,如动态手势识别、行人关键点检测和3D姿态估计等。 Stacked Hourglass Networks的核心思想基于卷积神经网络图像金字塔技术。在处理人体关键点检测时,由于人的姿势会因为动态变化和视角变换而导致关键点位置的不稳定性。因此,处理这个任务的模型需要在不同的尺度下检测关键点和姿势。Stacked Hourglass Networks通过多个Hourglass模块的串联,每个模块将输入图像分别经过多次下采样和上采样,产生一系列不同尺度的特征图。这些特征图经过回归和分类头进行训练和预测,最后合成出整个图像输入的关键点和姿势输出。 Stacked Hourglass Networks模型具有许多优点,如精度高,稳健,具有可解释性等。在实际应用中已经取得了很好的效果。未来,Stacked Hourglass Networks模型仍然有很大的研究空间,可以通过各种改进和方法来提高性能,同时可以将其用于更多的视觉任务中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值