视觉理解论文系列(五)Fusion of Detected Objects in Text for Visual Question Answering(B2T2)
背景
这篇论文的工作来自Google研究院。作者提出B2T2模型(“Bounding Boxes in Text Transformer”),B2T2是一个任务特定模型(文中也只在VCR任务进行了评测),B2T2是一个将vision和language combine起来作为输入的single-stream架构。作者提到视觉特征与文本特征的early fusion是模型取得良好成效的关键。
动机
vision-linguistic任务的一大难点在于如何在神经架构中编码视觉和语言特征。诸如文本实体如何绑定到图像中可见的区域、视觉特征与文本特征究竟是前融合还是后融合好?跨模态协同引用是如何编码的?在编码句子语义之前先在视觉世界中定义单词是否有意义等等尚未有明确的答案。作者通过实验研究发现了前融合的有效性,此外,模型获得越多的视觉特征取得的效果越好(感觉是肯定的?),图像中区域的位置信息也很有价值。
问题定义
假设输入数据的格式是元组形式
(
I
,
B
,
T
,
l
)
(I,B,T,l)
(I,B,T,l)
I
I
I是图像,
B
=
[
b
1
,
b
2
,
.
.
.
,
b
m
]
B=[b_1,b_2,...,b_m]
B=[b1,b2,...,bm]是图像中的bounding boxes,
T
=
[
t
1
,
t
2
,
.
.
.
,
t
n
]
T=[t_1,t_2,...,t_n]
T=[t1,t2,...,tn]是文本的tokens,
l
l
l是两类标签信息{0,1}.
在VCR任务中,一般地,有图像变换函数
Φ
\Phi
Φ将图像映射到d维向量,通过预训练的文本表征能力将每个token映射到h维向量,函数
E
E
E把tokens的表示再结合word piece ids,token types和positions等信息进一步编码,段落级别的函数
Ψ
\Psi
Ψ作用于
E
(
T
)
E(T)
E(T)来得到整个段落(句子)级别的特征(h维向量)。具体的符号表如下:
作者提出一个新颖的点,这里的矩阵
R
R
R来表示bounding boxes于tokens之间的relationships.
π
\pi
π是将bounding box的位置信息进行变换的函数,一般地区域位置信息投射到与图像特征相同的维度
Ψ
\Psi
Ψ相当于是根据每个token的embedding来得到整个sentence的embedding
提出的方法
作者同时对比了Dual Encoder和B2T2的效果。
Dual Encoder
双编码器的架构,典型的late fusion。
双编码器通过以下式子来建模类别分布
D是可学习的参数矩阵。(模型最后的输出套个sigmoid做类别预测?)
这种模型结构完全忽略了vision和language之间的信息交互,模型必须依赖固定的维度向量进行文本和视觉语境的后期融合。奇怪的是,作者发现与该方案与baseline相比,这在VCR上的效果依然很具有竞争力,作者将这个结果归结于选择了强大的预训练模型。
B2T2
B2T2与Dual encoding的不同,将text和boundingbox在上下文无关的token represetation级别就进行combine处理,而不是最后分类的时候才融合。
B2T2用以下式子建模类别分布:
a
l
a_l
al是h维向量,
b
l
b_l
bl是实数。(模型最后的输出在
l
∈
0
,
1
l \in {0,1}
l∈0,1上softmax处理?)
整个的函数处理
E
′
E^{'}
E′如下
E
(
T
)
E(T)
E(T)是BERT进行常规的文本特征处理,后半部分是引入的图像特征。(这里用上了前面提到的矩阵R),M是h x d维的可学习参数矩阵。个人理解是图像区域特征与该区域位置信息加和后再用关系矩阵R做系数进行加权。
loss
p是
p
(
l
=
1
∣
I
,
R
,
B
,
T
)
p(l=1|I,R,B,T)
p(l=1∣I,R,B,T)
预训练任务
这篇同样是在Conceptual Captions上做的预训练。
(1) impostor identification 鉴别输入的图文对是否匹配
(2) masked language model prediction.
预训练任务不考虑Boundingboxes,直接将整个图像特征输入。预训练部分的loss自然包括两部分,判定图文对匹配的Binary Cross Entropy以及mask-LM时summed cross entropy.有个要注意的点时,为保证模型能学到正确的grounds,在做mask LM时只使用positive的图文对,即
补充
模型用于VCR任务时,数据的输入格式
Q
−
>
A
Q ->A
Q−>A task
Q
A
−
>
R
QA->R
QA−>R task
b
0
b_0
b0是整个图像的特征。输入序列的最后追加了bounding boxes列表中的前
p
p
p个区域。作者使用的p=8.
实验结果
消融研究
注意到作者提出的网络结构使用的是BERT-Large,消融实验表明BERT-Base就有69.0的acc,说明一个强大的预训练模型尤为关键。
几个疑问
消融研究上没有考察预训练的效果?(不进行预训练模型会有怎么样的表现?VL-BERT上貌似多个预训练任务下来涨点也很少)
boundingboxed 与 tokens之间的relationships矩阵R如何生成的?