本文《Improved Fusion of Visual and Language Representations by Dense Symmetric Co-Attention for Visual for Visual Question Answering》提出了一种采用Dense连接的Co-Attention机制对图片与问句信息进行交互融合,并利用级联的方式对图片和问句的信息进行多次更新。
论文地址:
https://arxiv.org/pdf/1804.00775.pdf
引言
解决VQA(Visual Question Answering)问题的关键在于如何从图片和问题中提取有用的特征, 并将二者进行有效地融合。对于问题特征的提取一般都利用RNN对其进行编码, 而对于图片特征会采用预训练好的Res-net对图像块进行编码。目前对于VQA问题的研究路线分为两个主要部分, 一是更好的attention机制, 二是改进的特征融合方式。一般而言这两部分分属于模型独立模块, 而本文认为两者是有联系的, 应该进行有机的结合, 因而提出了一种新的co-attention机制来改善视觉特征与语言特征的融合。
数据集
VQA任务中主要使用VQA 2.0数据集来进行训练、验证和测试,数据集包含的数据量如下表所示。
模型概况
模型大致分为三个部分, 特征提取模块, 级联的Dense Co-attention模块, 以及分类器. 如下图所示。
其中
Q
Q
Q是词级别的问题编码,
V
V
V是图片特征的编码.
Q
n
Q_n
Qn,
V
n
V_n
Vn是经过第n个Dense Co-attention 模块融合后的问题与图片编码。Answer Prediction是一个两层的非线性分类器。
问题与答案的特征提取
问题问句和答案的信息都采用, bi-directional LSTM(concatenate) 进行编码.
对于答案的编码: 假设有一个答案有M个词, word embedding为
e
1
A
,
.
.
.
,
e
M
A
{e_{1}^{A},...,e_{M}^{A}}
e1A,...,eMA
经过Bi-LSTM后得到
S
A
=
[
a
M
⃗
T
,
a
1
T
←
]
T
S_A = [\vec{a_{M}}^{T}, \overleftarrow{a_{1}^{T}}]^T
SA=[aMT,a1T]T
图片特征的提取
图片采用的是Grid特征(如下图所示), 将每一个grid送入预训练好的
ResNet-152, 取其中4个conv-layers的输出, 对应的尺寸
分别为(256x112x112, 512x56x56, 1024x28x28, 2048x14x14).
再采用不同的max pooling尺寸和卷积层将4种尺寸的特征,转换为统一的
d
×
T
d \times T
d×T, 其中
T
=
14
×
14
T = 14\times14
T=14×14.
最后为4种特征做加权. 使用一个两层的全连接层, 隐层节点724,激励为Relu,输出节点为4. 对输出结点[s1, s2, s3, s4]做softmax. 得到加权的权重.
[
s
1
,
s
2
,
s
3
,
s
4
]
=
M
L
P
(
s
Q
)
[s_1, s_2, s_3, s_4] = MLP(s_Q)
[s1,s2,s3,s4]=MLP(sQ)
Dense Co-Attention Module
模块结构如下图所示:
输入:
Q
l
=
[
q
l
1
,
.
.
.
,
q
l
N
]
∈
R
d
×
N
Q_{l} = [q_{l1},...,q_{lN}] \in \R^{d\times N}
Ql=[ql1,...,qlN]∈Rd×N,
V
l
=
[
v
l
1
,
.
.
.
,
v
l
T
]
∈
R
d
×
T
V_{l} = [v_{l1},...,v_{lT}] \in \R^{d\times T}
Vl=[vl1,...,vlT]∈Rd×T
输出:
Q
l
+
1
∈
R
d
×
N
Q_{l+1} \in \R^{d\times N}
Ql+1∈Rd×N,
V
l
+
1
∈
R
d
×
N
V_{l+1} \in \R^{d\times N}
Vl+1∈Rd×N
Dense Co-attention Mechanism
Dense Co-attention Mechanism为上图红框部分, 结构如下图所示.
常规的Co-attention一般分为以下几个步骤:
本文采取multi-head机制计算图片和问题的相关矩阵, 在特征维度
d
d
d上做切分, 假设head数为h,
d
h
=
d
/
h
d_{h}=d/h
dh=d/h
特征融合
特征融合在Co-attention模块中, 如下图的红绿框所示, 图中也体现了dense连接, 以及标题中的Symmetric.
分类器(Answer Prediction)
将答案集用bi-directional LSTM编码成一个矩阵参与计算.
l
o
g
i
t
s
=
σ
(
S
A
T
W
(
S
Q
L
+
S
V
L
)
)
logits = \sigma(S_{A}^{T}W(S_{Q_{L}}+S_{V_{L}}))
logits=σ(SATW(SQL+SVL))
Nowhere-to-attend and memory
对于解答某一个问题, 如果没有图像框值得去注意(依靠常识或者猜测就可以回答?), 可以通过加入一些可训练的参数作为额外信息的来源. 具体做法如下: 在图像特征和文句特征,上增加K个words或是regions的特征作为可训练参数.
添加了memory后的输入为:
实验结果VQA2.0
文献使用的是grid特征, 所以实验结果和目前最佳的方法结果相差较大.
结论
(1)提出了层级递进的Dense Co-Attention的结构。
(2)提供了很多针对Co-Attention结构进行改进的操作。

扫码识别关注,获取更多新鲜论文解读