Advertisement

51-17 视频理解串讲— MViT,Multiscale Vision Transformer 论文精读

阅读量:

在介绍完TimeSformer模型后, 我们将依次介绍两篇源自Facebook AI研究团队的重要论文, 包括Multiscale Vision Transformers及其增强版本MViTv2: Enhanced Multiscale Vision Transformers for Classification and Detection.

本文由深圳季连科技有限公司的AIgraphX自动驾驶大模型团队负责撰写。如有谬误恳请您赐教。值得注意的是本司大模型组近期涉及较多的论文研究工作,在此简要绘制知识关系图(如图1所示)。

MViT,Multiscale Vision Transformers

MViT就是Transformer和多尺度分层建模相融合的产物。

Abstract

基于将具有多层次特异性的创新性特征与transformer架构深度融合的研究成果,《该研究》成功开发出一种新型多尺度视觉transformer架构——MViT。该架构通过逐层扩展通道分辨率来实现对不同尺度特性的捕捉能力。从输入分辨率出发,并结合少量初始通道数作为基础,在各个层级上逐步构建起一个多层次的特征金字塔结构。其中,在低层次特征中由高空间分辨率层捕获简单的细节信息,在较深层次上则呈现出较低的空间分辨率但高度复杂的表征特性。为了验证其有效性,《该研究》针对现有主流架构进行评估分析,并重点考察了其对密集型视觉信号特性进行建模的能力。实验结果表明,在视频分类等典型任务中,MViT展现出显著的优势:对比而言,并发vision-transformer在计算资源和参数规模上远超MViT 5-10倍,但在实际应用效果上却相对逊色许多。值得注意的是,本研究进一步消除了时间维度的影响,并在图像分类任务中实现了突破性进展,所提出的方法超越了现有基于visual transformer的研究成果。此外,为了方便读者获取代码资源,所有相关代码已开放并托管于以下官方链接:https://github.com/facebookresearch/SlowFast。

Introduction

我们从探讨计算机视觉神经网络模型的历史入手。基于对猫和猴子大脑视觉皮层的研究基础之上,Hubel和 Wiesel构建了基于层次结构的设计。这种分层架构中,在低层次区域(例如V1)中响应特定的基本特征如边缘和平形条纹等信息,在更高层次则能够捕捉更为细致的具体刺激特征。Fukushima随后提出了Neocogniztron模式识别神经网络架构,在其设计中巧妙地结合了简单细胞与复杂细胞的概念:一方面实现了采样率上的降级以减少计算量另一方面通过多级变换实现了平移不变性特性。在此基础上LeCun等人又进一步引入了反向传播算法来优化网络权重的过程从而奠定了现代卷积神经网络的基础理论体系:通过多层级特征提取不仅实现了对复杂图像信息的有效建模也为后续研究奠定了重要基础。(i)随着处理深度逐渐加深空间分辨率逐步降低(ii)通过增加不同通道数量实现了功能模块的专业化划分

此外,在计算机视觉领域社区开发了多尺度处理技术,并常被形象化为金字塔结构。该方法有两个主要动机:(i)通过使用较低分辨率图像来降低计算负担;(ii)在较低分辨率层更有效地捕捉整体信息,并从而引导更高分辨率层的操作。

该架构被设计为能够有效学习集合上定义的各种函数,在语言理解与机器翻译等序列任务中展现了显著成效。主要通过注意力机制和多层感知机这两个基本组件进行操作,并将这些核心功能与归一化层和残差连接融合在一起,在应用层面展现出强大的适应能力。

近年来,在关键的计算机视觉领域中(如图像分类等),Transformer技术已经得到了广泛应用并取得了显著成效)。基于架构通用性原则,在多种数据集与计算架构下(如不同分辨率、各种优化策略等),vision Transformer展现出与传统卷积模型接近甚至超越的性能)。该模型结构中第一层通过2D卷积操作整合输入特征后进入后续多层变换模块(旨在通过最小归纳偏置情况下充分展现Transformer架构的强大功能)。

