南阳理工/北航/合工大联合提出 CARE Transformer: 以双交互模块优化视觉 Transformer 线性注意力 !

大模型向量数据库数据中台

点击下方卡片,关注 「AI视界引擎」 公众号

( 添加时备注:方向+学校/公司+昵称/姓名 )

picture.image

picture.image

最近,人们已经付出了大量努力来设计高效线性复杂度的视觉Transformer。然而,目前的线性注意力模型通常不适合在资源受限的移动设备上部署,因为它们要么效率提升不多,要么准确率明显下降。

在本文中,作者提出了一种新的双交互线性注意力(CARE)机制,揭示了特征解耦和交互可以完全发挥线性注意力的潜力。作者首先提出了一种不对称的特征解耦策略,不对称地解耦学习过程以处理局部归纳偏差和远程依赖性,从而在保留足够的局部和全局信息的同时,有效提高了模型的效率。然后,作者使用一个动态记忆单元来维护网络 Pipeline 中的关键信息。

此外,作者还设计了一个双交互模块,以有效地促进局部归纳偏差和远程信息以及不同层特征之间的交互。通过采用解耦学习方式并充分利用特征之间的互补性,作者的方法可以实现高效率和高准确率。

在ImageNet-1K,COCO和ADE20K数据集上的大量实验表明了作者的方法的有效性,例如,在ImageNet-1K上,以0.7/1.9的GFLOPs为代价,

实现了78.4/82.1%的Top-1准确率。

unsetunset1 Introductionunsetunset

Transformer (Transformers)最初是为自然语言处理任务设计的,由于它们在全局感受野和并行性方面具有固有的优越性。在过去的几年里,它们已成功应用于计算机视觉领域,包括图像分类,语义分割 ,目标检测 ,等等。然而,自注意力机制的二次复杂性严重限制了 Transformer 在资源受限场景(如移动设备)中的应用。

最近,大量的工作致力于设计高效的线性复杂度视觉Transformer,可以分为两个主要路线图:

i) 通过使用局部注意力限制感受野;

ii) 利用线性注意力降低复杂度。局部注意力以牺牲视觉Transformer捕捉长程依赖的能力为代价,提高了视觉Transformer的效率,已被证明在高质量特征表示的学习中起着关键作用[11, 29]。与局部注意力相比,线性注意力可以被视为解决二次复杂度问题的更优雅的方式。

实际上,自注意力中的四次复杂度问题主要源于 Query 和键之间的显式相似度测量。因此,线性注意力利用核技巧从自注意力中移除softmax函数并改变整体计算顺序,从而将计算复杂度扩展到线性,同时仍确保模型全局感受野。

线性注意力算法的一个主要缺点是其高熵特性,这意味着由于没有明确测量 Token 之间的关系,它很难抑制无关 Token 的影响 [59]。如图2(a)所示,最近的工作 [16] 提出了一种堆叠线性注意力的方法,以局部归纳偏差的方式堆叠,以指导模型 Aware 到全局上下文,但更关注重要的相邻像素。堆叠的局部增强可以提高线性注意力的有效性。但作者发现,其与局部归纳偏差和远程信息的集成仍然不灵活且低效,这通过交替使用卷积和线性注意力实现,使其在资源受限的场景中部署仍不适用,其中模型的效率至关重要。这自然使作者提出两个问题:

_Q1. 堆叠是否是充分利用局部归纳偏差和远程信息的最佳方法?

_Q2. 是否有可能同时提高线性视觉Transformer的效率和准确性?为了回答这两个问题,作者提出了一种新的数据相关的局部模式,由DAT [49]和BiFormer [62]引入,以便根据 Query 动态搜索重要区域或像素。

CSWin [12] 提出了一种交叉形状的局部注意力,通过计算水平和垂直条纹的注意力进一步降低了计算成本。使用局部注意力可以缓解自注意力计算的二次复杂性,但不可避免地限制了模型捕捉远程信息的能力,这对于学习高质量特征至关重要。

