目录
摘要
自上而下的注意力机制已广泛应用于图像描述和视觉问答(VOA)中,以通过细粒度分析(fine-grained analysis)甚至多个推理步骤实现更深入的图像理解。在这项工作中,本文作者提出一种自上而下和自下而上相结合的注意力机制,可以在对象和其他显著图像区域的级别上计算注意力。这是考虑注意力的自然基础。在我们的方法中,自下而上的机制(基于Faster R-CNN)提出图像区域,每个区域都有一个关联的特征向量,而自上而下的机制确定特征权重。将这种方法应用于图像描述,在MS COCO在线服务器上的结果为该任务建立了新的先进水平,将相同的方法应用于图像问答VOA,在2017年的VOA挑战赛中获得了第一名。
介绍
在人类的视觉系统中,注意力可以通过当前任务(例如寻找某物)确定自上而下的信号来自愿集中,也可以通过与意外的,新颖的或显著的刺激相关的自下而上的信号自动地集中。在本文中,作者采用类似的术语,**将非视觉或特定任务上下文驱动的注意力机制称为“自上而下”,将纯视觉前馈注意力机制称为“自下而上”。**图像描述和VQA中使用的大多数传统视觉注意机制都是自上而下的。将部分完成的描述输出的表示或与图像相关的问题作为上下文,这些机制通常经过训练以选择性地处理卷积神经网络的一层或多层的输出。然而,这种方法很少考虑如何确定受关注的图像区域。如图1所示:输入区域对应于大小和形状相同的神经感受野的统一网格——无论图像的内容如何,为了生成更接近人来的描述和标题答案,对象和其他显著图像区域是注意力更自然的基础。
本文的贡献
- 在本文中,作者提出了一种自下而上和自上而下相结合的视觉注意力机制。自下而上的机制提出了一组显著图像区域,每个区域由池化卷积特征表示。实际上,作者使用Faster R-CNN实现自下而上的注意力,它代表了自下而上注意力机制的自然表达。
- 自上而下的机制使用特定于任务的上下文来预测图像区域上的注意力分布,然后将关注的特征向量计算为所有区域的图像特征的加权平均值。
- 本文评估了将自上而下和自下而上注意力相结合对两项任务的影响。
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的概率分布):
完整输出序列的分布计算为条件分布的乘积:
描述图片示例
关于
对于每个生成的单词,我们将各个像素上的注意力权重可视化,用红色勾勒出最大注意力权重的区域。为了避免粗略细节和精细细节之间的传统权衡,我们的模型关注紧密裁剪的细节,例如飞盘和生成“玩”一词时绿色玩家的护齿套,以及大区域,例如生成“黑暗”一词时的夜空。