Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering论文阅读笔记

摘要

自上而下的注意力机制已广泛应用于图像描述和视觉问答(VOA)中,以通过细粒度分析(fine-grained analysis)甚至多个推理步骤实现更深入的图像理解。在这项工作中,本文作者提出一种自上而下和自下而上相结合的注意力机制,可以在对象和其他显著图像区域的级别上计算注意力。这是考虑注意力的自然基础。在我们的方法中,自下而上的机制(基于Faster R-CNN)提出图像区域,每个区域都有一个关联的特征向量,而自上而下的机制确定特征权重。将这种方法应用于图像描述,在MS COCO在线服务器上的结果为该任务建立了新的先进水平,将相同的方法应用于图像问答VOA,在2017年的VOA挑战赛中获得了第一名。
在这里插入图片描述

介绍

在人类的视觉系统中,注意力可以通过当前任务(例如寻找某物)确定自上而下的信号来自愿集中,也可以通过与意外的,新颖的或显著的刺激相关的自下而上的信号自动地集中。在本文中,作者采用类似的术语,**将非视觉或特定任务上下文驱动的注意力机制称为“自上而下”,将纯视觉前馈注意力机制称为“自下而上”。**图像描述和VQA中使用的大多数传统视觉注意机制都是自上而下的。将部分完成的描述输出的表示或与图像相关的问题作为上下文,这些机制通常经过训练以选择性地处理卷积神经网络的一层或多层的输出。然而,这种方法很少考虑如何确定受关注的图像区域。如图1所示:输入区域对应于大小和形状相同的神经感受野的统一网格——无论图像的内容如何,为了生成更接近人来的描述和标题答案,对象和其他显著图像区域是注意力更自然的基础。
在这里插入图片描述

本文的贡献

  1. 在本文中,作者提出了一种自下而上和自上而下相结合的视觉注意力机制。自下而上的机制提出了一组显著图像区域,每个区域由池化卷积特征表示。实际上,作者使用Faster R-CNN实现自下而上的注意力,它代表了自下而上注意力机制的自然表达。
  2. 自上而下的机制使用特定于任务的上下文来预测图像区域上的注意力分布,然后将关注的特征向量计算为所有区域的图像特征的加权平均值。
  3. 本文评估了将自上而下和自下而上注意力相结合对两项任务的影响。

Approach(方法)

给定一个图像I,本文的图像描述模型和VQA模型都将可能大小可变的k个图像特征集作为输入。V={ v 1 v_1 v1,…, v k v_k vk}, v i v_i vi R D R^D RD,使得每个图像特征编码图像的显著区域。空间图像特征V可以被不同地定义为自下而上注意力模型的输出,或者按照标准做法,定义为CNN的空间输出层。对于自下而上注意力机制,两个模型都是用简单的one-pass attention。

Bottom-up Attention Model

空间图像特征V的定义是通用的。然而,在这项工作中,作者根据边界框定义空间区域,并使用Faster R-CNN实现自下而上的注意力。Faster R-CNN是一种目标检测模型,旨在识别某些类别的对象实例并使用边界框对其进行定位。其他的region proposal networks也可以被训练为注意力机制。
Faster R-CNN分两个阶段检测物体,第一阶段被描述为Region Proposal Network(RPN),预测object proposals。一个小型网络在CNN中间层的特征上滑动。在每个空间位置,网络都会预测与类别无关的对象分数以及多个尺度和纵横比的锚框的边界框细化。使用具有IoU阈值的greedy non-maximum suppression(贪婪非极大抑制),选择the top box proposals作为第二个阶段的输入。在第二阶段,使用region of interest(RoI)池化为每个box proposal提取一个小特征图(例如14×14)。然后,这些特征图被批处理在一起,作为CNN最后层的输入。模型的最终输出由类标签上的softmax分布和每个box proposal的特定于类的边界框细化组成。
在这项工作中,作者将Faster R-CNN与ResNet-101 CNN结合使用。为了生成图像特征V的输出集以用于图像描述或VQA,本文获取模型的最终输出,并使用IoU阈值对每个对象类执行非极大值抑制。然后,作者选择任何class detection概率超过置信阈值的所有区域。对于每个选定的区域i, v i v_i vi被定义为来自该区域的平均池化卷积特征,使得图像特征向量的维度D为2048。以这种方式使用,Faster R-CNN有效地充当“硬”注意力机制,因为从大量可能的配置中仅选择相对少量的图像边界框特征。
在这里插入图片描述

