Loading...

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

大模型1年前 (2023)发布 智源社区
402 0 0

点击下方卡片,关注「集智书童」公众号

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

自注意力(self-attention)视觉Transformer(ViTs)已经成为计算机视觉领域一种非常有竞争力的架构。与卷积神经网络(CNNs)不同,ViTs能够进行全局信息共享。随着ViTs各种结构的发展,它们在许多视觉任务中的优势日益显现。然而,自注意力的二次复杂性使ViTs计算密集型,并且它们缺乏局部性和平移等变性的归纳偏见,因此需要比CNNs更大的模型规模才能有效学习视觉特征。

在本文中,作者提出了一种轻量级高效的视觉Transformer模型,名为DualToken-ViT,它充分利用了CNNs和ViTs的优势。DualToken-ViT通过有效融合基于卷积结构获取的局部信息和基于自注意力结构获取的全局信息的Token,以实现高效的注意力结构。此外,作者在所有阶段都使用了具有位置感知的全局Token,以丰富全局信息,进一步增强了DualToken-ViT的效果。位置感知的全局Token还包含图像的位置信息,使作者的模型更适用于视觉任务。

作者在图像分类、目标检测和语义分割任务上进行了大量实验,以展示DualToken-ViT的有效性。在ImageNet-1K数据集上,作者不同规模的模型分别在只有0.5G和1.0G FLOPs的情况下实现了75.4%和79.4%的准确率,而作者的1.0G FLOPs模型超越了使用全局Token的LightViT-T模型0.7%。

1、简介

近年来,视觉Transformer(ViTs)已经成为各种视觉任务的强大架构,如图像分类和目标检测。这是因为自注意力能够从图像中捕获全局信息,提供充足且有用的视觉特征,而卷积神经网络(CNNs)受到卷积核大小的限制,只能提取局部信息。

随着ViTs的模型规模和数据集规模的增加,性能仍然没有出现饱和迹象,这是CNNs在大型模型和大型数据集方面不具备的优势。然而,在轻量级模型方面,CNNs比ViTs更具优势,因为CNNs具有某些ViTs缺乏的归纳偏见。由于自注意力的二次复杂性,ViTs的计算成本也可能很高。因此,设计基于轻量级的高效ViTs是一项具有挑战性的任务。

为了设计更高效和轻量级的ViTs,PvT和TWin提出了一个金字塔结构,将模型分为多个阶段,每个阶段的Token数量减少,通道数量增加。Separable self-attention和Hydra attention着重于通过简化和改进自注意力结构来减少自注意力的二次复杂性,但它们牺牲了注意力的有效性。减少涉及自注意力的Token数量也是一个常见的方法,例如,[PvT v1, PvT v2, Hilo Attention]对自注意力中的Key和Value进行了降采样。一些基于局部分组自注意力的作品通过分别对分组Token执行自注意力来降低总体注意力部分的复杂性,但这种方法可能会破坏全局信息的共享。

一些作品还通过添加一些额外的可学习参数来丰富主干的全局信息,例如,[Vision transformer with super token sampling,  Mobile-former,  Dual vision transformer]添加了贯穿所有阶段的全局Token分支。这种方法可以为局部注意力(例如基于局部分组自注意力和基于卷积的结构)提供全局信息的补充。然而,这些现有方法使用全局Token时仅考虑全局信息,而忽略了对于视觉任务非常有用的位置信息。

在本文中,作者提出了一种轻量级和高效的视觉Transformer模型,称为DualToken-ViT。作者提出的模型具有更高效的注意力结构,旨在替代自注意力。作者结合了卷积和自注意力的优点,分别利用它们提取局部和全局信息,然后融合两者的输出,以实现高效的注意力结构。虽然窗口自注意力也能够提取局部信息,但作者观察到它在作者的轻量级模型上效率不如卷积。为了减少全局信息广播中自注意力的计算复杂性,作者通过逐步降采样来降低产生键和值的特征图,这可以在降采样过程中保留更多的信息。

