X-Linear Attention Networks for Image Captioning
- 发表:CVPR 2020
- idea:image caption。传统的注意力机制只挖掘了输入特征的一阶交互,作者考虑到双线性池化可以有效地处理多模态输入的二阶交互。于是使用双线性池化来改进传统的attention,引入X-线性注意力块,通过双线性池化来选择性地利用视觉信息执行多模态推理。并通过多次堆叠块和引入ELU达到提取高阶交互的作用。
X-Linear attention block
双线性计算
X-Linear attention block
假设输入
Q
,
K
=
k
i
i
=
1
n
,
V
=
v
i
i
=
1
n
Q, K={{k_i}_i=1}^n, V={{v_i}_i=1}^n
Q,K=kii=1n,V=vii=1n,
其中,
B
i
k
{B_i}^k
Bik表示双线性Q-K特征;
β
s
β^s
βs表示spatial attention weight for K-V ;
B
‾
\overline B
B表示global channel representation,使用均值池化聚合transformed双线性Q-K特征(这里使用的是squeeze-excitation操作);
β
c
β^c
βc表示channel-wise attention distribution;
B
i
v
{B_i}^v
Biv表示双线性Q-V特征;
v
^
\widehat v
v
表示最终的value feature
高阶交互
第m层块的输入Q是第m-1层的输出,与第m-1层的K和V一起经过块得到m层的输出v
第m层的K和V通过m层的v更新
网络框架
Encoder
- 输入:使用Faster R-CNN提取region features, V = v i i = 1 n V={{v_i}_i=1}^n V=vii=1n
- encoder:在encoder部分通过堆叠4个块,初始的Q为vi均值,K和V为所有vi
- 输出:得到的M+1层的输出为encoder的图像特征(image-level features),最后一层更新后的V作为区域特征(region-level features)
Decoder
使用LSTM作为解码器,将region feature平均池化作为v(0),与所有image feature concate在一起,通过一个线性层得到全局图像特征
LSTM input:
∣
∣
w
t
,
v
~
,
h
t
−
1
,
c
t
−
1
∣
∣
||w_t, \widetilde v, h_{t-1}, c_{t-1}||
∣∣wt,v
,ht−1,ct−1∣∣
deocder:
h
t
h_t
ht作为X-Linear attention block的Q,encoder中m层中的输出
V
(
M
+
1
)
V^{(M+1)}
V(M+1)作为K/V,得attended feature
v
^
d
{\widehat v}_d
v
d
c
t
=
g
r
u
(
W
∗
∣
∣
v
^
d
,
h
t
∣
∣
)
c_t = gru(W*||{\widehat v}_d, h_t||)
ct=gru(W∗∣∣v
d,ht∣∣) —>softmax —> predicted word
w
t
+
1
w_{t+1}
wt+1
总体框架