为了预训练自下而上的注意力模型,作者首先使用经过预训练的ResNet-101初始化Faster R-CNN,以便在ImageNet上进行分类。然后作者使用Visual Genome(视觉基因组)数据进行训练。为了帮助学习良好的特征表示,作者还添加了额外的训练输出来预测属性类(除了对象类之外)。(对象类指的是图像中所包含的物体的种类或类型,例如猫、狗、汽车等。而属性类别则是描述物体的特征或属性,可以是与物体外观、性质、状态等相关的特征。例如,对于猫这个物体,它可能具有属性类别如“有尾巴”、“有毛发”、“站立”等。属性类别通常不仅仅描述物体的种类,而是对物体更细致的描述,可以用来进一步理解物体的特征和行为。)为了预测区域i的属性,作者将平均池化卷积特征 v i v_i vi与学习到的真实目标类的嵌入连接起来(这里的学习到的真实目标类的嵌入,就是第二个LSTM先前生成的单词的编码),并将其输入到附加输出层,该输出层定义每个属性类加上“无属性”类的softmax分布。
在这里插入图片描述
原始的Faster R-CNN多任务损失函数包含四个组件,分别针对RPN和最终object class proposals的分类和边界框回归输出进行定义。作者保留这些组件并添加额外的多类损失组件来训练属性预测器。在下图2中,提供了一些模型输出的示例:
在这里插入图片描述
在这里插入图片描述

Captioning Model

给定一组图形特征V,作者提出的图像描述模型使用“软”自上而下注意力机制在图像描述生成过程中对每个特征进行加权,使用现有的部分输出序列作为上下文。这个方法和之前的show,attend and tell等论文提到的大致相似。但是,下面概述的特定设计形成了相对简单但高性能的极限模型。即便没有自上而下的注意力,本文的模型也能在大多数评价指标上达到与最先进水平相当的性能。如下表1:
在这里插入图片描述
在较高层面上,描述模型由两个使用标准实现的LSTM层组成。在接下来的部分中,本文将使用以下符号来参考LSTM在单个时间步上的操作:
在这里插入图片描述
其中 x t x_t xt是LSTM的输入向量, h t h_t ht是LSTM的输出向量。这里为了符号方便,忽略了memory cells的传播。接下来描述模型每一层的LSTM输入向量 x t x_t xt和输出向量 h t h_t ht的公式,整体的描述模型如下图3所示(下面式子看完就知道这个图是怎么回事了):
在这里插入图片描述

Top-Down Attention LSTM(自上而下的注意力LSTM)

在描述模型中,本文将第一个LSTM层作为自上而下的视觉注意力模型(对特征进行加加权)。并且第二个LSTM层作为语言模型(输出描述词序列),在后面的方程中用上标指示每一层。请注意:在3.1节描述了自下而上的注意力模型,在本节中,自下而上的注意力模型的输出被简单地视为特征V。每个时间步的注意力LSTM的输入向量 x t x_t xt由语言LSTM(也就是第二个LSTM)的先前输出组成,与mean-pooled图像特征 v ‾ \overline{v} v=1/k ∑ i ∑_i i v i v_i vi和先前生成的单词的编码相连接,式子如下:
在这里插入图片描述
其中 W e W_e We R E × ∣ ∑ ∣ R^{E×|∑|} RE×是词汇表∑的词嵌入矩阵, Π t Π_t Πt是输入词在时间步t的one-hot编码。这些输入分别为注意力LSTM(第一个LSTM层)提供了有关语言LSTM(第二个LSTM层)的状态,图像整体内容以及迄今为止生成的部分字幕输出的最大上下文。词嵌入是从随机初始化中学习的,无需预训练。
给定注意力LSTM的输出 h t 1 h_t^1 ht1,在每个时间步t,作者为每一个区域的图像特征 v i v_i vi生成归一化注意力权重 α i , t α_{i,t} αi,t,如下所示:
在这里插入图片描述
这个式子里的 α t α_t αt=softmax( α i , t α_{i,t} αi,t)才合适吧,还是我想的太肤浅了?
在这里插入图片描述