此外,作者在所有阶段都使用了具有位置感知的全局Token,以进一步丰富全局信息。与普通的全局Token不同,作者的位置感知全局Token还能够保留图像的位置信息并传递,这可以使作者的模型在视觉任务中具有优势。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

如图1所示,图像中的关键Token与位置感知全局Token中相应Token的相关性更高,这证明了作者的位置感知全局Token的有效性。总之,作者的贡献如下:

  • 作者设计了一种轻量级和高效的视觉Transformer模型,称为DualToken-ViT,它通过融合包含局部和全局信息的局部和全局Token,结合卷积和自注意力的优点,实现了高效的注意力结构。

  • 作者进一步提出了包含图像位置信息的位置感知全局Token,以丰富全局信息。

  • 在相同FLOPs数量的视觉模型中,作者的DualToken-ViT在图像分类、目标检测和语义分割任务上表现最佳。

2 方法论

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

如图2所示,DualToken-ViT基于LightViT的3阶段结构设计。作者模型中的干和合并块的结构与LightViT中相应部分相同。FC表示全连接层。

作者的模型有两个分支:图像Token分支和位置感知全局Token分支。图像Token分支负责从位置感知全局Token中获取各种信息,而位置感知全局Token分支负责通过图像Token分支更新位置感知全局Token并传递信息。在每个Dual Token块的注意力部分,作者从位置感知全局Token中获取信息并融合局部和全局信息。在FFN之后,作者还添加了LightViT提出的BiDim Attn(双向注意力)。

2.1 局部和全局信息的融合

在每个Dual Token块的注意力部分,作者通过两个分支提取局部和全局信息,分别为Conv编码器(卷积编码器)和位置感知Token模块,然后融合这两部分。

局部注意

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

作者在模型的每个块中使用Conv编码器来提取局部信息,因为对于轻量级模型,使用卷积提取局部信息的性能将优于窗口自注意。Conv编码器的结构与ConvNeXt块相同,表示如下:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中是大小为的输入图像Token,是深度卷积,和是点卷积,是层规范化,包含局部信息的是Conv编码器的输出。

位置感知Token模块

这个模块负责提取全局信息,其结构如图3(b)所示。为了降低提取全局信息的复杂性,作者首先对包含局部信息的进行降采样并聚合全局信息。然后使用位置感知全局Token来丰富全局信息。最后,作者将这些全局信息广播到图像Token。

具体过程如下:

1. 降采样

如果的大小较大且与预期大小不匹配,则首先进行两次降采样。然后,通过卷积提取并进行两次降采样,重复此过程M次,直到特征映射大小达到预期大小。与一步降采样方法相比,这种分步降采样方法可以减少降采样过程中信息的损失,并保留更多有用的信息。整个分步降采样过程表示如下:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中DS表示使用平均池化进行两次降采样,表示如果特征映射大小不匹配预期大小,则执行若干卷积和降采样操作,每个操作由表示,表示分步降采样后的结果。

2. 全局聚合

使用多头自注意力对前一步中输出的全局信息进行聚合:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中、和通过线性投影从生成,然后得到包含全局信息的。

3. 丰富全局信息

使用位置感知全局Token G来丰富的全局信息:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中Fuse是两者融合的方式,将在后面与位置感知全局Token一起解释。

4. 全局广播

使用自注意力将中的全局信息广播到图像Token中。此过程表示如下:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中通过图像Token经过线性投影产生,和通过经过线性投影产生。

融合

融合这两个Token,分别包含局部和全局信息:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

2.2 位置感知全局Token

全局聚合能够提取全局信息,但其范围仅在一个块内。因此,作者使用位置感知全局Token G,它贯穿所有阶段,与融合以获取。具有更丰富的全局信息,并可以用于丰富全局信息,还可以在添加相同映射后作为新的位置感知全局Token传递到下一个块中。除了全局信息,位置感知全局Token还传递位置信息。

带有位置信息的全局Token