在本文中, 我们的目的是将多尺度与层次结构的基本视觉原理与现有的Transformer架构相结合, 从而推动计算机视觉领域的研究进展。基于分辨率和通道缩放的视觉原理被认为能够显著提升Transformer模型在各类型视觉识别任务中的性能, 因此我们提出了一个多维度扩展的MViT架构, 其核心目标是实现对复杂视觉信息的高效建模能力。以图1所示的一个输入图像为例, 该架构通过引入多级特征提取模块, 实现了从低级到高级抽象表征的无缝衔接。传统的Transformer架构通常采用恒定信道容量和分辨率策略, 这一设计限制了其在处理不同尺度特征时的能力; 而相比之下, 多尺度Transformer通过引入多个channel-resolution "scale"模块, 在空间分辨率逐渐降低的同时动态调节通道容量, 这一特性使得其在捕捉多层次空间细节方面具有显著优势。具体而言, 该模型从初始状态出发, 初始状态具有较低的空间分辨率但较低的通道维度; 随着训练过程的发展, 模型逐渐增强对空间细节的关注能力的同时逐步扩展其通道容量; 这种设计方式不仅有效提升了模型对复杂场景的理解能力, 同时也为后续的研究工作提供了重要的参考框架

基于纯粹Transformer架构设计的模型因此运用了Patch操作技术。在图中所标示的具体数值1、2、3、4分别代表不同的Patch尺寸设置。值得注意的是,在模型深度增加的过程中,虽然Patch尺寸逐渐增大以适应更高的抽象层次表达需求,但其空间分辨率却随之降低。

受限于前层信道容量有限,在模型能够高效地在高空间分辨率下运行时(即能用于模拟简单的低级视觉信息)。另一方面,在更深的网络层能够有效地聚焦于具有复杂高级特征但空间上较为粗略的现象(从而对相应的视觉语义建模)。其主要优势源于其对视觉信号极其密集特性的利用(即这种现象不仅能在视频中更易捕捉时空视觉信号)。此外,在时间维度上存在明显的隐式偏差问题。

Convolutional networks (ConvNets)

ConvNets通过整合下采样、平移不变性和权值共享机制,在图像与视频计算机视觉领域中被视为核心组件。

Self-attention in ConvNets

自注意力机制被广泛应用于图像理解、无监督目标检测以及视觉信息与语言处理领域。在该框架中,自注意力运算与卷积神经网络的有效结合被证明能够显著提升性能,并且这种混合模型还被成功应用于多种复杂的认知任务中。

Vision Transformers

目前,在视觉任务领域中对将变换器技术加以应用的热情最初源于vision transformer(ViT)以及detection transformer(DETR)。我们是基于支持通道扩展和分辨率下采样的多阶段模型架构构建起来的。DeiT则提出了训练ViT的一种数据高效的方法论框架。我们的研究工作则是在这一基础之上构建了更为复杂的训练策略,并将其与传统的图像分类模型进行了深入对比分析。

Efficient Transformers

最近的研究降低了二次注意力机制的复杂度,并通过提升转换器在自然语言处理中的效率,在某种程度上支持了我们方法的有效性。此外,其他并行研究采用了基于Vision Transformer(ViT)的方法构建视频架构。值得注意的是,在这些方案中通常依赖于利用大量公开数据(例如ImageNet21K)进行预训练,并因此采用了传统Vision Transformer结构作为基础框架。相比之下,在不依赖大规模外部数据的情况下实现密集视觉输入的有效建模方面,我们提出的MViT引入了多尺度和层次化特征模型。

Multiscale Vision Transformer,MViT

通用多尺度Transformer架构遵循stage的基本理论框架展开构建。每个stage包含多个经过特殊设计的Transformer block单元,在满足不同空间和时间分辨率需求的同时实现信息传递与融合。该架构的核心理念是通过逐步增加信道容量来提升模型性能,并通过从输入到输出逐渐降低空间分辨率来实现有效的特征提取与表示学习。