Language LSTM

语言模型LSTM的输入由attended image feature与第一层注意力LSTM的输出连接起来,由下式给出:
在这里插入图片描述
使用符号 y 1 : t y_{1:t} y1:t来指代单词序列( y 1 y_1 y1 y 2 y_2 y2,…, y T y_T yT),在每个时间步t,可能输出单词的条件分布由下式给出(在已经知道t前面生成的单词序列时,第t个时间步生成的词 y t y_t yt的概率分布):
在这里插入图片描述
完整输出序列的分布计算为条件分布的乘积:
在这里插入图片描述

描述图片示例

关于
在这里插入图片描述
对于每个生成的单词,我们将各个像素上的注意力权重可视化,用红色勾勒出最大注意力权重的区域。为了避免粗略细节和精细细节之间的传统权衡,我们的模型关注紧密裁剪的细节,例如飞盘和生成“玩”一词时绿色玩家的护齿套,以及大区域,例如生成“黑暗”一词时的夜空。

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 自我批评序列训练是一种用于图像字幕生成的技术。它通过在训练期间对生成的字幕进行自我批评,以改进模型的性能。该方法使用了一种称为“自我注意力”的技术,它允许模型在生成字幕时关注先前生成的单词,从而提高生成的质量。自我批评序列训练已被证明是一种有效的技术,可以在各种图像字幕生成任务中提高模型的性能。 ### 回答2: Self-critical sequence training(SCST)是一种图像标注模型的训练方法,它通过对模型输出的错误进行自我评估来提高图像标注的精度。SCST是一种监督式学习方法,它通过与基础模型进行有针对性的反馈,来提高模型的输出结果。 在SCST中,模型首先生成一个单词序列,然后通过自我评估方法计算序列的损失函数。模型会将自己生成的序列与参考答案进行比较,并根据两者之间的差异来调整自己的参数。如果模型生成的序列与参考答案相似度高,则可以认为模型输出的结果是正确的,模型会将该序列的损失函数作为最终的目标值进行优化。 SCST的另一个优点是它可以生成更加准确的图像标注。在传统的图像标注方法中,模型在标注一张图片时会依靠之前标注的其他图片的信息,但是这种方法的精度往往会受到前一个标注结果的影响。而SCST在每个输入图像上独立进行标注,每一步只考虑当前序列的损失函数,从而减少标注过程中的误差。 总的来说,SCST是一种有效的图像标注训练方法,它能够通过自我评估来优化模型,同时生成更加准确的图像标注。 ### 回答3: “自我批评顺序训练”是一种用于图像描述的深度学习技术。该技术的主要目的是提高用计算机生成图像描述的质量和准确性。 在传统的图像描述方法中,计算机通过“编码-解码”系统生成描述。首先将图像输入编码器,然后将编码结果传入解码器,最后给出相应的描述。但是这种方法很难准确地给出正确的图像描述,特别是对于长句描述来说。 为了解决这个问题,研究人员提出了自我批评顺序训练技术,该技术的基本思想是通过与人工生成描述的对比来训练模型。具体来说,这个技术包括三个关键步骤: 1. 生成描述。计算机将图像输入到编码器,然后用解码器生成一个最初的描述并提交给人工审核。 2. 人工批评。人工将计算机生成的描述与自己生成的描述进行比较,然后给出分数。 3. 重新训练。计算机接收到人工评分后,采取相应的操作来调整自己的模型。然后再进行描述生成,直到达到最终的分数为止。 通过这种方法训练的计算机模型,可以显著提高图像描述的准确度和质量。在使用这种技术进行研究时,研究人员还发现,自我批评顺序训练能减少过拟合现象的发生。因为它强制计算机与人类对比,从而避免了学习到过多的训练数据和模型参数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值