图3(a)显示了普通的全局Token和作者的位置感知全局Token。一维的全局Token包含全局信息,而作者的二维位置感知全局Token额外包含位置信息。普通的全局Token使用图3(c)中的方式通过多头自注意力融合X和G,并广播全局信息。图3(e)是作者的位置感知全局Token,作者将其设置为与中的Token数量相同,并使用加权求和来融合它们:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中是预先设置的权重。尽管作者的位置感知全局Token会增加参数数量,但它的性能会优于普通的全局Token。MLP。在融合之前,作者为位置感知全局Token使用MLP,这允许更好地融合这两者。MLP的公式如下:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

由于普通的MLP仅在通道维度上操作,作者还尝试使用Token混合MLP来额外提取空间维度的信息:

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

其中Transpose表示空间和通道轴的转置。作者将这个过程称为Mix MLP。

2.3 架构

作者设计了两个不同规模的DualToken-ViT模型,它们的宏观结构如表1所示。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

对于ImageNet-1k数据集上的图像分类任务,作者默认数据增强后的图像大小为224×224。为防止模型复杂度过大,作者将位置感知全局Token的大小设置为7×7。这样,前两个阶段的M分别设置为1和0,的大小正好为7×7。在第三个阶段,图像Token的特征映射大小正好为7×7,这消除了对局部信息提取和降采样的需求,允许直接跳过这些步骤。此外,前两个阶段中Conv编码器中深度卷积的卷积核大小分别为5×5和7×7,分步降采样中的卷积核大小都为3×3。

此外,如果输入图像的大小发生变化(如在目标检测和语义分割任务中),而无法使的大小与位置感知全局Token相同,作者使用插值将的大小更改为与位置感知全局Token相同的大小。在G和的融合中,作者将α设置为0.1。

3、实验

3.1、图像分类

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

将DualToken-ViT与其他两种FLOPs规模的视觉模型进行比较,实验结果如表2所示,作者的模型在两个规模上均表现最佳。例如,DualToken-ViT-S(mix)在1.0G FLOPs的情况下实现了79.4%的准确率,超过了当前的SoTA模型LightViT-T。并且在将MixMLP替换为普通MLP后,作者将准确率提高到了79.5%。

3.2、目标检测与实例分割

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

作者比较了作者模型在Mask R-CNN和RetinaNet架构上与其他模型的性能,实验结果如表3和表4所示。尽管作者的Backbone网络仅有三个阶段,但在相同FLOPs规模的模型中,没有最大分辨率阶段的DualToken-ViT-S仍然表现出色。特别是在使用1×的训练计划的Mask R-CNN架构实验中,作者的Backbone网络在191G FLOPs下实现了41.1%的APb和38.1%的AP m,远远超过了具有相似FLOPs的LightViT-T。这可能与作者的位置感知全局Token有关。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

3.3、语义分割

作者比较了作者的模型在DeepLabv3和PSPNet架构上与其他模型的性能,实验结果如表5所示。在相同FLOPs规模的模型中,DualTokenViT-S在这两种架构上表现最佳。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

3.4 消融研究

MLP

作者比较了应用于位置感知全局Token上的两种MLP:普通MLP和MixMLP。DualToken-ViT-S的实验结果如表2所示。普通MLP比MixMLP准确率高0.1%,但会增加一些额外的FLOPs和参数。这是因为MixMLP提取了空间维度上的信息,它可能会损坏位置感知全局Token上的一些位置信息。

不同的全局Token应用方法

作者比较了三种全局Token应用方法。图3(c)中的方法是最常见的方法。图3(e)显示了作者的方法,它使用加权求和来融合和G。图3(d)结合了前两种方法,用基于多头自注意力的融合替换了作者方法中基于加权求和的融合。

作者在DualToken-ViT-S上进行了实验。在实现中,由于使用多头自注意力融合方法的方法复杂度更高,作者将全局Token的数量设置为8,与LightViT-T相同。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

