SWINBERT: End-to-End Transformers with Sparse Attention for Video Captioning
- 发表 :CVPR 2022
- idea:之前的方法都是使用其他任务上训练的特征提取器对video进行特征提取,所提取的特征可能与视频描述任务并不是绝对的匹配,即特征提取不参与训练。这篇文章的作者提出使用transformer对原生视频进行特征提取,然后再进行解码,实现端到端的训练。此外,实验发现performance随着采样的帧数增加而变好,但是为了缓解帧冗余提出了一种自适应的attention mask(可学习的)作为正则化的一种手段。
- 代码:SwinBERT
详细设计
(1)框架概述
首先通过VidSwin(事先在Kinetics action recognition任务上训练好了)来提取原生视频的特征,得到M个video tokens。M video tokens与N word tokens(这里在训练的时候可能也模仿transformer使用了teacher forcing)一起输入到Multimodal Transformer Encoder(实质是transformer encoder)中进行解码,类似的,masked attention会用在word tokens(不允许作弊)。
(2)Sparse Attention Mask
为了缓解帧冗余对计算性能以及performance的影响,作者引入了一种可学习的Sparse Attention Mask
如上图所示,MultiModal transformer encoder的输入包含两部分:N word tokens and M video tokens。所以整个attention mask的size为
(
N
+
M
)
∗
(
N
+
M
)
(N+M)*(N+M)
(N+M)∗(N+M),上图中的
V
V
V(size:
M
∗
M
M*M
M∗M)就是learnable attention mask,主要是为了控制video tokens之间的注意力。而word tokens对于 video tokens之间的注意力没有限制,以更好地利用视觉信息。
这部分的正则化
L
S
P
A
R
S
E
L_{SPARSE}
LSPARSE损失如下
λ
λ
λ是超参,
V
i
,
j
V_{i,j}
Vi,j是激活后的值(在实验中使用的是sigmod)
补充:引入稀疏性的优点
学习通过减少无意义连接的可能性来加强不同tokens之间最重要的关系,同时更多地关注包含丰富时空信息的活动视频令牌。通过这种方式,该模型可以生成更具表现力和描述性的自然语言句子。在学习过程中,稀疏约束将正则化模型训练,以发现视频序列的底层结构。
(3)训练与测试
-
训练:
作者在训练的时候使用了Masked Language Modeling(损失为 L m i n L_{min} Lmin)以帮助跨模态学习,即用预定义的特殊标记[mask]替换一定百分比的单词标记。然后,我们要求MultiModal Transformer预测masked ones。最终的损失包括正则化损失 L S P A R S E L_{SPARSE} LSPARSE和Masked Language Modeling的损失 L m i n L_{min} Lmin -
测试:
测试部分与transformer的测试类似,上一步预测的word作为下一步的输入,是串行的。
实验
-
对比实验
结果非常好,提升10个点左右 -
消融实验