MViT(ICCV 2021, Meta)论文解读

paper:Multiscale Vision Transformers

official implementation:https://github.com/facebookresearch/SlowFast

背景和出发点

这篇文章提出了多尺度视觉Transformer(Multiscale Vision Transformers, MViT)的概念,用于视频和图像识别。作者从多尺度特征层次结构的核心思想出发,结合Transformer模型,提出了一种新的架构。

解决了什么问题

MViT解决了现有视觉Transformer依赖大量外部预训练数据且计算和参数消耗大的问题。该模型在无需大规模外部预训练数据的情况下,显著提升了视频识别任务的性能。

创新点

  1. 多尺度特征层次结构:MViT通过多个通道-分辨率缩放阶段来实现多尺度特征金字塔。这些阶段从输入分辨率和较小的通道维度开始,逐步扩大通道容量,同时减少空间分辨率,从而创建了一个从高空间分辨率到低空间分辨率的多尺度特征金字塔。
  2. 有效的时空建模:MViT在视频识别任务中表现出色,利用时空信息来提高识别准确性。相比之下,其他视觉Transformer在帧序打乱的视频上表现较差,表明MViT更好地利用了时间信息。
  3. 计算效率高:与当前其他视频变压器模型相比,MViT在计算和参数消耗方面更加高效,能够在相同的准确性下显著减少计算量和参数数量。

方法介绍

这里的逐阶段降低分辨率增大通道数其实就是普通的ConvNets的做法,作者将其引入到Transformer结构中。作者首先提出了Multi Head Pooling Attention(MHPA)如图3所示,通过MHPA可以在Transformer block中实现灵活的分辨率建模,与分辨率和通道数都保持不变的原始的Multi Head Attention不同,MHPA通过池化操作减小 \(Q,K,V\) 的序列长度(即分辨率)实现对原始输入分辨率的降低。

通道数的增加是通过MLP实现的,当从一个stage过渡到下一个stage时,通过增加前一个stage最后一个MLP的输出来扩展通道维度。具体和卷积网络一样,当分辨率降低4倍时,通道数增加2倍。

作者通道MHPA构建了Multiscale Vision Transformer(MViT)如表2所示。

 

在MHPA中,分辨率的降维具体是通过对 \(Q\) 池化实现的,因此我们在每个stage的第一个pooling attention中设置pooling query的步长>1,其它的所有步长都设置=1。

和query pooling不同,改变key、value张量的sequence length不会影响输出的序列长度,即空间分辨率。但它们对池化注意力整体的计算量起着关键作用。因此作者解耦了 \(Q,K,V\) pooling的使用,只在每个stage的第一层使用query pooling,而在所有其它的层中使用key pooling和value pooling。

由于存在skip connection,当分辨率发生变化时,我们对residual path也进行池化来匹配维度的变化,如图3所示。当通道数发生变化时,我们通过一个额外的线性层来对齐通道维度。

实验结果

这篇文章主要是应用于视频分析的,因此除了空间分辨率外还有一个temporal维度,不过我们这里只关注2D图像识别。

在ImageNet上和其它模型的对比如下表所示

VIDTR (Video Transformer with Recurrent Memory Update)、ViVit (Video Vision Transformer) 和 MVit (Mobile Vision Transformer) 都是 Transformer 模型在视频领域的应用,它们的主要不同点如下: 1. 模型结构:VIDTR 是一种基于编码器-解码器结构的模型,其中编码器使用 Transformer 编码器,解码器则使用循环神经网络。ViVit 和 MVit 则是单纯的 Transformer 模型,没有使用解码器。 2. 帧间关系的建模方式:VIDTR 使用循环神经网络来建模帧间的时序关系,以便更好地捕捉视频中的动态变化和运动信息。ViVit 则使用一种新颖的空间注意力机制,将空间特征和时间特征进行关联,以捕捉视频中的动态变化和运动信息。MVit 则是基于 ViT (Vision Transformer) 模型的变种,针对视频领域的特点进行了改进,使用了一种新的时空注意力机制来建模帧间的关系。 3. 训练方式:VIDTR 使用自回归方式训练模型,即每一时刻的预测都依赖于前面时刻的预测。ViVit 和 MVit 则采用了一种无监督训练方式,即使用视频数据自身来学习特征表示。 4. 模型性能:VIDTR 在一些视频分类和动作识别任务上取得了很好的效果,但是模型结构比较复杂,计算量较大。ViVit 目前在一些视频分类和动作识别任务上也取得了很好的效果,模型结构比较简单,计算量较小。MVit 是针对移动设备和嵌入式设备等资源受限的场景设计的,模型结构比较轻量级,计算量较小,但在一些视频分类任务上的表现也很不错。 综上所述,VIDTR、ViVit 和 MVit 都是 Transformer 模型在视频领域的应用,它们的主要不同点在于模型结构、帧间关系的建模方式、训练方式和模型性能等方面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00000cj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值