Multiscale Vision Transformers

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  整体结构

图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.

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值