【AAAI2021】Dual-Level Collaborative Transformer for Image Captioning
附: 论文下载地址
论文主要贡献
- 提出了一种新的双层协同Transformer网络(DLCT),实现了区域特征和网格特征的互补性。在MS-COCO数据集上的大量实验证明了该方法的优越性。
- 提出了位置约束交叉注意(LCCA)来解决两个特征源直接融合引起的语义噪声问题。利用所构建的几何对齐图,LCCA不仅能准确实现不同源特征之间的交互,还能通过交叉注意融合增强各种特征。
- 首次尝试探索图像描述的绝对位置信息。通过集成绝对位置信息和相对位置信息,进一步改进了层内和层间关系的建模。
前言
目标检测网络提取的描述区域特征在近年来的图像描述生成中发挥了重要作用。然而,它们仍然因缺乏上下文信息和细粒度细节而受到批评,但是这恰恰是传统网格特征的优点。在本文中,作者使用这两种特征作为视觉输入,引入一种新的双层协同Transformer网络(DLCT)以实现区域和网格特征在图像描述中的互补优势。具体地说,在DLCT中,首先通过一个新的Dual-Way Self Attention(DWSA)处理两类特征源,以挖掘它们的内在属性,引入了一个综合关系注意模块(Comprehensive Relation Attention,CRA)来嵌入几何信息,此外还提出了一个位置约束交叉注意模块(Locality-Constrained Cross Attention,LCCA)来解决这两个特征直接融合引起的语义噪声,其中构造了一个几何对齐图来精确对齐和增强区域和网格特征。并且在MS-COCO数据集上进行了广泛的实验,并在本地和在线测试集上实现了新的最先进的性能。
论文方法(DLCT)
本文提出的双层协同Transformer网络架构如下图所示。设计了CRA,以绝对和相对的方式整合位置信息,利用DWSA挖掘两种特征的内在属性,利用LCCA实现区域与网格之间的交互,利用几何对齐图,LCCA可以有效地消除语义噪声,实现层间融合。
整合位置信息
以往的方法仅以相对的方式对区域的位置关系进行建模。因此,作者提出了综合关系注意模块(Comprehensive Relation Attention, CRA),通过整合绝对和相对位置信息来建模输入特征之间的复杂视觉和位置关系。
绝对位置编码
绝对位置编码(APE)告诉模型特征在哪里,假设有两个具有相同外观特征的物体,一个位于角落,另一个位于中心,在这种情况下,APE有助于模型准确地区分它们。对于APE,作者考虑了两种视觉特征,即网格和区域。
对于网格,作者使用两个一维正弦和余弦嵌入的拼接来获得网格位置编码(GPE):
G
P
E
(
i
,
j
)
=
[
P
E
i
;
P
E
j
]
GPE(i,j)=[PE_i;PE_j]
GPE(i,j)=[PEi;PEj]其中
i
,
j
i,j
i,j是网格的行索引和列索引,
P
E
i
,
P
E
j
∈
R
d
m
o
d
e
l
/
2
PE_i,PE_j∈R^{d_{model}/2}
PEi,PEj∈Rdmodel/2 如下定义:
其中
p
o
s
pos
pos表示位置,
k
k
k表示维数。
对于区域,作者在区域位置编码(RPE)中嵌入4维的bounding box
B
i
B_i
Bi:
B
i
=
(
x
m
i
n
,
y
m
i
n
,
x
m
a
x
,
y
m
a
x
)
,
B_i=(x_{min},y_{min},x_{max},y_{max}),
Bi=(xmin,ymin,xmax,ymax),
R
P
E
(
i
)
=
B
i
W
e
m
b
RPE(i)=B_iW_{emb}
RPE(i)=BiWemb其中
i
i
i是box的索引,
(
x
m
i
n
,
y
m
i
n
)
(x_{min},y_{min})
(xmin,ymin)和
(
x
m
a
x
,
y
m
a
x
)
(x_{max},y_{max})
(xmax,ymax)分别表示box的左上角和右下角,
W
e
m
b
∈
R
d
m
o
d
e
l
/
4
W_{emb}∈R^{d_{model}/4}
Wemb∈Rdmodel/4是嵌入参数矩阵。
相对位置编码
为了更好地整合视觉特征的相对位置信息,作者根据bounding boxs 的几何结构添加相对位置信息。区域的bounding box可以表示为
(
x
,
y
,
w
,
h
)
(x, y, w, h)
(x,y,w,h),其中
x
,
y
,
w
,
h
x, y, w,h
x,y,w,h表示box的中心坐标及其宽度和高度。请注意,网格是边界框的一种特殊情况。所以网格也可以根据其各自的领域表示为
(
x
,
y
,
w
,
h
)
(x, y, w, h)
(x,y,w,h)。因此,对于
b
o
x
x
box_x
boxx and
b
o
x
j
box_j
boxj,可以将它们的几何关系表示为一个四维矢量:
再使用Emb方法将
Ω
(
i
,
j
)
\Omega(i,j)
Ω(i,j)嵌入到高维编码中,最终
Ω
(
i
,
j
)
\Omega(i,j)
Ω(i,j)映射为一个标量,该标量表示两个盒子之间的几何关系:
Ω
(
i
,
j
)
=
R
e
L
U
(
E
m
b
(
Ω
(
i
,
j
)
)
W
G
)
\Omega(i,j)=ReLU(Emb(\Omega(i,j))W_G)
Ω(i,j)=ReLU(Emb(Ω(i,j))WG)$ 其中W_G$一个学习的参数矩阵。
综合关系注意模块
提取出位置的绝对信息和相对信息后,就可以利用综合关系注意(Comprehensive Relation Attention, CRA)对它们进行集成。对于APE,在注意层修改queries and keys:
W
=
(
Q
+
p
o
s
q
)
(
K
+
p
o
s
k
)
T
d
k
W=\frac{{(Q+pos_q)(K+pos_k)}^T}{\sqrt{d_k}}
W=dk
(Q+posq)(K+posk)T其中
p
o
s
q
pos_q
posq和
p
o
s
k
pos_k
posk分别是queries and keys的APE,然后利用相对位置信息调整注意权重:
W
i
j
′
=
W
i
j
+
l
o
g
(
Ω
(
i
,
j
)
)
W^\prime_{ij}=W_{ij}+log(\Omega(i,j))
Wij′=Wij+log(Ω(i,j))最后应用softmax对权重归一化,并计算CRA的输出,Multi-Head CRA (MHCRA)定义为:
双级协作编码器
给定一幅图像,首先提取网格特征 V G = { v i } N G V_G=\{v_i\}^{N_G} VG={vi}NG和区域特征 V R = { v i } N R V_R=\{v_i\}^{N_R} VR={vi}NR, N G N_G NG和 N R N_R NR是对应特征的数量。编码器由两个子模块组成:Dual-Way Self Attention 和 Locality-Constrained Cross Attention
Dual-Way Self Attention(DWSA)
一般来说,视觉特征是通过局部连接卷积提取的,这使得它们是孤立的和关系不可知的。Transformer Encoder对图像描述的性能有很大的贡献,因为它可以对输入之间的关系进行建模,通过Self Attention丰富视觉特征。为了更好地建模两种特征的层内关系,作者设计了一个双向的Self Attention(DWSA),它由两个独立的Self Attention模块组成。
具体来说,将区域
H
r
(
l
)
H_r^{(l)}
Hr(l)和网格
H
g
(
l
)
H_g^{(l)}
Hg(l)的隐藏状态输入第
(
l
+
1
)
(l+1)
(l+1) DWSA,学习关系感知表示:
其中
H
r
(
0
)
=
V
R
,
H
g
(
0
)
=
V
G
H_r^{(0)}=V_R,H_g^{(0)}=V_G
Hr(0)=VR,Hg(0)=VG。
Ω
r
r
\Omega_{rr}
Ωrr和
Ω
g
g
\Omega_{gg}
Ωgg分别为区域和网格的相对位置矩阵。然后对每种类型的视觉特征采用两个独立的位置前馈网络FFN:
之后,关系感知表示被送入下一个模块。
Locality-Constrained Cross Attention(LCCA)
作者提出了位置约束交叉注意(Locality-Constrained Cross Attention, LCCA)模型来模拟区域和网格之间复杂的相互作用,实现层间融合。为了避免引入语义噪声,首先创建一个几何对齐图
G
=
(
V
,
E
)
G = (V, E)
G=(V,E),所有区域和网格特征都表示为独立的节点,形成视觉节点集
V
V
V。对于边集
E
E
E,当且仅当网格和区域的bounding boxes有交点时,该网格节点与区域节点才相连。根据上述规则构造一个无向图,如下图所示,有交集的区域和网格(用相同颜色突出显示)由无向边缘连接,以消除语义上的不相关信息。注意每个节点都有一个自连接的边。
基于几何对齐图应用LCCA来识别两种不同的视觉特征域:源域和目标域。在LCCA中,源域充当queries,目标域充当keys和values。LCCA的目的是通过将目标域的信息嵌入到源域中来加强源域的表示。将绝对位置信息和相对位置信息进行整合,得到权重矩阵
W
′
W^\prime
W′,并对其进行归一化:
α
i
j
=
e
W
i
j
′
∑
j
∈
A
(
v
i
)
e
W
i
j
′
\alpha_{ij}=\frac {e^{W^\prime_{ij}}} {\sum_{j∈A(v_i)}e^{W^\prime_{ij}}}
αij=∑j∈A(vi)eWij′eWij′其中
v
i
v_i
vi为视觉节点,
A
(
v
i
)
A(v_i)
A(vi)为
v
i
v_i
vi的邻近视觉节点集,加权和为:
M
i
=
∑
j
∈
A
(
v
i
)
α
i
j
(
l
)
V
j
M_i=\sum_{j∈A(v_i)} {\alpha^{(l)}_{ij}}V_j
Mi=j∈A(vi)∑αij(l)Vj其中
V
j
V_j
Vj是第j可视结点值,为了简单起见,作者将此阶段表示为:
M
=
g
r
a
p
h
−
s
o
f
t
m
a
x
(
W
′
)
V
G
M=\underset{G}{graph-softmax(W^\prime)V}
M=Ggraph−softmax(W′)V其中graph-softmax为非相邻的可视结点分配权值0,并且基于G进行softmax。所以Multi-Head LCCA (MHLCCA)可以表示为:
在此阶段,网格特征和区域特征交替作为源域和目标域,DWSA的第
l
l
l个输出为:
其中
Ω
r
g
\Omega_{rg}
Ωrg是区域和网格之间的相对位置矩阵,
Ω
g
r
\Omega_{gr}
Ωgr是网格和区域之间的相对位置矩阵。
通过LCCA,将区域嵌入到网格中,反之亦然,以加强两种特征。具体来说,网格特征通过区域获取高层对象信息,区域通过网格补充详细的上下文信息。LCCA利用几何对齐图约束语义不相关的视觉特征信息,消除语义噪声,有效地应用交叉注意。
请注意,一个区域可以与一个或多个网格对齐,而一个网格可以与零个或多个区域对齐。可能存在一个不与区域对齐的网格。因此为几何对齐图中的每个节点创建一条自连接边。此外,自连接边给了注意力模块一个额外的选择,不关注任何其他特征。在第
l
l
l层,注意模块后面跟着两个独立的FFN,如DWSA:
H
r
(
l
+
1
)
=
F
F
N
r
′
(
M
r
(
l
)
)
,
H_r^{(l+1)}=FFN_r^\prime(M_r^{(l)}),
Hr(l+1)=FFNr′(Mr(l)),
H
g
(
l
+
1
)
=
F
F
N
g
′
(
M
g
(
l
)
)
H_g^{(l+1)}=FFN_g^\prime(M_g^{(l)})
Hg(l+1)=FFNg′(Mg(l))注意,LCCA的输出充当DWSA的输入。经过多层编码后,将网格特征和区域特征连接并馈入解码器层。
目标
给定ground truth序列 y 1 : T ∗ y_{1:T}^* y1:T∗和带有参数 θ \theta θ的描述模型,优化交叉熵损失: L X E = − ∑ t = 1 T l o g ( p θ ( y t ∗ ∣ y 1 : t − 1 ∗ ) ) L_{XE}=-\sum_{t=1}^{T} {log(p_\theta(y_{t}^*|y_{1:t-1}^*))} LXE=−t=1∑Tlog(pθ(yt∗∣y1:t−1∗))然后,通过自我关键序列训练(SCST)不断优化不可微的CIDER-D评分: ∇ θ L R L ( θ ) = − 1 k ∑ i = 1 k ( r ( y 1 : T i ) − b ) ∇ θ l o g p θ ( y 1 : T i ) \nabla_\theta L_{RL}(\theta)=-\frac {1} {k}\sum_{i=1}^{k}{(r(y_{1:T}^i)-b)\nabla_\theta logp_\theta(y_{1:T}^i)} ∇θLRL(θ)=−k1i=1∑k(r(y1:Ti)−b)∇θlogpθ(y1:Ti)其中k是beam size,r是CIDEr-D评分函数, b = ( ∑ i r ( y 1 : T i ) ) / k b=(\sum_{i} {r(y_{1:T}^i)})/k b=(∑ir(y1:Ti))/k是baseline。
实验
数据集
作者在COCO数据集上进行了实验。数据集包含123,287张图片,每一张都有5个不同的标题。离线评估采用karpathy split算法,分别使用113287,5000,5000张图像进行训练、验证和测试。
实验设置
作者使用在VG数据集上预训练的Faster-RCNN模型提取特征,对于网格特征将它们平均池化为7×7的大小,对于区域特征,使用相同的模型提取为2048维的特征。
在实验中,将
d
m
o
d
e
l
d_{model}
dmodel设置为512,head设置为8。编码器和解码器的层数都设置为3。在XE预训练阶段,将模型预热4个epoch,学习速率线性增加到
1
×
1
0
−
4
1×10^{-4}
1×10−4,然后5∼ 10个epochs学习率为
1
×
1
0
−
4
1×10^{-4}
1×10−4,11∼ 12个epochs学习率为
2
×
1
0
−
6
2×10^{-6}
2×10−6,之后为
4
×
1
0
−
7
4×10^{-7}
4×10−7,batch size设置为50。与训练之后,在使用CIDEr reward优化阶段学习率为
5
×
1
0
−
6
5×10^{-6}
5×10−6,batch size设置为100,两个阶段都使用Adam优化器,beam size设置为5。
性能比较
离线评估
在线评估
消融实验
Features
使用标准Transformer对一些Features进行了一些实验,和本文方法进行比较。
CRA
CRA可以提高网格特征模型和区域特征模型的性能,它还可以通过与LCCA合作来提高性能,通过整合绝对和相对位置信息,描述模型可以更好地理解外观特征以及它们之间的关系。
LCCA
考虑两个备选方案:一个是没有LCCA的DLCT,另一个是具有完整的二部图(CBG)的LCCA,其中在所有网格节点和区域节点之间应用交叉注意。它们的性能都比LCCA差,这表明了LCCA的优越性。请注意,带有CBG的DLCT甚至比带有栅格特征输入的标准Transformer更差,这表明了区域和栅格之间关系的粗略建模所引入的语义噪声的损害。
总结
在本文中,作者提出了一种双层协作Transformer来实现图像描述的区域和网格特征的互补。模型通过综合关系注意(CRA)和双向自我注意(DWSA)的层内融合,整合了区域和网格的外观和几何特征。还提出了一种几何对齐图来应用Locality Constrained Cross Attention(LCCA),这有效地了增强两种特征,并解决两种特征源直接融合所引起的语义噪声问题。