picture.image### Linear Attention

[52] Nystromformer 提出了使用 Nystrom 矩阵逼近策略来逼近自注意力。[5] Performer 设计了一个随机正交特征机制,为自注意力提供了无偏的线性复杂度估计。

SOFT [31] 用高斯核替换 softmax 函数,使得自注意力可以通过低秩矩阵分解被逼近。EfficientAtt [37] 提出将 softmax 应用于 Query 和键分别,因此将自注意力分解为线性。[54] 通过引入头竞争机制,FLatten [15] 进一步减少了线性注意头的维度。

[15] Flatten 提出了一个专注于线性注意的机制,以进一步增加线性注意的聚焦能力和多样性。SLAB [14] 通过引入可重参化的批量归一化,进一步改进了线性注意模型。

Agent [17] 通过引入 Agent Token ,将软max 和线性注意力结合在一起。直接使用线性复杂度来逼近自注意力是困难的。因此,最近 MLLA [16] 通过在堆叠方式中利用局部和全局信息的互补性来增强线性注意力。作者的工作进一步深化了 MLLA [16],揭示了特征的不对称解耦和交互可以完全释放线性注意力的潜力。

unsetunset3 Methodologyunsetunset

Preliminary

自注意力机制。在自注意力机制中, Token 的特征 首先被投影到三个子空间,分别为 Query (queries) , 键(keys) 和值(values) 。然后,利用公式(1)计算自注意力机制的输出 。

其中,, 和 分别表示第 个 Token 的 Query 、 Key和Value , 表示输出投影的权重。

线性注意力。在线性注意力中,进一步采用了核技巧 来改变方程(1)的计算顺序,并将复杂度扩展到线性。

最近,[39, 53] 发现将核函数 设置为恒等算子可以实现令人满意的表现。因此,遵循这些方法,作者在本文中也将 设置为恒等算子。

Motivation

线性注意力与堆叠局部增强 。为了充分利用局部和全局信息的优势,堆叠局部增强策略在[16]中被引入,其可以由公式(3)描述:

在[16]中,每个局部自适应偏置学习器都通过使用深度卷积实现。作者称这些卷积的核大小为,因此学习局部自适应偏置和远程依赖性所需的计算复杂度成本为:

命题1:作者主张局部增强过程可以明确划分为两个步骤:_S1. 学习输入的局部归纳偏差和长程信息;_S2. 充分利用它们之间的互补性。然而,[16]并未区分这两步,并隐式地将它们统一为一个 Pipeline ,其中整体过程通过交替使用卷积和线性注意操作来聚合局部和全局信息。

命题2:将这两个步骤统一起来,会导致两个缺点:

D1. 输入特征应经过所有局部和全局处理器,这是堆叠局部增强的计算 Bottleneck ;

** **D2.算法的灵活性受到严重影响,因为这将使得设计更有效的融合模块来促进局部特征和全局特征之间的信息交换变得困难。上述观察使作者产生了提出一种新的分治法来有效地学习和利用局部归纳偏差和长程依赖性的信息。

Asymmetrical Feature Decoupling: Divide and Conquer!

根据第3.2节中的观察结果,作者提出了一种不对称的特征解耦策略。对于输入特征,作者首先将其划分为两部分,表示为和,其中满足。然后,和被输入到线性注意力操作和局部归纳偏差学习器中,

(6) 和 分别表示关于局部归纳偏置和长程依赖性的学习特征。因此,可以通过分治法学习局部和全局信息。学习局部归纳偏置和长程依赖性所需的计算复杂度成本可以降低。

λ2=d2/d 是作者在使用解耦学习方法后计算复杂性的缩放因子, λ1=(d1/d)2。

命题3 :线性注意力具有平方复杂度与通道维数的关系,即。特征应以非对称方式解耦,即且d_1<d_2d\_{1}<d\_{2},这进一步提高了模型的效率。< p=""></d_{2}$,这进一步提高了模型的效率。<>

