Transformer效率革命,Anchor机制创新,检测、分类、分割全面SOTA!
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
以下文章来源于微信公众号:集智书童
作者:小书童
链接:https ://mp. weixin.qq. com/s/0DBOft24racuJzhHiVaZtw
本文仅用于学术分享,如有侵权,请联系后台作删文处理
导读
本文介绍了一种高效的视觉Transformer架构AnchorFormer,它通过引入Anchor点机制显著降低了全局自注意力的计算复杂度,并能自适应地聚焦图像中对下游任务最有价值的信息。该方法不仅提升了推理效率,还在分类、检测等多项视觉任务上展现出优异性能,验证了其在实际应用中的潜力。
1. 计算复杂度高:传统视觉Transformer(ViT)在处理高分辨率图像时,由于全局自注意力机制的复杂度为,导致计算成本过高。
2. 关键信息分布不均:输入图像中的关键信息通常随机分布在少数区域中,而某些token对下游任务没有帮助。
3. 现有加速方法的局限性:Sparse注意力和窗口注意力等方法虽然能降低复杂度,但可能会丢失重要特征或引入额外障碍(如跨窗口通信)。
1. 基于Anchor点的有效视觉Transformer(AnchorFormer):通过引入Anchor点token来学习关键信息,并加速推理过程。复杂度从降低至,其中是Anchor点数量且。
2. 可微分的全局自注意力学习:将Anchor点表示为神经层中的神经元,利用马尔可夫过程进行可微分的全局自注意力学习。
3. 灵活性与扩展性:AnchorFormer能够灵活地应用于多个视觉任务(分类、检测、分割),并展现出优异的性能和效率。
1. 分类任务:在ImageNet数据集上,AnchorFormer相比当前Baseline实现了高达的准确率提升或的FLOPs减少。
2. 目标检测任务:在COCO数据集上,在可比FLOPs条件下,mAP提升了。
3. 语义分割任务:在ADE210K数据集上,相比PVT和Swin分别实现了和的FLOPs减少,同时mIoU分别提升了和。
1. Anchor点数量的选择敏感性:Anchor点数量过多或过少都会影响模型性能,需要合理设置。
2. 依赖深度学习框架:AnchorFormer的可微分学习依赖于神经网络层的设计,可能增加模型实现的复杂性。
3. 泛化能力待验证:尽管实验表明AnchorFormer在多个任务中表现良好,但其在极端条件下的泛化能力仍有待进一步验证(如超低分辨率或超大分辨率图像)。
通过以上总结可以看出,AnchorFormer是一种高效且灵活的视觉Transformer改进方案,能够在保持高性能的同时显著降低计算复杂度。然而,其参数调优和实际应用中的适应性仍需进一步探索。
近期,视觉Transformer(ViT)通过测量图像块之间的全局自注意力机制,在视觉任务上取得了优异的性能。给定n个图像块,它们将具有二次复杂度,如,当以小粒度分割输入图像时,时间成本较高。同时,关键信息通常随机分布在输入图像的少数区域中,某些token可能对下游任务没有帮助。为解决这一问题,作者引入了一种基于Anchor点的有效视觉Transformer(AnchorFormer),该模型利用Anchor点token来学习关键信息并加速推理。首先,通过估计Anchor点与token之间的二分注意力,复杂度将从降低至,其中m是Anchor点数量,且。值得注意的是,通过将Anchor点表示为神经层中的神经元,作者可以进行可微分的分布学习,并通过马尔可夫过程近似全局自注意力。此外,作者将所提出的模型扩展到三个下游任务,包括分类、检测和分割。大量实验表明了AnchorFormer的有效性,例如,在ImageNet分类任务上,与当前Baseline相比,AnchorFormer实现了高达的更高准确率或的FLOPs减少;在COCO检测任务上,在可比FLOPs条件下,mAP提升了。
Transformer在自然语言处理领域的强大性能[ 49]已引发计算机视觉领域对Transformer的广泛研究。作为核心变体,视觉Transformer(ViT)通过将输入图像分割成具有相同粒度的块,并利用位置嵌入将这些块作为序列进行处理,利用多头自注意力机制提取深度特征表示[ 11]。同时,由于能够捕获块之间的全局相似性,ViT在各种视觉任务上取得了优异的性能,例如图像分类、目标检测、语义分割和古文分析[4,23,29,33,45,50]。视觉Transformer也被扩展到多模态数据[ 37]。例如,文献[ 26]AnchorFormer是一个非常有趣且具有前景的框架,通过低维流形学习机制学习各种模态之间的潜在相关性。它可以有效处理包含大量噪声的某些模态的弱特征。
尽管视觉Transformer(ViTs)在计算机视觉任务中展现出有效性,但计算复杂度是限制其发展的主要Bottleneck。具体而言,由于通过计算每个token的内积来估计全局自注意力,注意力的复杂度随着输入token数量的增加呈平方级增长,如[ 34]。这在处理高分辨率输入时会导致过高的计算成本,并且在实际应用中难以在有限的内存设备上扩展。为解决这一问题,一个有前景的思路是为ViTs引入Sparse注意力[ 70]。它主要限制ViTs仅关注较小的区域,而非全局输入。其中,PVT[ 52]引入Sparse注意力来选择并估计小区域之间的相似性,通过计算这些Query和键之间的内积来实现。然后,它将这些Sparse相似性分配给每个Query-键对,从而获得全局注意力。然而,由于信息特征在输入图像中随机分布,基于Sparse的方法在学习局部特征方面表现较弱,甚至可能丢弃信息特征。与这些Sparse策略不同,一些研究者引入窗口注意力范式来降低复杂度[10,29]。如图1所示,他们将输入token划分为预设计的窗口范式,并限制ViTs仅在窗口内计算注意力并提取深度特征。然而,窗口注意力会引入额外的障碍——跨窗口通信。此外,这种窗口范式也限制了模型结构的设置,例如窗口如何移动。
与所提及的两种高效策略不同,一个自然且有效的思路是引入Anchor点Token来表示信息区域,并基于Anchor点与其他Token之间的关联来学习全局自注意力机制。这一类似的想法已被广泛应用于多个领域[39,64,67]。其中,[64]通过引入Anchor点将图转换为二部图,有效加速了图神经网络的推理过程。[39]通过估计目标与Anchor点之间的IoU来降低计算成本。尽管基于Anchor点的策略可以加速模型推理,但将其扩展到视觉Transformer(ViTs)的关键问题在于如何选择合适的Anchor点以及如何从Anchor点分布中学习全局相似性。
在本文中,作者提出了一种基于Anchor点的有效视觉Transformer(AnchorFormer),该模型引入了Anchor点以加速ViTs,并将复杂度从降低至,其中是Anchor点数量且。与基于Sparse性的方法PVT相比,所提出的AnchorFormer能够对图像数据集中的关键信息进行可微分的学习。
同时,通过马尔可夫过程,所提出的基于Anchor点的策略能够从Anchor点中精确地学习全局自注意力机制。因此,与Swin[ 29]等基于窗口的模型相比,AnchorFormer在泛化到多个ViTs方面具有更高的灵活性。如图2所示,在图像分类和检测任务中,所提出的AnchorFormer在准确性和效率之间始终实现了与其他Baseline相比的最佳权衡。
作者的主要贡献如下:
•为降低复杂度并加速ViTs,作者设计了一种基于Anchor点的方法来表示信息量大的Query。该方法通过估计它们与token之间的二部注意力,生成关键注意力。
•为了能够对不同iable且精确地学习输入图像中随机分布的关键区域,作者将Anchor点Token表示为神经元,并利用神经网络层来拟合分布。
•受马尔可夫过程启发,全局相似性可以从Anchor点的分布中获得。同时,通过调整乘法顺序,它获得了线性复杂度,如。大量实验表明所提出模型的效用,即在分类任务上准确率提高了,或FLOPs降低了。
近期,通过引入多头自注意力机制来提取内在特征,Transformer在自然语言处理等序列任务上展现出优异性能[9,18,49]。受其成功启发,部分研究行人尝试在图像处理和视觉任务上研究类似模型。作为主流模型,视觉Transformer(ViT)将像素分组为一系列块,并直接在这些块上扩展Transformer进行图像分类[ 11]。相较于同等规模的ResNets,ViT在ImageNet上取得了较为理想的准确率。经过在更多大型数据集14百万的预训练,ViT能够实现优异性能,甚至超越部分当前最优Baseline[ 48]。设计了一种仅基于ImageNet训练的无卷积Transformer(DeiT)。
DeiT-B与ViT-B参数相同,实现了的Top-1准确率。遵循ViT的结构,一系列ViT变体被设计用于视觉任务。其中,部分研究行人尝试研究ViT在提取局部信息方面的改进[6,17,29]。TNT将块进一步细分为子块,并设计了内部Transformer模块来建模它们之间的关系[ 17]。SwinTransformer引入了移位窗口机制来探索局部特征之间的联系[ 29]。此外,修改每个注意力头的交互也吸引了众多研究行人的关注。DeepViT引入了跨头通信机制来重新学习特征图并提升性能[ 69]。XCiT计算不同特征通道间的注意力图而非Token,这使得ViT能够扩展到更多高分辨率输入[ 1]。
尽管视觉Transformer(ViTs)及其变体在许多视觉任务上取得了优异的性能,但它们的复杂度随输入token数量的增加呈平方级增长,例如。在内存消耗受限的设备上扩展将需要过高的计算成本,且不切实际。
在本节中,作者回顾了一些旨在提高效率并加速Transformer模型的研究工作。首先,部分研究行人介绍了剪枝和分解策略。[31]证明了针对特定下游任务并非需要所有注意力头。该研究移除部分注意力头,并通过估计每个头对最终输出的影响来减少模型参数。
与此同时,一些工作尝试减少Transformer的宽度而非深度[12,20]。除了剪枝,矩阵分解也被用于提高效率[ 53]。其次,知识蒸馏也被用于提高效率。[32]利用预训练的BERT模型作为教师模型来指导学生Transformer的训练。对于视觉Transformer,[22]将流形学习引入蒸馏过程,以探索patch之间的关系并提升性能。第三,大量研究工作集中于如何在Transformer中引入量化[3,30]。[42]将输入表示为二进制高维向量以降低复杂度。[36]提出了一种全量化Transformer来处理机器翻译任务。最后,更多研究行人关注于设计紧凑型Transformer架构。AnchorFormer也属于这一类别。神经架构搜索(NAS)被引入以自动搜索最佳紧凑型架构[16,43]。受图论启发,一些模型在估计token相似性时引入Sparse性[44,52,63]。然而,由于构建Sparse注意力,这些方法可能会丢弃一些信息特征。尽管基于滑动窗口的策略可以同时解决这个问题并降低复杂度[10,29],但窗口注意力引入了跨窗口通信的额外障碍。在本文中,作者提出了一种新的方法,通过Anchor点token来加速ViTs,该方法不仅能够显著减少参数和计算复杂度,还能增强对关键信息的捕捉。
为学习关键信息并提高效率,本节引入了一种基于Anchor点的视觉Transformer(AnchorFormer)框架。该框架通过估计Anchor点与其他token之间的二分注意力,将复杂度从降低到,其中为token的数量。此外,作者设计了一个神经网络层来表示Anchor点,并对推理所需的关键信息进行可微分学习。该框架如图3所示。
近年来,视觉Transformer(ViT)在视觉任务上展现出令人瞩目的性能。作为ViT的核心组件,自注意力模块通常包含多个注意力头[ 61]。对于个token,每个注意力头可以通过测量所有token之间的相似性来捕获全局信息。
其中𝓆是行向量,是指数函数,是第个头。是注意力矩阵。,K,是Query、Key和Value。它们都是通过对的Token使用三个可学习的权重投影得到的。公式(1)通过计算Query-键对的内积来估计每对Token之间的相似度,其复杂度为并耗费大量成本。此外,Aware到输入图像的关键信息通常随机聚集在少数几个区域中,模型可以更多地关注这些区域之间的相似度。总而言之,有一个自然的问题,如何有效地加速ViTs以学习关键相似度?
在本工作中,token之间的分布用条件概率表示,例如。相应地,它们之间的相似性可以被视为从中采样的结果。因此,vanillaViTs学习到的全局相似性被重新表述为
其中且。如式(2)所示,基础ViTs主要计算Query与键之间的内积来测量全局自注意力。因此,为了加速ViTs,一个直接的想法是选择一些代表性Token,称为Anchor点,其中是Anchor点的数量[ 64]。然后,为了获得全局自注意力并加速ViTs,作者不仅需要获得关键分布,还需要尝试从这些分布中估计全局分布。
具体而言,Anchor点与Token之间的关键相似性可以被视为从中采样的结果。同时,由于Anchor点指示更具代表性的Token,理想的Anchor点应满足以下问题:
其中主要用于衡量Anchor点与其他token之间的距离。值得注意的是,作者采用了与vanillaViTs相同的内积和归一化策略来获得。
其中。同时,遵循基础ViTs,作者也引入来度量token之间的关系。相应地,公式(3)被重新表述为
然后,通过对公式(5)关于求导并令其等于0,即可求解Anchor点
为了估计Anchor点与所有token之间的二部注意力,作者进一步通过矩阵形式重新表述和。设为一个矩阵,其中如公式(4)所示。
其中是一个对角矩阵,且为了连接Anchor点和所有Token,作者引入了一个概率转移矩阵
然后,根据马尔可夫过程[ 2],可以通过一步转移概率进行估计
同样地,。因此,一步转移概率被表述为
其中表示由个Anchor点构建的个token之间的自注意力,而表示Anchor点之间的相似性。此外,由于已经被归一化。
其中。因此,token之间的全局相似性是和全局自注意力的采样结果,全局自注意力是通过计算得到的。
然后,作者解释公式(12)如何加速视觉Transformer(ViT)。需要强调的是,不能被显式计算。核心思想是重新排列乘法顺序。
和的复杂度分别为、和。因此,等式(13)的计算复杂度为。由于和通常小于,复杂度可简化为。更重要的是,如果Anchor点的数量足够小,作者只需即可获得全局自注意力。
由于关键信息通常在输入图像中随机分布,一种理想的策略是利用神经网络层来拟合其分布,并进行可微分的学习以获取关键相似性。同时,根据公式(13),全局自注意力机制直接依赖于关键相似性。因此,作者设计了一种Anchor点Transformer(AnchorFormer),该Transformer专注于在注意力头中进行可微分的关键相似性学习。
具体而言,作者通过两个可学习参数和分别生成键和值。值得注意的是,为了提取深层信息,深度神经网络(DNN)中的神经层通常会引入一个可学习投影矩阵,并计算该矩阵与输入数据的内积。受此启发,式(4)可以与一个神经层相拟合。
其中是一个Anchor点,可以通过可学习参数实现。因此,关键相似度可以进行可微学习,并且可学习Anchor点可以通过梯度下降精确地挖掘整个输入图像的关键区域潜在分布。由于所提出的基于Anchor点的注意力机制可以独立计算,因此它可以自然地扩展到多头自注意力学习。其中,每个头可以通过公式(14)和公式(13)捕获全局自注意力。然后,对于个头,全局多头自注意力通过以下方式计算:
其中是一个投影矩阵,是矩阵拼接运算。
此外,与普通的ViTs相比,所提出的AnchorFormer不仅可以通过引入Anchor点Token来加速ViTs,还能有效降低空间复杂度,这得益于可微分的中心相似度估计。同时,如实验部分所示,所提出的模型在ImageNet分类任务上可达到高达46. 7%的FLOPs减少。特别是,由于探索了整个数据集中中心信息分布,分类精度也得到了提升。
本文设计了一种基于Anchor点的有效视觉Transformer(AnchorFormer),以降低ViT的计算复杂度并专注于学习关键信息。因此,实验主要验证了AnchorFormer在分类、检测和分割三个下游任务上的效率和性能。
为验证所提出模型的性能和效率,作者引入了三个代表性数据集和三个主流计算机视觉任务,即ImageNet数据集[ 8]上的图像分类、COCO数据集[ 28]上的目标检测以及ADE210K[ 68]上的语义分割。其中,ImageNet数据集包含1. 41M张真实图像,分为1K个类别。训练集、验证集和测试集分别包含1. 28M张、50K张和100K张图像。COCO数据集有118K张训练图像和5K张测试图像,包含80个目标类别。ADE210K数据集包含20K张训练图像、2K张验证图像和3K张测试图像。同时,作者将所提出的AncorFormer扩展到代表性模型。在分类任务中,该模型扩展于DeiT[ 48]。作者引入PicoDet[ 62]作为Backbone网络,并将LCNet[ 7]与所提出模型结合用于检测。在分割任务中,作者引入Semantic-FPN[ 24]和UperNet[ 57]作为Backbone网络。
公平地说,所提出的模型和对比方法均使用相同的设置进行训练。对于分类任务,作者采用SGD优化器,使用8块NvidiaRTX4090TiGPU对每个模型进行300个epoch的训练,批大小为256。学习率为,动量为0. 9,权重衰减为0. 05。基于蒸馏的模型将RegNetY[ 38]作为教师网络。对于检测任务,作者使用SGD在COCO数据集上训练模型300个epoch。学习率为0. 01。其他设置与PicoDet[ 62]相同。对于分割任务,训练设置与Maskformer相同。在AnchorFormer中,Anchor点的数量为30。此外,作者从准确性和效率两个方面评估模型在这些任务上的表现。其中,效率指标包括参数数量(Params)和推理FLOPs(FLOPs)。准确指标包括分类的Top1/5,检测的AP、,以及分割的mIoU、mAcc。
为使所AnchorFormer更具说明性,作者利用Grad-CAM[ 41]来可视化和展示所提出方法以及Swin[ 29]、vanillaViT和DeiT等代表性Baseline的深度特征图。图4基于从ImageNet验证集中随机选择的图像,展示了视觉上的比较。从图中可以看出,这些模型能够将更高的注意力集中在与类别相对应的目标区域。与Swin相比,基于ViT的模型能够注意到目标类别的轮廓或形状。
更重要的是,得益于AnchorToken对关键信息的可微分学习,所提出的AnchorFormer能够从全局感受野中区分并更多地关注目标区域,这显著提高了性能。值得注意的是,根据表1,作者的AnchorFormer-S的参数和FLOPs远低于包括Swin-B、ViT-B和DeiT-B在内的比较Baseline。这证明Anchor机制可以减少一些冗余参数,从而提高性能并减小模型尺寸。
为评估分类任务的性能,作者将AnchorFormer扩展到具有不同规模的代表性视觉Transformer架构DeiT[ 48]上,并在ImageNet数据集上将其性能与当前一些Baseline方法进行比较。结果列于表1中。为清晰起见,所有方法根据FLOPs范围分为三类:,和。
与此同时,为验证下游目标检测任务的效率,作者在COCO数据集上扩展了AnchorFormer,并引入了一些高效的检测模型作为Baseline。具体而言,作者采用ESNet[ 62]作为Backbone网络,并将最后一阶段替换为所提出的AnchorFormer。同时,检测Head和训练设置沿用PicoDet。对比结果列于表2。作者发现,AnchorFormer在准确性和效率之间始终取得了最佳平衡,即与YOLO、EfficientDet和FBNetV5相比,在可比FLOPs下,AnchorFormer在mAP上分别提升35. 3%和49. 9%67. 3%。作者的mAP远高于基于MobileNet的检测,在可比参数下。特别是对于YOLO和MobileNet的Baseline模型,所提出的AnchorFormer-T能够以最小的FLOPs实现最高的mAP。这主要是因为所提出的模型能够对图像数据集中随机分布的关键信息进行可微分的深度学习。因此,作者在下游目标检测任务上实现了最佳的性能与效率平衡。
此外,作者在语义分割任务上扩展了所提出的AnchorFormer,并验证了其性能和效率。作者采用Semantic-FPN[ 24]和UperNet[ 57]作为ADE210K数据集的Backbone网络。如表3所示,所提出的模型在准确性和效率方面均优于Baseline模型。其中,作者的AnchorFormer相较于PVT实现了的FLOPs减少和的mIoU提升;相较于Swin实现了的FLOPs减少和的mIoU提升。该实验证明,作者的AnchorFormer可以泛化到各种视觉任务,并取得优异的性能。
为验证包括Anchor点视觉Transformer(Anchor)和可微分Anchor点视觉Transformer(Diff.)在内的设计有效性,作者在图像分类任务上进行了多项消融研究。具体而言,作者在ImageNet数据集上开展研究,并采用vanillaViT和DeiT作为Baseline模型。如表4所示,可微分Anchor点视觉Transformer在准确性和效率方面均优于其他模型。与基本Anchor点视觉Transformer相比,可微分模型实现了22. 2%的FLOPs减少和+4. 5%的top-1准确率提升。这表明所提出的模型能够精确且可微分地学习输入图像数据集中的关键信息。
此外,作者还进行了消融实验以研究不同Anchor点数量的敏感性。作者采用了两种架构,即DeiT-T和DeiT-S。Anchor点数量从[10,30,50,100]中选择。如表5所示,Anchor点数量过多或过少可能无法在ImageNet分类中达到最佳性能。具体来说,在可比较的FLOPs下,具有30个Anchor点的AnchorFormer在DeiT-T和DeiT-S上分别比具有10个Anchor点的AnchorFormer提高了和。这意味着Anchor点数量过少可能会丢弃一些特征并降低性能。具有30个Anchor点的AnchorFormer同时实现了FLOPs减少和top-1准确率提升,而具有100个Anchor点的AnchorFormer则相反。这意味着Anchor点数量过多也会引入冗余信息从而限制性能。因此,作者可以简单地设置Anchor点数量为一个中间值,例如30。
在本文中,作者提出了一种基于Anchor点的高效视觉Transformer,通过Anchor点token学习关键信息,并加速ViTs的推理过程。该方法主要估计Anchor点与token之间的二分注意力,以降低复杂度。
值得注意的是,这些Anchor点可以表示为神经层中的神经元。因此,作者可以通过马尔可夫过程进行可微分的全局自注意力学习,复杂度将降低至,其中是Anchor点数量,且。此外,大量实验验证了AnchorFormer在性能和效率方面的表现。特别是在ImageNet分类任务上,AnchorFormer相比其他当前Baseline实现了高达的准确率提升或的FLOPs减少。
同时,作者相信所提出的基于Anchor点的策略为效率提升开辟了新的视角。未来,利用正向激励噪声理论[ 25]进一步改进所AnchorFormer也具有广阔前景,因为Anchor点注意力可以被视为普通注意力的噪声近似。正向激励噪声[ 25]是首个量化噪声影响的数学框架。这一新颖概念向作者展示了如何系统地研究噪声,而后续一系列工作[21,59,65,66]则向作者展示了如何将这一优雅的框架有效应用于流行的深度学习模型。
[1].AnchorFormer:DifferentiableAnchorAttentionforEfficientVisionTransformer
欢迎加入《AI未来星球》,一起成长
扫描下方二维码即可加入
真诚分享AI落地过程(AI商机->项目签约->算法开发->产品开发->实施运维)中的各方面经验和踩过的坑。
你可以获得什么?
1、大白之前花费10W+购买,AI行业各场景私有数据集下载,星球内倾情分享;2、AI行业研发、产品、商业落地问题咨询(目前AI公司创业中),都可获高质量解答,有效期一年,无限次提问,有问必答。3、定期邀请AI行业各类嘉宾分享,创业/商业等方面的经验!
帮助你解决遇到的实际问题,升职加薪!
大家一起加油!