Multi Head Pooling Attention

我们首先阐述了Multi Head Pooling Attention(MHPA),这一自注意机制能在transformer架构中实现多尺度分辨率建模能力,在逐级变化的时空分辨率下执行操作。相较于传统的多头注意力机制(MHA),其中仅通道维度和时空分辨率保持固定状态,在此方案中通过降维操作对潜在的空间时序序列进行处理处理以降低参与输入的序列长度(即分辨率)。

Multiscale Transformer Networks

MViT是一种主要采用 MHPA 和 MLP 层来进行多尺度视觉表示学习的 Transformer 模型。

Preliminaries: Vision Transformer (ViT)

ViT架构会对原始视频按分辨率T ×H×W进行分割处理,在这种分割下每一块都是一个无重叠排列的三维矩阵区域(尺寸为1×16×16),随后会对这些区域展开展平处理,并将其通过线性层逐点映射到潜在维度D的空间中。这种处理方式等价于一个核尺寸为...的操作步骤与表中patch阶段I描述的一致

通过向每个具有维度D和长度L的投影序列中的所有元素注入位置嵌入E∈R(E属于实数集),我们能够实现对空间信息的有效编码,并从而消除传统方法中由于排列不变性带来的限制效果。随后,在所提取出的图像patch上进行可学习类嵌入处理以进一步提升模型性能

随后将得到长度为L+1 的序列依次经过N个预定义参数化的transformer 块进行处理, 每个block分别执行多头自注意力MHA、多层感知器MLP以及后层归一化LN运算. 将X视为单个transformer block 的输入, 其输出Block(X) 可通过以下公式进行计算

经过连续块处理后生成的结果序列通过层归一化进行标准化处理,并通过线性变换模块对目标类别进行预测。在默认设置下,MLP架构采用隐藏维度大小为4D的结构。

值得注意的是,ViT在所有块中保持恒定的信道容量和空间分辨率。

Multiscale Vision Transformers (MViT)

我们采用逐步提升通道维度的方式,并相应缩减网络的整体空间-时间维度(即序列长度)。经过设计优化后,我们的MViT架构在前面的层次中实现了高精度的空间-时间分辨率(配合较宽泛的通道数量),而在后续层次则通过上采样或下采样的方式实现宽泛的时间-空间分辨率(并对应狭窄的通道数量)。

Scale stages

一个scale stage被定义为由N个transformer块构成,在同一尺度下执行操作,并在D×T ×H×W的空间-时空中保持一致分辨率。对于输入数据(如表2中的cube1),我们对patch(或立方体结构)进行降维处理以减少通道数量(例如较典型的ViT模型减少8倍),同时处理较长的时间序列(例如4×4=16倍于典型的ViT模型;如表1所示)。

在stage转换过程中(如 scale1 到 scale2 的实例见表 2),通过上采样处理后的序列的通道维度,并对其长度进行下采样。这有助于显著降低底层视觉数据的空间分辨率,并使得网络能够更有效地捕捉到处理后信息中的复杂特征。

Channel expansion

在相邻stage之间进行状态转移时,在前一阶段MLP输出中引入与阶段相关联的分辨率调整因子以扩展信道数量。例如,在对时空分辨率进行4倍下采样处理后,在信道数量上实现翻倍提升。

提高通道数就是通过简单的全连接层对向量维度D进行映射。

Query pooling

池化操作不仅赋予了K和V向量长度上的灵活性,并且也为Q长度上的灵活性提供了支持。这将生成输出序列。内核s池化的q向量P(Q; k; p; s)的作用是使序列变短。我们的目标是在每个stage开始时降低分辨率,并在此之后始终保持这一分辨率水平。然而,在每个stage中只有第一个池化注意力算子会在满足非退化查询步幅sQ > 1的情况下运行;其余所有的池化注意力算子都会被限制为sQ≡(1,1,1)的状态。

PS:降低空间分辨率=降低序列长度=降低Q向量长度。

Key-Value pooling

