深度学习论文: CAS-ViT: Convolutional Additive Self-attention Vision Transformers
深度学习研究: CAS-ViT是一种基于卷积增强型自注意力机制的视觉Transformer模型,在移动应用中展现出高效的性能。
PDF版本:《Advances in Mathematics and Computer Science》第24卷第8期(2024)。
PyTorch实现:GitHub开源仓库"shanglianlm0525/CvPytorch"提供完整的项目源码。
另一个PyTorch实现:GitHub开源仓库"shanglianlm0525/PyTorch-Networks"提供详细的网络结构实现。
1 概述
尽管视觉 Transformer(ViT)通过 token mixer 展现了强大的全局上下文处理能力,在相关研究领域已经取得了显著成果。然而,在 token mixer 中执行的矩阵操作(尤其是 Softmax 类型的操作)其计算复杂度较高;此外,在移动设备或实时应用环境中实现 balance 的准确性、效率与易部署性仍面临诸多挑战。
为解决这些问题, 研究团队开发了一种轻量级网络家族——卷积加性自注意力(ViT)-ViT. 在具体实现过程中, 研究者认为通过多维度信息交互才能实现token mixer获取全局上下文信息. 因此, 他们设计了一种基于Sigmoid激活的注意力机制, 该机制能够有效避免传统方法中涉及复杂的矩阵乘法和Softmax操作. 进一步创新中, 提出了 novel的卷积加性Token混合器(CATM), 该方法利用空间域与通道域的交互机制构建新的Token混合方式, 避免了传统方法中繁琐的矩阵运算步骤.

研究人员开发了一系列轻量级模型,并基于 CAS-ViT 进行设计。该团队在图像分类、目标检测以及实例分割等多种视觉任务中进行了评估,并对其性能在 GPU、ONNX 以及 iPhone 等设备上得到了验证。通过大量实验数据可以看出,在维持高精度水平的同时(即能够维持高准确率),该方法不仅能够维持高精度水平还能够方便地部署至移动设备并实现高效的推理过程。与其他先进的骨干网络相比具有竞争性能。
2 CAS-ViT
2.1 自注意力机制及其变体概述
不同自注意力机制的比较。(a)是一种在ViT中广泛采用的经典多头自注意力机制。(b)是MobileViTv2中提出的可分离自注意力方法,该方法通过将矩阵特征度量转化为向量来实现。(c)是SwiftFormer中的Swift自注意力机制,这种机制仅依赖Q和K两张表来实现高效的特征关联。(d)则是本研究中提出的创新性卷积加性自注意力架构。

自注意力机制是视觉Transformer的核心组件之一,并且能够有效地捕获输入序列中不同位置之间的相互关联。对于给定的输入样本X∈R^{N×d}
,其中每个样本包含了N个token单元
,每个token单元都嵌入到d维的空间中
。传统的 多头自注意力机制(MSA) 可以表示为:

在其中,在经过线性变换后从输入x中生成了Query、Key以及Value矩阵分别对应Q、K和V。基于此的相似度模型 Sim(Q,K)=exp( \frac{QK^{⊤}}{\sqrt{d} } ) 被用来评估tokens之间的关联程度。
但是,在处理长序列数据时,传统的MSA面临着较高的计算复杂度问题。特别是在输入序列长度较大时(即当输入序列较长时),其计算规模显著提升。为此,在减少计算复杂度方面,研究者们开发了一系列优化方案包括可分离自注意力机制以及快速自注意力机制等
分解放射机制(如图[[图2b]]所示)通过将特征表示投影到低维空间从而降低计算复杂度具体而言该方法首先利用线性变换生成位置相关的权重参数这些参数用于生成位置相关的权重参数随后通过对这些权重进行归一化处理得到各关注点对应的Softmax概率值最后将这些概率值与对应的Key向量相乘从而获得最终输出结果向量Y=KX其中X代表输入序列而K代表Key矩阵

Swift中的自注意力机制(如图2所示)则进一步简化了自注意力结构的实现流程。该机制仅基于Query与Key之间的关系建立特征关联。具体而言,在处理过程中,模型利用线性变换从Query中提取对应的权重系数α,并对该过程中的每一个token应用相应的权重进行累加运算;计算结果后再与Key向量相乘得到全局的上下文表示。

其中,\hat{Q} 表示归一化的Query,T(⋅)是线性变换。
2.2 Convolutional Additive Token Mixer 卷积加性Token Mixer
现有的多头自注意力机制(MSA)通过计算出所有Query对之间的相似度并生成相应的注意力图, 如图2(a)所示. 其计算复杂度为O(N^2), 其中N代表输入序列的长度. 为了减少这一计算复杂度, 异构自注意力机制(H-MSA)引入了上下文向量以简化相关运算, 如图2(b)所示. 上下文向量的概念源于传统的多头自注意力机制(MSA), 但其核心思想则在于通过空间与通道域间的交互来捕获全局特征. 这种交互通常基于N×1及1×C的向量操作来进行处理.
在此基础上
Token Mixer设计
针对上述研究背景,本研究致力于设计一种高效的TokenMixer方案。本研究旨在构建一种高效的TokenMix架构,并命名为ConvAdditive TokenMixer(缩写为CATM)。该架构通过结合简单有效的卷积操作与加性相似度函数来实现信息交互,在计算效率上有显著提升。相较于传统的自注意力机制,在计算复杂度上有所优化。
给定输入张量X ∈ R^{H×W×C}的情况下,在本研究中我们分别在空间域和通道域中完成信息交互的过程
- 首先, 通过应用一个3×3尺寸的卷积层来进行局部token信息的整合.
- 接着, 经过应用一个1×1尺寸的卷积层来降低特征维度至1.
- 最后一步, 通过应用Sigmoid激活函数生成空间域内的注意力图x_{s} ∈ R^{H×W×1}。