实验结果如表6所示,表明基于位置感知的方法性能最佳,且比普通方法少了1.1M个参数,仅多了0.06G的FLOPs。由于其他两种方法使用了需要许多参数的基于多头自注意力的融合方法,而作者的方法使用了基于加权求和的融合,所以作者的方法具有最小的参数。这证明了位置感知全局Token的优越性。

位置感知全局Token中的Token数量

作者在ImageNet-1k数据集上对位置感知全局Token的Token数量进行了消融研究,分辨率为224×224。在作者的模型中,位置感知全局Token的Token数量设置为7×7。为了比较不同Token数量对作者模型的影响,作者尝试了各种不同的Token数量设置。如果将Token数量设置为0,则不使用位置感知全局Token。由于当Token数量不是7×7时,和位置感知全局Token的大小不会匹配,因此作者会使用插值将的大小更改为与位置感知全局Token相同的大小。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

在DualToken-ViT-S上的实验结果如表7所示。将Token数量设置为7×7的模型性能最佳,因为Token数量足够,并且不会因插值方法而损害信息。与将Token数量设置为0的情况相比,作者的设置准确率提高了0.3%,仅增加了0.06G的FLOPs和1.1M的参数,这证明了作者的位置感知全局Token的有效性。

局部注意力

作者比较了Conv Encoder和窗口自注意力在作者模型中的作用。作者将窗口自注意力的窗口大小设置为7。DualToken-ViT-S(mix)的实验结果如表8所示。

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

使用Conv Encoder作为局部注意力的模型表现更好,准确率比使用窗口自注意力高0.8%,而FLOPs和参数的数量并没有增加很多。Conv Encoder的性能优越有两个原因。一方面,对于轻量级模型,基于卷积的结构比基于Transformer的结构更有优势。另一方面,窗口自注意力破坏了位置感知全局Token中的位置信息。这是因为基于Transformer的结构没有局部性的归纳偏差。在窗口自注意力中,窗口边缘的特征会因特征图被分割成多个小部分而受损。

降采样

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

作者对位置感知Token模块的逐步降采样部分进行了消融研究。对于一步降采样的设置,作者直接对进行降采样以获得所需的大小,然后将其输入到全局聚合中。DualToken-ViT-S(mix)的实验结果如表9所示。逐步降采样比一步降采样准确率高0.2%,而FLOPs和参数仅增加了0.03G和0.1M。这是因为逐步方法在降采样过程中可以通过卷积保留更多信息。

3.5 可视化

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

为了更直观地感受位置感知全局Token中包含的位置信息,作者可视化了DualToken-ViT-S(mix)中最后一个块的全局广播的注意力图,结果如图4所示。在每一行中,第二和第三张图显示了第一张图中的关键Token与位置感知全局Token中相应Token生成更高的相关性。在每一行的第二张图中,第一张图中的非关键Token与位置感知全局Token的每个部分生成更均匀的相关性。每一行的第四张图显示了整体位置感知全局Token与第一张图的关键Token具有更高的相关性。这些结果表明作者的位置感知全局Token包含位置信息。

4 参考

[1]. DualToken-ViT: Position-aware Efficient Vision Transformer with Dual Token Fusion.

5、推荐阅读

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

ACC-UNet | 致敬ConvNeXt,全卷积结构UNet设计,超越SWin-UNet!

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

DEYOv3来袭 | YOLOv8+DETR造就实时端到端目标检测,无需NMS(主打吸引不开源)

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

终于等到华为对YOLO出手,提出Gold-YOLO | 超越YOLOv8/YOLOv6/YOLOv7

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

扫码加入?「集智书童」交流群

(备注:方向+学校/公司+昵称

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone
DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone

DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone
DualToken-ViT | 超越LightViT和MobileNet v2,实现更强更快更轻量化的Backbone
想要了解更多:

前沿AI视觉感知全栈知识?「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF

行业技术方案?AI安防、AI医疗、AI自动驾驶
AI模型部署落地实战?CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入集智书童-知识星球,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

点击下方“阅读原文”,
了解更多AI学习路上的「武功秘籍」
© 版权声明

相关文章

暂无评论

暂无评论...