1、引言
论文链接:https://arxiv.org/abs/2104.11227
Haoqi Fan[1] 等通过在 ViT[2] 中引入多尺度特征层次结构,提出了一种用于视频和图像识别的 Multiscale Vision Transformers(MViT)[1]。在视频识别任务中,它优于依赖大规模外部预训练的视觉 Transformers,并且在计算和参数量方面减少了 5-10 倍[1]。在图像分类任务中其性能优于之前的视觉 Transformers。
2、模型结构
2.1 整体结构
![](https://i-blog.csdnimg.cn/blog_migrate/51b4b70b3117fbee6913787ce0f1ec2e.png)
图1 MViT-B整体结构
接下来以 MViT-B
为例来介绍该模型的结构。如图 1
所示,首先由 Patch Partition(cube1)
模块对输入视频进行分块和 reshape;然后通过 Position Encodeing 模块拼接 CLS 并进行时空类别位置嵌入;后续的 scale 2、3、4
和 5
使用 Multi Head Pooling Attention (MHPA)[1] 逐步下采样时空分辨率,同时在 MLP 层中增加通道维度,每个阶段由 n 个 Transformer[3] 块 (MultiscaleBlock)组成,且只在
scale 2、3、4 阶段的最后一块中增加通道维度,在
scale 3、4、5 阶段的第一块中下采样时空分辨率,scale 2 中 MHPA 的头数 h=1(嵌入维度 d 较小),后面阶段的 h 均是前一阶段的 2 倍。
2.2 data layer
[1] 中的 data layer 是指对原始视频进行抽帧并将抽帧结果转换为 tensor,以得到 shape 为 (3,t,h,w) 的输入样本,其中 t 为输入视频片段的帧数、h 为视频帧的高度、w 为视频帧的宽度。
2.3 Patch Partition
这个模块在 [1] 中被称为 “cube1”,
Patch Partition 和
ViT 的类似,只是这里的 patch_size 和嵌入维度较小,且采用重叠的 patch 划分方式,即划分卷积的 stride 比
patch_size 小。
2.4 Position Encoding
这个模块用于拼接 CLS
并进行时空类别位置嵌入,同一帧的所有 token 共享一个空间位置嵌入,相同空间位置的所有 token 共享一个时间位置嵌入,空间位置嵌入和时间位置嵌入相加得到时空位置嵌入,再与类别位置嵌入拼接即得到时空类别位置嵌入。
2.5 MultiscaleBlock
n 个 MultiscaleBlock 构成一个 scale 阶段,每个 MultiscaleBlock 依次由一个具有残差结构的MHPA 和一个具有残差结构的 MLP 组成,并引入了随机深度。
2.5.1 Pool
Pool 的作用是下采样时空分辨率,核心是 3d pool 操作,CLS 不参与 pool ,故需先取出 CLS,然后将剩下部分 reshape为 shape = (D,T,H,W) 的 tensor,其中 D、T、H、W 依次为输入的嵌入维度、帧数、高度和宽度。pool 后将 shape 形式恢复并拼接上 CLS。
2.5.2 MHPA
图2
Pooling Attention
这里的
Pooling Attention 具有残差结构,本质上就是点乘缩放注意力机制[3],如图 2 所示。只是 q、k、v 在 Linear 层后要先经过 Pool。如上所述,MViT 只在
scale 3、4、5 阶段的第一块中下采样时空分辨率,故只在这些块中真正地对 q 执行 Pool,stride = (1,2,2),若对 q 执行了 Pool,分支中也应使用相应的 Pool。scale 2 中 k 和 v 的 Pool 的 stride = (1,8,8),为了使 k, v 张量在所有块中都具有一致的尺度,后面阶段中 k 和 v 的 Pool 的空间 stride 的每个元素都是前一阶段的一半。
使用 h 个头来并行化计算,其中每个头都在 D 维输入张量 X 的 D/h 通道的非重叠子集上执行
Pooling Attention,即 MHPA。
2.5.3 MLP
这里使用的 MLP 与 ViT 的类似,如上所述,MViT 需要在
scale 2、3、4 阶段的最后一块中增加通道维度,故在这些块中 MLP 的输出维度为输入维度的两倍,且分支中也应使用一个 Linear 层。
3、总结
[1] 中将多尺度特征层次结构的基本概念与 Transformer 模型结合从而提出 MViT,MViT 分阶段地降低视觉分辨率的同时扩展了特征复杂性。在视频和图像识别方面的实验评估中,MViT 表现得明显比单尺度视觉 Transformer 优秀。
参考文献
[1] Haoqi Fan, Bo Xiong, Karttikeya Mangalam , Yanghao Li, Zhicheng Yan , Jitendra Malik, and Christoph Feichtenhofer. Multiscale vision transformers. In ICCV, 2021.
[2] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov,Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. An image is worth 16x16 words: Transformers for image recognition at scale. In International Conference on Learning Representations, 2021.
[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, 2017.