与Q pooling不同,在调整K与V张量的空间维度时,并不会影响最终输出的空间尺度及时间分辨率;然而,在整体计算架构中这些机制扮演着重要角色

通过K、V和Q池化的解耦设计,在注意力机制各层架构中采用了特殊的分层策略:第一层全部采用Q池化技术进行特征提取;而从第二层开始,则切换至更为通用的K-V池化组合模式。这一设定建立在以下前提基础之上:为了保证有效的注意力权重计算结果,在实际应用中必须保证输入序列长度的一致性需求;因此,在具体实现过程中必须严格限定所有池化操作所对应的步幅参数保持一致。在此方案的基本框架下,默认情况下我们采用了统一的参数配置策略(即对于每个独立的分段块k值均采用相同的p值设定),这种做法既简化了模型实现过程又保证了系统运行效率的最大优化;然而,在面对不同数据规模和复杂度差异显著的任务场景时,则可以通过动态调节机制实现跨层级参数自动匹配功能(具体而言即是根据当前处理对象的特点自动切换到基于规模因子的处理模式)。

Skip connections

在残差块内部由于通道维度与序列长度的变化差异,在具体实现过程中我们引入了一种特殊的跳跃连接机制以便更好地适应这种不匹配情况。在MHPA的设计框架中,我们引入了查询池运算符 P(·; ΘQ),将其整合到残差路径中进行处理这一操作,如图所示,在具体实现过程中并非直接将原始输入X添加至输出端点处而是采取了一种更为巧妙的方式,即对池化的输入X进行操作随后将其添加至输出端点处从而实现了对参与查询Q的一致性要求为此设计的主要创新点在于我们在传统的跳跃连接机制基础上增加了一种新的处理流程即对MHPA操作后的归一化输出执行进一步的线性变换这一步骤有助于更好地协调不同阶段间的特征映射关系值得注意的是,在此设计中所采用的跳跃连接机制与传统归一化信号下的常规跳跃连接方式存在显著区别,后者主要关注于保持信号的空间分辨率而这一改进则更加注重特征信息的有效融合

为了确保L_k等于L_v,并遵循图中的THW机制,在降低空间分辨率时需要调整Q向量的序列长度。调整序列长度的有效方法之一是采用池化操作技术。通过对Q应用池化操作,并通过实验发现K和V经过池化后能提升相关指标,在不影响空间分辨率的前提下也进行了K和V的池化处理。为确保残差连接的有效性,在处理输入X时采用了与处理Q相同的池化方法。

同样证明,降低空间分辨率=降低序列长度=降低Q向量长度。

Experiments

如需了解详细信息,请参考原始内容。MViT主要用于处理视频序列,在这一领域作者进行了系统性研究并取得显著成果;此外,在图像任务上也进行了验证工作均展现了良好的性能特征。此外, 该论文的消融实验设置较为全面, 值得深入学习该领域的研究者参考

ViT-B/ MViT-B/ MViT-S

在原版ViT架构中未设置分层结构设计,其输出与输入形状保持一致。基于MHPA设计了MViT模型,并分别提出了体积较小的两个版本:MViT-B与MViT-S。值得注意的是这两个模型均具有紧凑特性,在仅需7G以内显存资源即可实现高效运行。

同其他模型相比,可以看到MViT性能还是比较优秀。

Conclusion

我们开发出了一种名为MViT的技术方案,并旨在整合多尺度与层次结构等关键概念于现有的Transformer架构中。该方法在某种程度上实现了视觉分辨率的降低与特征复杂性的分层拓展。实证研究表明,在视频识别和图像分类任务中,MViT展现出显著优于单尺度基准模型的能力。

原文链接如下:

Multiscale Vision Transformers https://arxiv.org/abs/2104.11227.

MViTv2: Enhanced Multiscale Vision Transformer Models for Both Fundamental Tasks in Computer Vision, Classification, and Detection.

https://arxiv.org/abs/2112.01526.

全部评论 (0)

还没有任何评论哟~