_证明1 :

因此

且 时,作者有 ,因为 Δ_1<d\Delta\_{1}<d,且核函数大小通常满足 k2<<dk^{2}<<d,从而证明了作者非对称设置(δ_1="">0的复杂性相较于对称场景Δ_2=0\delta\_{1}="">0的复杂性相较于对称场景\Delta\_{2}=0)要低。</d,从而证明了作者非对称设置(,从而证明了作者非对称设置(\delta_{1}="">

Decoupled Dual-Interactive Linear Attention

基于不对称特征解耦策略,作者提出了一种新的_de_Coupled duAl-interactive lineaR atEntion (CARE), 如图3(b)所示。作者的CARE完全考虑了特征的互补性,有助于解耦学习方法实现高准确性和高效性。

picture.image在这部分中,为了更好的解释,作者使用 和 来表示由第 个 CARE 块在第 个阶段处理的特征和动态记忆单元。

动态记忆单元 。不同层的特点各自具有优势,并且相互补充 [3, 35]。因此,作者在CARE中引入了一个动态记忆单元,用于动态记录网络中的学习特征。对于每个阶段的第一个CARE块,作者通过同时考虑特征和上一阶段()存储的记忆来构建动态记忆单元。

在第s-1个阶段的最后一个块中,和分别表示特征和更新到的内存单元,表示连接操作。作者将2x2卷积的步长设置为2,以保持第s-1个阶段和s阶段特征分辨率的一致性。这样,来自前几层的特征可以重放和与后续阶段中的特征进行交互。

双重交互 。CARE考虑了特征之间的双重交互,即 _i)局部信息与全局信息的交互_,以及 _ii)不同层特征之间的交互_,可以用公式(12)来描述:

在第s阶段的第t个CARE块中,全局和局部特征和被学习,如方程(5)、(6)和(7)所示。此外,表示在双重交互之后包含局部和全局信息的特征。第一个交互函数促进局部和全局特征之间的信息交换,而第二个交互函数进一步考虑不同层之间的特征交互,并动态更新记忆信息。通过进行双重交互,网络学习的特征中的信息可以得到充分利用。

双交互模块 。如图3(c)所示,设计了一种新的双交互模块,以促进特征之间的交互,其中两个交互模块分别用于实现两个交互函数和。每个交互模块可以描述为

作者首先将 和 拼接在一起,并使用归一化层 对输入进行归一化。然后,使用一个 卷积在通道域中进行特征交互,并将输入映射到具有扩展集为 的潜在高维空间。接下来,采用一个 深度卷积在空间域中进行特征交互。最后,再使用一个 卷积实现跨通道的特征交互,并将潜在特征映射回原始空间。

CARE Transformers

根据作者提出的CARE,作者进一步提出了CARE Transformers。如图3(a)所示,作者的CARE Transformers总共包含四个阶段,每个阶段都由多个CARE模块组成。作者使用4x4卷积核和步长为4来实现茎层。对于CARE-S0,CARE-S1和CARE-S2,每个阶段的注意力模块数量分别设置为,和。因此,特征维度的设置为,和。对于作者所有的模型,作者采用非对称设置,并将动态记忆单元的维度设置为。

为了帮助模型捕捉多尺度感受野的局部归纳偏差,作者实现了一个使用多个卷积的本地偏差学习器,即一个3x3和7x7的逐点卷积,以及用于解耦的逐点卷积。这意味着,正如公式(5)、(6)和(7)所示,作者将局部特征分为两部分,分别使用3x3和7x7卷积处理它们,然后将它们连接在一起以形成的最终输出。此外,遵循[42, 54],作者在前两个阶段不应用线性注意操作,而是使用1x11和11x1的逐点卷积来聚合长程信息。

unsetunset4 Experimentsunsetunset

作者进行了大量的实验来证明作者方法的有效性。首先,作者将作者的模型与ImageNet-1K [10]上的对应模型进行比较,然后引入了作者模型在COCO [27]和ADE20K [61]数据集上的结果。最后,作者提供了对模型每个组件影响的分析。

