Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering
时间:2018
contribution
提出了结合bottom-up和top-down的视觉注意力机制
Model
给定一张图片
I
I
I,取其k个salient region的特征
Bottom-Up Attention Model
bottom-up attention是通过faster R-CNN来实现的,Faster R-CNN检测分为两步,
第一步是Region Proposal Network,预测object proposals,一个小的网络在CNN中间层的输出上滑动,在每个空间位置上给出一个得分和一个box,通过非极大抑制(nms)和iou阈值来选择最好的几个box proposals进入到第二个环节
第二步通过region of interest(ROI) 池化从每个box proposal 中提取一个14*14的特征图,这些特征图随后batch到一起输入到CNN的最后几层中,最终的输出是在class label上的softmax分布以及针对类别的精炼的bounding box
本文使用R-CNN与ResNet-101组合,来生成image feature V以备image captioning和VQA的需要,对模型的输出采用非极大抑制,然后选择那些class detection probability超过置信值的区域,对每个区域 i i i,记 v i ∈ R D v_i\in R^{D} vi∈RD为它的平均池化卷积特征, D D D为2048。这实际是一个"hard" attention机制,因为仅仅一小部分bounding box被选出来,相对于全集的大量bounding box而言
bottom-up attention模型由Faster R-CNN在ImageNet的预训练模型初始化,然后在Visual Genome上训练来辅助特征提取,在类别预测上我们增加了额外的属性预测,为了预测region i i i的属性,我们将平均池化卷积特征 v i v_i vi和学习到的真实目标类的embedding concatenate在一起,然后将结果输入到附加的输出层,这层定义为预测每个属性类得分,外加一个无属性的得分
传统的Faster R-CNN 多任务损失函数包括四个组成部分,包括RPN和最终输出的分类和box regression损失,我们保留这些部分并额外增加了一个multi-class损失来训练属性predictor
Captioning Model
给定图片特征 V V V,captioning model使用一个“soft”的top-down attention mechanism来给每个特征加权
总的来说,captioning model 由两个LSTM组成
Top-Down Attention LSTM
从现在开始,输入即为bottom-up模型的输出
V
V
V
attention LSTM的每一步输入都由language LSTM的上一步输出
h
2
h^2
h2组成,具体的,通过concatenate,得到
其中
W
e
W_e
We是word embedding 矩阵,
∏
t
\prod_{t}
∏t是时刻
t
t
t的输入词的one-hot向量
这综合了language LSTM的输出,图片的全局信息以及部分的caption输出
加权向量
α
i
,
t
\alpha_{i,t}
αi,t在
t
t
t时刻为
v
i
v_i
vi赋权
其中的
W
W
W和
w
w
w为待学参数,attended image feature
v
^
t
\hat{v}_t
v^t作为language LSTM的输入,由输入特征的凸组合得到
Language LSTM
language LSTM的输入为attended image feature和attention LSTM的输出concatenate得到
记
y
1
:
T
y_{1:T}
y1:T表示一系列词
(
y
1
,
.
.
.
,
y
T
)
(y_1,...,y_T)
(y1,...,yT),输出词的概率计算为:
完整输出的概率由条件概率求得
目标函数
给定ground truth序列 y 1 : T ∗ y^{*}_{1:T} y1:T∗以及captioning模型参数 θ \theta θ,最小化交叉熵损失
VQA Model
给定输入image feature V V V, V Q A VQA VQA模型也使用soft top-down的注意力机制来加权每个feature,整体结构如图所示
使用参数的非线性层gated hyperbolic tangent activation,这个’gated tanh’层是一个映射
f
a
:
x
∈
R
m
→
y
∈
R
n
,
a
=
W
,
W
′
,
b
,
b
′
f_a:\mathbf{x}\in R^{m}\rightarrow \mathbf{y}\in R^{n},a={W,W',b,b'}
fa:x∈Rm→y∈Rn,a=W,W′,b,b′,定义如下
其中
σ
\sigma
σ是sigmoid激活函数,
a
a
a是待学习参数,
g
g
g实际上就是一个在
y
^
\hat{y}
y^上的门限(gate)
文章的方法是先将每个问题通过GRU encode成隐变量
q
q
q,问题中的词用word embedding表示,计算出
q
q
q之后,我们计算特征
v
i
v_i
vi的unnormalized权值
归一化之后,类似之前计算出
v
^
\hat{v}
v^
最后计算出response
y
y
y的概率
结果分析
通过图片可以得到,模型生成词的时候不仅能够focus 小的细节,也可以focus大的区域
结论
本文提出了一个结合bottom-up和top-down的视觉注意力模型,使用bottom-up attention model 综合图片的CNN特征和属性特征,然后利用Top-Down Attention LSTM和language LSTM进行image caption
问题
- 3.1中learned embedding of the ground-truth object class是怎么学习得到的
可能是字典学习 - 3.2.3 self-critical sequence training是啥?一种强化学习方法