![](https://csdnimg.cn/release/download_crawler_static/88432491/bg4.jpg)
以提取大小为x
v
的视觉特征图
H
v
W
v
d
b
as
x
v
=
B
(
I
)
。
(
一)
在我们的实现中,骨干网络B遵循ResNet-50 [19]的结
构,其中膨胀[66]应用于其最后一个C5块,并且在[5]
中对对象检测进行预训练。
我们应用视觉Transformer编码器E
v
与N
v
层和隐藏大
小d
e
上
的特征映射
x
v
的顶部,以进一步编码它的大小L
d
e
的
视觉隐藏状态h
v
(其中L
=
H
v
W
v
是编码的视觉隐藏
状态的长度)。此外,考虑到不同的任务(诸如对象
检测和VQA)可能需要提取不同的特征。
不同类型的信息,我们还添加了一个任务嵌入向量w
任
务
到Transformer编码器,以允许它执行。
3.3.
域无关的
UniT
解码器
在对输入模态进行编码之后,我们在它们上应用具
有隐藏大小d
d
和层数N
d
的
Transformer解码器D,以输出
解码的隐藏状态h
dec
的序列,用于对每个任务的预测
与针对每个模态具有特定架构设计的图像和文本编码
器不同,我们的解码器构建在所有任务中相同的域不
可知Transformer解码器架构[59
对于仅视觉任务,我们将解码器应用于在第2节中
描述3.1中,对于仅语言任务,我们将解码器应用于第
3.1节中的编码文本h
enc
=
h
t
3.2,最后,对于视觉和语
言联合任务,我们将编码的
ENC
v
在其输出中提取特定于任务的信息,如下所示。
h
v
=
{h
v
,
h
v
,
···
,
h
v
}
=
E
v
(P
b
→
e
(x
v
)
,
w
task
)
(
2)
从两种模态放入单个序列h
=
concat
(
h_
v
,
h
_
t
)作为解码器的输入
Transformer解码器D取编码输入se。
P
b-e
是从视觉特征维度d
b
到编码器隐藏大小d
e
的线性投
影。视觉变换器编码器
Ev
的结构遵循DETR [5],其中
位置编码被添加到特征图。任务令牌w
task
是维度d
e
的
学习参数,其连接到扁平化视觉特征列表P
b
→
e
(x
v
)
的开始。
并从输出隐藏状态Hv
中
剥离。
3.2.文本编码器
GLUE基 准 [60]任 务 ,如 QNLI [46]、 MNLI [62]、
QQP [24]和SST-2 [51],以及联合视觉和语言推理任
务,如VQA和视觉蕴涵,提供文本输入。我们对文本
输入进行编码
任务
长度为q。它输出用于第l
个
Transformer解码器层中
的每一个的解码的隐藏状态的序列hdec
,
l
,其具有与
查询嵌入q
任务
相同的长度q。
h
十二月,
l
=
D(
h
enc
,
q
task
)
(
4
)
我们的解码器架构主要遵循DETR [5]中的Transformer
在第l解码器层中,在不同位置处的解码器隐藏状态
hdec
,
l
之间
应用自注意,并且将交叉注意应用于编码的
输入模态
henc
。
在我们的实验中,我们使用(i)为所有任务共享的
单个共享解码器D或(ii)单独的解码器D_
sep
。
使用BERT [14]
给定输入文本(例如一个句子或一对句子),我们
以与BERT中相同的方式将其标记为 S个令牌的序列
w1
,,
wS
,其中
w1
=
[CLS](BERT中用于分类的特殊池
化令牌)。然后,令牌序列被用作预训练BERT
模型来提取大小为S的文本隐藏状态序列h
t
d
e
,其
中d
e
是BERT隐藏大小。 与图像编码器类似,在文本
编码器中,我们还添加了一个学习任务嵌入向量w
task
作为BERT输入的一部分,方法是在嵌入的令牌序列的
开头加上前缀,然后将其从输出文本隐藏状态中剥
离,如下所示。
h
t
=
.
h
t
,
h
t
,
···
,
h
t
Σ
=
BERT
(
{
w
1
,
···
,
w
S
}
,
w
task
)
对于每个特定任务T.
3.4.
特定任务输出头
针对每个任务t
,
在解码器隐藏状态
h_
dec
,
l
上
应用任
务特定的预测头。对于对象检测,我们使用类头来产
生分类输出(包括“背景”),并使用框头来产生中每
个位置的边界框输出。
1
、
. . . .
,
q。 类头和盒头遵
循DETR [5]中的实现。对于每个框上具有属性标签的
数据集(我们实验中的Visual Genome数据集[28]),
我们还在BUTD [1]的实现之后添加了属性分类头。解
码器隐藏状态中的每个位置产生对象类或背景。
类和盒头的输出是后处理的。
将这些头应用于解码器隐藏状态中的所有层L
h
dec
,
l
在训练期间作为
作为解码器的输入(这节省
了
计算)。
在我们的实现中,我们使用预训练的BERT基