Image Classification

实现细节 。ImageNet-1K [10] 是最著名的图像分类基准测试之一,包括约130万训练图像和50000张测试图像。在ImageNet-1K上,作者使用PyTorch [34] 和 timm [48]构建代码,并在设置初始学习率为时使用AdamW [30]更新模型参数。作者将模型在12张RTX 4090 GPU卡上训练300个周期,每个卡的批量大小设置为128。训练期间使用了数据增强策略,包括标准随机裁剪、水平翻转、RandAugment [9]、Mixup [57]、CutMix [56]、随机擦除 [60] 和颜色抖动 [40]。同时,使用了标签平滑 [40]、随机深度 [22] 和权重衰减 [21]来规范化训练过程。

实验结果 。ImageNet-1K数据集上的实验结果汇总在表1中。根据这些结果,作者可以得出以下结论。首先,在相同的计算成本下,作者的模型显然具有更高的准确性。例如,在计算0.7 GMACs的成本下,作者的CARE-S0可以达到78.4%的准确率,比MobileViG-T和FastViT-T8高2.7%和1.7%。在计算1.9 GMACs的成本下,作者的CARE-S2的准确率为1.1%,比EdgeViT-S和MobileOne-S3高4.0%。其次,与具有相同准确率的模型相比,作者的CARE Transformers显然具有更高的效率。例如,CARE-S2只需要MLLA-T的一半GMACs,且在iPhone13和iPad Pro上的速度快2.5倍,但其准确率仅比MLLA-T低1.4%。这些实验结果表明,作者的模型可以在准确性和效率之间实现更好的平衡,并展示了在资源受限的移动设备上部署的优势。

picture.image### Object Detection & Instance Segmentation

实现细节 。COCO [27] 是目标检测和实例分割任务中广泛使用的数据集,包含约118万训练样本和5万验证图像。在这个基准测试中,作者使用PyTorch [34]和mmdetection [7]构建作者的模型。此外,作者使用AdamW [30]优化器在12个epoch内训练作者的模型,其中初始学习率设置为,批处理大小设置为24。作者使用在ImageNet-1K数据集上预训练的模型来初始化作者的 Backbone 网络参数。遵循先前的研究[1, 32],作者使用Mask R-CNN [21]来实现检测Head。

实验结果表明,作者的方法在目标检测任务中,CARE-S0在准确率和效率上都优于Flatten-PVT-T,SLAB-PVT-T,FastViT-SA12,PoolFormer-S12和PoolFormer-S24。尽管CARE-S1的GMCAs明显较低,但仍然可以达到与MobileViG-M,MobileViGv2-M,Agent-PVT-T和Swin-T相当的准确度。作者的CARE-S2仅需MLLA-T的一半GMCAs,并在iPhone13上的速度快3倍,在RTX 4090 GPU卡上的速度快2倍,但MLLA-T的APb值仅比作者的模型高3.7%。在实例分割任务中,类似的结果也可以找到。例如,作者的CARE-S2在效率上明显高于Swin-T,Flatten-Swin-T,Agent-Swin-T和SLAB-Swin-T,但仍能保持相当的准确度。这些结果证明了在资源受限的场景下,作者的方法具有优势。

Semantic Segmentation

实现细节:作者还评估了作者的方法在ADE20K数据集的语义分割任务上的性能,该数据集包括约20K的训练样本和2K的测试图像,来自150个类别。在这个数据集上,作者使用PyTorch [34]和mmsegmentation [8]构建作者的模型。作者使用在ImageNet-1K数据集上预训练的预训练权重来初始化作者的 Backbone 网络,然后将其与分割头Semantic FPN [24]相结合。作者使用AdamW [30]优化器训练作者的模型,其中初始学习率设置为,采用多项式衰减调度,批量大小设置为48。