在处理通道域交互时,我们主要借鉴SENet的设计思路,并采用1×1卷积来进行通道信息的融合操作。值得注意的是,在这一过程中并非仅对通道信息进行缩减处理。具体而言,在这一过程中我们采用了以下步骤:首先通过1×1卷积完成特征降维整合;然后结合全局平均池化操作提取关键特征并构建最终输出结果。

其中P代表自适应池化操作,D为分组卷积层,其默认配置下的组数量与通道数量一致.经由叠加空间与通道域交互操作,生成了经由信息交互作用后的特征图Φ(x).
为了解决复杂的计算问题,本文提出了一种新的加法相似度指标。针对给定的Query和Key矩阵Q,K∈R^{N×C} ,本文通过以下方法实现了该指标的计算:

其中Φ(.)代表上下文映射函数,在空间域与通道域之间实现了信息交互过程。通过独立的线性变换分别得到Query(Q)、Key(K)与Value(V),即Q = W_∀x, K = W_kx, V = W_ψx。这种设计不仅减少了矩阵运算的复杂性,并且能够有效保留全局上下文信息。
最终,CATM的输出可以表示为:

其中Γ(⋅)∈R^{N×C} 是一个线性变换层,用于整合上下文信息。
复杂度分析
在实际操作中, 空间与通道域之间的交互基于深度卷积技术和Sigmoid激活函数的应用. 其中采用的卷积核尺寸设定为3\times 3. 由此可得, 在该模型架构下进行的空间与通道交互计算开销相对较高.

CATM的整体计算复杂度由四个组成部分构成:首先是QKV分离卷积操作、其次是Φ(Q)与Φ(K)之间的运算以及最后是以Γ命名的映射层实现完成。由此可知, CATM的整体计算复杂度为

相较于传统的自注意力机制而言,在保持线性复杂度的同时(特别适合于在资源受限设备上应用),CATM大幅降低了运算开销。
与现有方法的对比
相较于MobileViTv2,在本研究中提出的方法CATM不仅在Query分支上提取上下文分数,并且在Key分支上也实现了相似度提取的能力,并成功地保留了视觉稀疏特征。此外,在SwiftFormer的基础上进一步优化和改进了相关技术。
总体而言,CATM借助简洁且高效的卷积运算与加法操作,实现了高效的特征融合过程,成功规避了传统自注意力机制中繁琐且耗时的计算过程,同时能够有效捕获长距离依赖关系
2.3 Convolutional Additive Self-attention Block 卷积加性自注意力块
该结构中的CAS块是实现CAS-ViT核心功能的基础模块,在各个层级中,则通过连续叠加多个独立的 CAS 块来构建完整的架构。其中每个 CAS 块的设计灵感来源于经过广泛验证的混合架构模式,并且其设计主要包括三个关键组件:集成子网络、CATM模块以及多层感知机(MLP)结构。这些组件的具体连接方式及工作流程如图3(左下)所示。

该模块由三个连续的3×3深度卷积层构成,并采用ReLU作为激活函数。该模块通过扩大感受野范围来融合局部特征,并为随后的CATM提供位置编码信息。在每一个CAS块中,CATM被设计用于提取全局上下文信息,在此过程中同时也考虑到了各部分之间的关联关系。而MLP则负责进一步优化和调整特征表示。需要注意的是,默认情况下,MLP设定的比例系数为4。
2.4 网络架构
CAS-ViT的整体架构如图3(左上)所示。输入是一个大小为H×W×3的自然图像,在经过两个步幅为2的3×3卷积层后实现初步下采样处理,并获得尺寸为\frac{H}{L} \times \frac{W}{A} \times C_{1}的第一级特征图。随后,在四个编码层之间依次进行了特征图的空间降采样操作(通过Patch Embedding技术实现),最终生成了三个不同分辨率下的特征图:分别为\frac{H}{8} \times \frac{W}{8} \times C_{2}、\frac{H}{16} \times \frac{W}{16} \times C_{3}和\frac{H}{32} \times \frac{W}{32} \times C_{4}。值得注意的是,在每一个编码层中都嵌入了N i个堆叠的CAS块模块,并且这些模块不会影响到特征图的空间分辨率。通过调节不同的通道数C i以及块的数量N i ,本文成功构建出一系列具有不同参数设置的轻量级ViT模型架构方案(具体参数详情见附表)。

3 Experiments