实验结果 。表2中的结果表明,作者的方法在语义分割任务上仍能取得竞争性能。例如,尽管作者的CARE-S1仅花费了Agent-PVT-T,FLatten-PVT-T和PoolFormer-S12的一半的GMACs,但其mIoU仍比这些对照组高0.83%,3.8%,和3.8%。作者的CARE-S2的准确性与Swin-T,FLatten-Swin-T和Agent-Swin-T模型相当。但CARE-S2的效率明显更高。例如,在作者的CARE-S2在iPhone13上的延迟比这些三个对照组低20.9ms,21.3ms和19.5ms,而在RTX 4090 GPU卡上的延迟比它们低0.14s,0.14s和0.12s。

picture.image### Ablation Studies

非对称特征解耦的消融研究 。如表3所示,全非对称解耦策略("w/ Asym")可以帮助模型在效率和准确性上实现更好的性能。相比之下,使用堆叠学习方法("w/ Sta")同时降低了模型的准确性和效率,例如,在ImageNet-1K上仅达到81.4%的Top-1精度,同时在iPhone13上需要2.6毫秒的延迟,在RTX 4090 GPU卡上需要24.8毫秒的延迟。这表明非对称解耦和CARE的双向交互可以有效地、高效地利用学习到的特征信息,这比使用卷积和线性注意操作的替代方法要好。此外,作者的非对称解耦学习策略仍然优于对称策略("w/ Sym"),例如,这两种策略在精度上相当,但作者的非对称解耦学习策略在所有GAMCs、参数和延迟方面的成本更低。作者还与 Baseline ("w/o Local")进行了比较,其中线性注意没有被与局部归纳偏差相结合。没有局部归纳偏差的指导, Baseline 的精度显然低于作者。同时,其效率仍然低于作者的模型,因为作者的非对称特征解耦可以进一步将线性注意的通道级计算开销降低为二次。这证明了作者的方法在解决Q2,即同时提高线性视觉Transformer的准确性和效率方面的有效性。

picture.image对双交互模块的消融研究 作者在表4中提供了双交互模块的消融研究结果。根据这些结果,作者得出以下观察:使用完整的双交互模块可以实现最高的Top-1准确性。而移除第一个交互模块(即Inter)可以稍微提高模型的效率,但会导致2.2%的准确性下降。丢弃第二个交互模块(即Inter)将进一步降低准确性至70.9%,这表明充分利用局部归纳偏差、长程依赖和动态存储记忆之间的互补性的重要性。在表4中,作者还研究了动态存储单元的影响。作者发现从Inter中移除动态存储单元会导致1.9%的准确性下降,表明利用不同层的信息引导模型可以实现更好的性能。

picture.image针对作者的CARE Transformers进行消融研究,结果如表5所示。作者发现,在第一和第二层用线性注意力替代和卷积会导致略微的性能下降,因为在神经网络的浅层中存在更多的噪声或冗余信息,但线性注意力的高熵性质使其难以抑制噪声或冗余信息的影响。表中的结果也表明,学习多尺度感受野的局部归纳偏差可以帮助模型在不明显牺牲模型效率的情况下实现更好的性能。

picture.imageunsetunset5 Conclusionunsetunset

在本文中,作者提出了一种新的耦合双交互线性注意力(CARE)机制 ,该机制揭示了特征的解耦和交互可以充分释放线性注意力的潜力。

作者提出对称地解耦局部归纳偏差和学习过程以及远程依赖关系,从而在保留足够局部和全局信息的同时,进一步提高模型效率。

此外,作者设计了一个动态记忆单元和双交互模块,旨在充分利用局部归纳偏差与远程依赖关系以及不同层之间的特征之间的互补性。

通过采用解耦学习方式并充分利用特征之间的互补性,作者的方法可以实现高效率和高准确性,显示出在资源受限的移动设备上的优越性。

参考文献

[0]. CARE Transformer: Mobile-Friendly Linear Visual Transformer via Decoupled Dual Interaction.

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论