卷积神经网络[1-3](convolution neural network,CNN)一直以来是计算机视觉领域的主导模型,但随着Transformer[4]在自然语言处理领域的广泛应用,将其扩展到视觉任务已经成为当今的研究热点之一。ViT(Vision Transformer)由Dosovitskiy等[5]提出,利用图像块作为模型的输入,应用于目标检测[6]、实例分割[7-8]、跟踪[9]、图像生成[10]和图像增强[11]等多项视觉任务中。
在此之前,许多研究者已经对ViT在图像分类任务中的应用进行了综述。Tay等[12]回顾了ViT在语言任务中的应用;Khan等[13]和Han等[14]总结了早期的ViT模型和基于注意力的模型;Lin等[15]提供了关于多种面向视觉应用的最新ViT系统的综述。此外,还有一些从算法角度对图像任务进行的综述研究。毕莹等[16]对遗传算法在图像分析领域的代表性研究工作,如特征提取、图像分类、边缘检测和图像分割等进行了全面且系统的讨论和综述。与其他综述不同的是,本文的目的是回顾最新出现的ViT改进方法在图像分类任务中的应用,并对其进行系统分类。①对于多个基于ViT模型改进的图像分类应用,本文选择了代表性的方法进行全面回顾,并进行详细描述和分析。除了独立分析每个模型,还在一定程度上建立了它们之间的内部联系。②由于现有的ViT方法针对分类任务采用不同的训练方案和超参数设置,本文在不同的数据集和限制条件下进行了多次横向比较。更重要的是,本文总结了对ViT不同模块的改进,包括patch模块、位置编码、多头注意力和前馈神经网络,并进行了总结、分析和比较。③本文还阐述了不同模型的优缺点,并对实验结果进行了分析比较,并提出了ViT未来可能的研究方向。
ViT整体网络结构如图1所示,是第一个用于图像分类的Transformer主干网络。ViT继承了标准Transformer的编码器结构,主要包含patch模块、位置编码、多头注意力和前馈神经网络,以下将对这4部分内容进行具体介绍。
图1 ViT网络结构图
Figure 1 ViT network structure
标准的Transformer接收一个一维的token嵌入序列作为输入。因此,在处理图像任务时,要将二维输入图像x∈RH×W×C重构为一系列展平的图像块x∈RN×(P2×C),即不重叠的patch,此过程通过卷积实现。其中,(H,W)为原始图像的分辨率;(P,P)为每个图像块的分辨率;N=HW/P2为产生的图像块数,同时也是ViT的有效输入序列长度。ViT在其所有层中需使用恒定的隐藏向量的大小D,因此,要将图像块展平,并使用可训练的线性投影来将其映射到D维,将此投影的输出称为块嵌入(patch embedding)。
位置编码被添加到patch embedding层中以保留位置信息。ViT使用标准的可学习一维位置嵌入。位置编码有很多选择,例如,不同频率的正弦和余弦函数如下所示:
(1)
式中:和d分别为向量的索引和长度;pos为序列中每个元素的位置。
如图2所示,多头注意力机制将输入线性投影到多个特征子空间中,并通过几个独立的注意力头并行处理,然后向量被并联映射到最终的输出。多头注意力机制的过程可表述为
(2)
图2 多头注意力结构图
Figure 2 Multihead attention structure
Zi=Attention(Qi,Ki,Vi),i=1,2,…,h;
(3)
MultiHead(Q,K,V)=Concat(Z1,Z2,…,Zh)WO。
(4)
式中:h为头的数量;WO∈Rhdv×dmodel为输出映射矩阵;Zi为每个头的输出向量;WQi∈Rdmodel×dk、WKi∈Rdmodel×dk、WVi∈Rdmodel×dv为3组不同的线性矩阵。
把此过程表述成一个统一的函数,如下所示:
(5)
式中:自注意力权重由Q和K之间的点积运算生成;比例因子和Softmax函数用于将自注意力权重归一化,所得到的权重被分配给V的相应元素,从而产生最终的输出向量。与卷积的稀疏连接类似,多头注意力将输入分离为具有维向量的h个独立的注意力头,并行合并每个头的特征。在不增加额外计算量的情况下,丰富特征子空间的多样性。
前馈网络层(feed-forward network,FFN)等同于多层感知器(multilayer perceptron,MLP),主要由简单的神经网络组成,起到空间变化的作用。具体来说,对于多头注意力得到的特征再进行FFN非线性处理,可以挖掘特征的非线性关系,增强特征的表现能力。因此,多头注意力的输出被送入2个连续的带有RELU激活函数如下所示:
FFN(x)=RELU(W1x+b1)W2+b2。
(6)
式中:RELU(·)为激活函数;W为权重;b为偏置。FFN(·)由2个全连接层和激活函数组成,以此进行特征的维度变换。
ViT可在大规模数据集上做预训练,再迁移到小数据集上做微调,以此获得更好的图像分类结果,同时需要的计算资源也更少。ViT使用由3×108张图片组成的大规模私有数据集JFT-300 M进行预训练,在ImageNet、CIFAR-10和CIFAR-100图像分类数据集上进行测试,取得了与大多数主流CNN方法相似甚至更好的结果,实验结果如表1所示。由于ViT的注意力机制归纳偏置能力较弱,原始patch embedding为一个大卷积,难以获得底层信息,堆层数量受限,造成ViT的参数量和计算复杂度较大,且严重依赖于大规模数据集,因此,虽然已经证明了ViT在图像分类任务中的有效性,但ViT在训练数据不足的情况下很难推广,这也是下一步该方向的研究重点。
表1 ViT实验结果
Table 1 ViT test results
方法数据集准确度/%参数量/M复杂度/GFLOPsViT-B/16↑[5]ImageNet77.9CIFAR-1098.1CIFAR-10087.186743ViT-L/16↑[5]ImageNet76.5ImageNet77.9CIFAR-1098.13075 172
ViT将图像分为多个不重叠的patch,使patch间缺乏信息交互,而图像的边缘、线条和纹理等局部信息影响图像分类任务的准确性,从而降低实验性能。鉴于以上问题,Yuan等[17]提出T2T-ViT(tokens-to-token Vision Transformers),该模型添加了局部性,每个T2T模块将相邻token聚合为一个token,以此对周围token表示的局部结构进行建模,并可以缩短token长度,使得聚合相邻token后的大token具备局部性。通过实验发现,该模型对于ViT改进具备一定的优越性,但是由于重叠patch产生的冗余,该模型转换层的内存和计算负担沉重,还需要进一步进行实验探究。
Wu等[18]在ViT的2个主要部分引入卷积来提高模型性能和效率,主要为使用卷积投影操作替代原有的线性投影层以及在ViT前添加卷积token嵌入层,构造CvT(convolutional Vision Transformers)。卷积token嵌入层对重构后的二维 token特征图通过改变卷积运算参数调整每个阶段的token特征维度和数量。通过这种方式,在每个阶段逐步减少token序列长度,同时增加token特征维数,使得token能够在越来越大的空间上表示越来越复杂的视觉模式。而卷积投影层的目的是实现对局部空间上下文信息进行额外建模,并通过在多头注意力前使用深度可分离卷积对K和V矩阵进行下采样来提高效率。
Wang等[19]提出了具有金字塔结构的ViT(pyramid Vision Transformer,PVT),其网络结构图如图3所示,该模型在ViT的基础上添加了金字塔结构,在4个阶段可以得到不同分辨率的特征图。并在多头注意力前采用空间缩减注意力层对K和V矩阵进行卷积来降低学习高分辨率特征图的资源成本,从而降低计算复杂度。PVT在许多基线模型上证明了层次化ViT的可用性。Wang等[20]在PVT的基础上进行3种改进,改进后的模型称为PVTv2。与PVT的非重叠patch分割方式不同,PVTv2将patch embedding层修改为采用内核大小为7×7、步长为4的卷积层,将图像分为可重叠的patch,以加强patch间的联系;其次,在FFN层的GELU函数前添加深度可分离卷积建模位置信息并且减少计算量,同时删除位置编码;最后将PVT的空间缩减注意力层中的卷积操作替换为对K和V矩阵进行平均池化操作,进一步降低模型的计算复杂度。通过以上修改,PVTv2将计算复杂度降低到线性,并在图像分类任务中取得了很好的性能。
图3 PVT网络结构图
Figure 3 PVT network structure
Pan等[21]提出LIT(less attention Vision Transformers),在早期阶段使用MLP对丰富的局部模式进行编码,并应用自注意力模块来捕获更深层中更长的依赖关系。同时,引入可变形卷积来改进patch embedding层。与常规卷积不同,可变形卷积可以对图像中包含信息量较多的区域进行特征提取,在此过程中调整特征提取位置的偏移量,以此提高模型的工作效率。
ViT主要根据其结构或计算机视觉任务中基于多头注意力的模型进行重新设计。许多方法开始将CNN的层次结构或深度结构扩展到ViT。上述模型共同的改进动机是将层次结构转移到ViT,从而提高模型的泛化能力。所总结模型的实验结果在表2中给出。不难发现,通过改进patch模块不仅可以降低ViT的参数量和计算复杂度,还可以提高实验精度,使模型具有泛化性。
表2 改进patch模块的方法对比
Table 2 Comparison of methods to improve the patch module
方法轮次批大小参数量/M复杂度/GFLOPs准确度/%优点缺点T2T-ViT-14[17]T2T-ViT-14↑384[17]T2T-ViT-24[17]310512/1 02421.54.881.521.517.183.364.113.882.3强大的表示能力,并行计算,可解释性对输入尺寸敏感,数据依赖性,难以处理长距离依赖关系CvT-13[18]CvT-21[18]CvT-13↑[18]CvT-21↑[18]CvT-W24↑[18]3002 04820.04.581.632.07.182.520.016.383.032.024.983.3277.0193.2—综合了卷积和Transformer的优势,处理多尺度信息,并行计算参数量较大,对输入尺寸敏感,训练复杂度高PVT-Tiny[19]PVT-Small[19]PVT-Medium[19]PVT-Large[19]30012813.21.975.124.53.879.844.16.781.261.49.881.7处理多尺度信息,高性能,灵活性强计算复杂度高,参数量较大,依赖于大规模数据集PVTv2-B0[20]PVTv2-B1[20]PVTv2-B2[20]PVTv2-B3[20]PVTv2-B4[20]PVTv2-B5[20]3001283.40.670.513.12.178.725.44.082.045.26.983.262.610.183.682.011.883.8更好的性能,高效的特征提取能力,多尺度特征融合需要更多的计算资源,依赖于大规模数据集LIT-Ti[21]LIT-S[21]LIT-M[21]LIT-B[21]3001 02419.03.681.127.04.181.548.08.683.086.015.083.4减少计算复杂性,减少参数量降低了模型的全局感知能力,对于复杂任务的性能影响不确定
由于标准自注意力是置换变量,从而忽略token的位置信息,因此在ViT中用位置编码将此类位置信息添加回来。典型的位置编码机制包括绝对位置编码(absolute position encoding,APE)[22]、相对位置编码(relative position encoding,RPE)[4]和条件位置编码(conditional position encoding,CPE)[23]以及局部增强位置编码(locally enhanced position encoding,LePE)[24]。Shaw等[22]使用的绝对位置编码是应用最广泛的一种编码。在ViT中,编码是用不同频率的正弦函数生成的,然后将它们添加到输入中。位置编码也是可学习的,使用固定维度矩阵实现,并使用系统自带的优化器与模型参数联合更新。Vaswani等[4]提出了一种用于图像分类的二维相对位置编码,显示了相对于二维正弦嵌入的优越性。相对位置编码考虑了输入序列中token之间的距离。与绝对编码相比,相对位置编码具有平移不变性,并且可以在训练期间自然地处理比最长序列还长的序列。
在使用Transformer模型处理图像分类任务时,APE和RPE处理能力受限,一方面限制了模型处理比训练期间更长序列数据的能力,另一方面在每一个图像块上都添加位置编码会干扰模型的平移不变性。Chu等[23]提出的CPVT(conditional positional Vision Transformers)网络尝试使用CPE解决上述两个问题。与传统的位置编码方式不同,CPE随输入大小而改变,可以为任意输入分辨率的特征图生成位置编码,在保持平移不变性的同时,也可以很容易地处理更长的输入序列,提高图像分类性能。而CSWin Transformer[24]采用的LePE与CPE具有相同的思想,将位置编码作为并行模块添加到自注意力操作中,并对每个ViT块中的V进行深度卷积操作,以增强图像的局部信息。对比了以上4种位置编码机制如图4所示,由图4可以看出,APE和CPE在输入ViT块之前将位置信息添加到token中,而RPE和LePE将位置信息合并到每个ViT块中,其中LePE以一种更直接的方式,将位置信息施加到V上,显示出更大的潜力,可以用作以后位置嵌入的改进方向。
图4 位置编码对比图
Figure 4 Comparison diagram of position coding
将用于图像分类任务的无位置编码和4种位置编码机制进行总结比较如表3所示。根据消融实验结果可知,位置编码可以通过引入局部归纳偏差提高实验精度,虽然RPE在固定输入分辨率的分类任务中取得了和无PE相似的性能,但LePE在任意输入分辨率的任务上表现更好。因此,与APE和CPE相比,LePE具备一定的优越性。
表3 位置编码消融实验
Table 3 Position code ablation experiment
位置编码准确度/%无 PE82.5APE[22]82.6CPE[23]82.2RPE[21]82.7LePE[24]82.7
ViT在图像处理中面临视觉变化、高分辨率和大量像素的问题,导致其在不同场景下的适应性较差。同时,全局多头自注意力的使用增加了计算量。因此,Liu等[25]提出了Swin Transformer,利用沿空间维度的移位窗口机制来模拟全局和边界特征。该模型中金字塔式的层次结构用于缩减分辨率和扩大通道数,从而生成不同尺度的特征图,以便将其应用到计算机下游视觉任务中。Swin Transformer把多头注意力限制在局部窗口中,再将2个连续的窗口进行移动,实现跨窗口交互,此过程将多头注意力层的计算复杂度从O(2n2C)降低到O(4 M2nC),其中n和M为patch大小和窗口大小。通过实验证明,Swin Transformer在ImageNet-1k上达到了84.2%的分类精度。
与上述模型类似,Dong等[24]提出了CSWin Transformer,引入十字形窗口自注意力机制,用于并行计算水平和垂直条带形成的十字形窗口自注意力。每个条带通过将输入特征分割为等宽条带获得,并在网络的不同层改变条带宽度,在限制计算成本的同时实现强大的建模能力,同时引入LePE更好地处理局部位置信息。结合这些设计和分层结构,CSWin Transformer在视觉任务上表现出和Swin Transformer相当的性能。
为了提高模型的效率,局部自注意力在局部区域内进行自注意力计算,造成在单个注意力层中的感受野不够大,导致上下文建模不足。当观察一个场景时,人类通常关注一个局部区域,同时以粗粒度关注非注意力区域。基于这一发现,Zhang等[26]将Swin Transformer与CSWin Transformer的思想结合,设计了局部-全局交互的轴向扩展窗口自注意力机制,来解决ViT计算复杂度过高的问题,同时提高模型在高分辨率视觉任务的泛化性。轴向扩展窗口多头自注意力机制在局部窗口内执行细粒度多头自注意力,在水平轴和垂直轴上执行粗粒度多头自注意力,将K个头分成3个平行组,头数分别为和将这3个并行组的输出重新连接,可以有效地捕获短期和长期视觉依赖关系,从而解决了ViT计算复杂度过高的问题,并大幅度提高图像分类精度。
由于多头自注意力机制在图像大小方面缺乏可扩展性,限制了其在最先进的视觉主干网络中的广泛应用。Tu等[27]提出了一个新的架构MaxViT(multi-axis Vision Transformer),是一种高效、可扩展的多头自注意力模型,称之为多轴多头自注意力,包括局部窗口多头自注意力和网格多头自注意力两部分。窗口多头自注意力和Swin Transformer模型中的多头自注意力类似,都使用固定窗口大小来划分特征图,以获取局部信息。然而,网格自注意力则不同,将输入张量进行网格化,然后进行自注意力计算,以获取全局信息,从而平衡局部和全局计算复杂度。在自注意力块内部,窗口自注意力的输出作为网格自注意力的输入,使得每个块都可以实现局部和全局的空间交互,适应不同大小分辨率的输入。另外,通过结合自注意力模型和深度可分离卷积,可以减少参数数量,提高模型的泛化能力。同时,在多个阶段中重复使用基本构建块来组成分层主干网络。该模型在ImageNet-1k数据集上进行了实验,结果表明,MaxViT与其他类似大小的典型模型相比,具备更少的参数量和更低的计算复杂度以及更高的实验精度,由此证明了该模型的优越性。
Fang等[28]为缓解ViT效率和灵活性之间的冲突,为每个区域提出一个特定token,作为“信使”(messenger,MSG)。通过操纵这些MSG token,可以灵活地在不同区域交换视觉信息,降低计算复杂度。随后将MSG token整合到MSG-Transformer 多尺度架构中。在图像分类任务中,MSG-Transformer取得了具有竞争力的性能,并且在GPU 和 CPU 上的推理速度都有所提升。
虽然ViT在主流分类数据集上取得了与CNN相似甚至更好的性能,但在执行下游任务时,需要多尺度特征,而基本的ViT模型无法提供这种能力。此外,模型的计算量与输入图像大小呈二次复杂性,这使得计算开销非常大。因此,许多研究都致力于改进ViT模型以解决上述问题。
Han等[29]利用Transformer-in-Transformer(TNT)模型来聚合token和像素级表示。该模型使用2个ViT,内部ViT模拟每个patch内的像素级交互,外部ViT提取全局信息。2个ViT中间由一个线性投影层连接,该层将像素映射到其对应的patch来增强局部特征,以此得到局部与全局信息,消除ViT只关注全局信息所带来的弊端。
鉴于Swin Transformer模型中移位窗口的多头自注意力机制较为复杂,在现代深度学习中框架支持性较差,Chu等[30]提出一个局部-全局分离ViT模型Twins。Twins用空间可分离的自注意力机制取代了复杂的Swin Transformer设计。在局部窗口内部使用Swin Transformer中的局部窗口自注意力进行计算,并对每个窗口内部的特征进行压缩,再使用类似于深度卷积或窗口式TNT块的全局自注意力机制去捕获各个窗口的关系。局部注意力层聚合每个子窗口内的相邻patch以增强细粒度特征,全局子采样注意力层用于捕获长距离特征。每个局部patch仅与其他patch及其相应的二维空间相邻交互。虽然该模型形式简单,但实现了与典型Swin Transformer的竞争。
Fan等[31]设计了一种轻量级ViT(CloFormer),利用上下文感知的局部增强模块,并采用双分支设计结构。所提出的卷积注意力有效地融合了共享权重和上下文感知权重,以聚合高频的局部信息。局部分支中卷积注意力首先使用具有共享权重的深度卷积提取局部表示。其次,使用上下文感知权重来增强局部特征;此外,卷积注意力将卷积算子应用于Q和K以聚合局部信息,然后计算Q和K的哈达玛积,并对结果进行一系列变换,生成在[-1,1]的上下文感知权重。全局分支中则使用了传统的注意力机制,但对K和V进行了下采样以减少计算量,从而捕捉低频全局信息。CloFormer能够同时发挥共享权重和上下文感知权重的优势,提高其局部感知的能力,使其在分类任务上取得了优异的性能。
如表4所示,大多数结构的改进方法都针对特定的模型大小、问题或特定的输入分辨率对模型进行了优化,从而降低模型的计算复杂度,使模型更易于训练,提高模型性能。
表4 改进多头注意力机制方法对比
Table 4 Comparison of methods to improve multihead attention mechanism
方法轮次批大小参数量/M复杂度/GFLOPs准确度/%优点缺点Swin-T[25]Swin-S[25]Swin-B[25]Swin-B↑[25]Swin-L↑[25]300/601 024/4 09629.04.581.3050.08.783.0088.015.483.3088.047.084.20197.0103.9—高效的注意力计算,高性能的视觉特征表示,良好的可扩展性需要更多的计算资源,参数量较大TNT-S[29]TNT-B[29]TNT-S↑[29]TNT-B↑[29]3001 02423.85.281.3065.614.182.8023.8—83.1065.6—83.90强大的建模能力,优秀的空间感知性能,可解释性强计算复杂度较高,参数量较大Twins-S[30]Twins-B[30]Twins-L[30]3001 02424.02.881.3056.08.383.1099.214.883.30并行计算效率高,能够进行多尺度特征融合,可解释性强训练难度较大,参数量较大CSWin-T[24]CSWin-S[24]CSWin-B[24]CSWin-B[24]3001 02423.04.382.7035.06.983.6078.015.084.20173.031.585.40减少计算量,实验精度较高感受野不够大,实验性能易受影响MaxViT-T[27]MaxViT-S[27]MaxViT-B[27]MaxViT-L[27]3004 09631.033.7 85.7269.067.686.19120.0138.586.66212.0245.486.70可以实现局部与全局之间的空间交互,可适应不同大小分辨率的输入参数量较大,需要更多的计算资源AEWin-T[26]AEWin-B[26]30025623.04.083.6078.014.685.00能同时捕获局部与全局自注意力,参数量较小,计算复杂度降低训练难度增大,参数量较多MSG-T[28]MSG-S[28]MSG-B[28]3001 02425.03.882.4056.08.483.4084.014.284.00灵活性高,速度快参数量大,有时会丢失全局信息CloFormer-XXS[31]CloFormer-XS[31]CloFormer-S[31]3001 0244.20.677.007.21.179.8012.32.081.60参数量少,计算复杂度低实验精度需进一步提升
FFN层尽管结构简单,但作为ViT模型的一个模块,在一定程度上影响其分类性能,传统的FFN结构示意图如图5所示。Shaw等[22]提出简单地堆叠多头注意力模块会导致秩崩溃问题,造成token一致性电感偏差,而FFN层恰好能解决这一问题,成为ViT中不可缺少的一部分,因此出现了主要针对FFN模块的修改对ViT改进方法。
图5 ViT的FFN示意图
Figure 5 FFN diagram of ViT
Guo等[32]立足于CNN和ViT的交叉点,提出了一种新的用于视觉识别的模型CMT(convolutional neural networks meet Vision Transformers)。输入图像首先经过卷积层进行细粒度特征提取,再送入多个堆叠的CMT块进行学习。CMT是ViT的改进变体,其局部信息通过深度卷积得到增强,与ViT相比,CMT第一阶段生成的特征图可以保持更高的分辨率,对于其他密集预测任务至关重要。此外,CMT采用类似于CNN[33-35]的阶段式架构设计,使用步长为2的4个卷积层,逐层降低特征图分辨率并增加通道维数。通过此过程提取多尺度特征,并减轻高分辨率特征带来的计算负担。CMT块中的局部感知单元(local perception unit,LPU)和反向残差前馈网络(inverted residual feed-forward network,IRFFN)可以帮助捕获中间特征中的局部和全局结构信息,提高网络的表示能力。其中LPU内部使用深度可分离卷积保持平移不变性,IRFFN类似于反向残差块,由扩展层、激活函数层、深度卷积层和投影层以及归一化层组成,用于提取局部信息。通过上述改进提高其分类性能。
为了提高模型处理多尺度对象的能力,Ren等[36]提出了一种新的策略,称为分流自注意力(shunted self-attention,SSA),允许ViT在每个注意力层的混合尺度上进行建模。SSA的关键思想是将异质感受野大小注入token,在计算注意力矩阵前,选择性地合并token以表示较大的对象特征,并保留某些token以保留细粒度特征。此合并方案可以使注意力学习不同对象大小之间的关系,减少token数量和计算成本。SSA块与ViT中的传统自注意力块有2个主要区别,其一是SSA为每个注意力层引入了一种分流自注意力机制,通过对K、V进行聚合得到不同尺度的特征图,以捕获多粒度信息和不同大小的更好的模型对象;其二是通过在FFN层中的激活函数前增加一个深度可分离卷积层的残差连接增强跨token交互,提高局部建模能力。通过实验验证了该模型在ImageNet数据集上分类任务的有效性。
为了解决ViT对大规模数据集的依赖性,以及无卷积的ViT存在低层特征难提取和忽略空间维度局部性的问题,Yuan等[37]提出了一种卷积增强图像ViT(convolution-enhanced image Transformers,CeiT),结合了CNN提取低层特征以及ViT在处理长时依赖方面的优点。与ViT相比有3个方面的改进。第一,设计了一个图像到token(image-to-tokens,I2T)模型,该模型从生成的低层特征中提取出较小尺寸的图像块,将图像块展平成一系列token,而不是直接从原始输入图像中进行提取。受该结构的影响,I2T模块没有引入更多的计算成本。第二,每个编码器块中的前馈网络层被替换为局部增强前馈(locally-enhanced feed-forward,LeFF)层,该层在空间维度上促进相邻token之间的相关性。第三,为了充分利用自注意力的能力,在ViT的顶部附加了一个利用多层表示的逐层class token自注意力(layer-wise class token attention,LCA)。该方法在ImageNet数据集上进行了实验,实验结果的提升有效验证了上述模型改进的有效性。
表5对本文针对FFN层的改进模型进行了分析比较。目前对FFN层改进较为常见的方法是在FFN层以串行或残差连接的方式添加深度可分离卷积,在降低模型参数量的同时增强模型对局部信息的建模能力,从而提高模型的分类精度。上述模型大多采用300轮、批大小为1 024的实验参数,在ImageNet数据集上进行相关实验,实验精度的提高有效佐证了对FFN层改进的可行性。
表5 改进前馈神经网络方法对比
Table 5 Comparison of improved feed-forward neural network method
方法轮次批大小参数量/M复杂度/GFLOPs准确度/%优点缺点CMT-Ti[32]CMT-XS[32]CMT-S[32]CMT-B[32]CMT-L[32]3001 0249.50.679.115.21.581.825.14.083.545.79.384.574.719.584.8CNN捕获局部信息,Transformer捕获全局信息复杂度较高Shunted-T[36]Shunted-S[36]Shunted-B[36]3001 02411.52.179.822.44.982.939.68.984.0多尺度特征信息,高实验性能参数量大,计算复杂度高CeiT-T[37]CeiT-S[37]CeiT-T↑384[37]CeiT-S↑384[37]3001 0246.41.276.424.24.582.06.43.678.824.212.983.3泛化能力较强,收敛速度较快,训练周期较短引入了卷积层的参数,使得参数数量上升
由于ViT依赖于大规模数据集,因此,如何对数据进行收集整理逐渐成为难点。同时ViT对模型进行训练时,过长的训练时间以及过高的计算复杂度使模型难以承担。鉴于此,越来越多的研究者关注到了小样本学习,以解决图像分类任务中数据集过大的问题,通过对ViT的不断研究,人们发现该模型中的部分组件并不是取得良好的图像分类结果的关键,鉴于ViT在图像分类任务的成功,逐渐将该方法迁移到视频分类任务。
(1)小样本学习。目前,基于深度神经网络的机器学习方法已经在人脸识别、自动驾驶、机器人等图像识别相关领域取得了巨大的成就,有的甚至已经超过人类目前的识别水平,但是还存在标注数据耗时和算力的问题。图像识别任务也因此受限,阻碍智能化图像识别技术的发展。而小样本学习是在少量标注数据上进行训练和学习,目前经常研究的问题为N-way k-shot形式,其含义为N类数据,每类数据包含k个标注样本。因此,如何将深度学习与少量样本的数据进行结合、基于小样本的图像识别研究逐渐成为关注的热点。
(2)ViT未来改进方向。最近的一些方法[38-41]将ViT中的多头注意力机制抽象为一个token混合器,将ViT模型抽象为一个元模型,并通过向混合器里面填充不同的模块来探索注意力机制对ViT的影响。Yu等[42]认为多头自注意力机制并不是影响模型性能的关键因素,因此,使用全局平均池化层替代自注意力机制取得了较高的实验精度,同时降低了计算量,使未来的研究方向不用过分关注于计算复杂度较高、参数量较大的自注意力机制。
(3)Video Transformer发展方向。鉴于ViT在图像分类的成功应用,该模型被逐渐应用于对视频数据进行建模。Video Transformer[43]与图像ViT的设计有共性,但视频固有的大维度将加剧ViT的局限性,需要进行特殊处理。同时,额外的时间维度还需要不同的嵌入、token策略和相关架构。最后,视频媒体通常与其他模式配对,使得该模型特别容易在多模式设置中使用。
[1] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2016: 770-778.
[2] TAN M X, LE Q V. EfficientNet: rethinking model scaling for convolutional neural networks[EB/OL]. (2020-09-11)[2023-08-09]. https:∥arxiv.org/abs/1905.11946.
[3] RADOSAVOVIC I, KOSARAJU R P, GIRSHICK R, et al. Designing network design spaces[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2020: 10425-10433.
[4] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]∥Proceedings of the 31st International Conference on Neural Information Processing Systems. New York: ACM, 2017: 6000-6010.
[5] DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16×16 words: Transformers for image recognition at scale[EB/OL]. (2021-06-03)[2023-08-09]. https:∥arxiv.org/abs/2010.11929.
[6] CARION N, MASSA F, SYNNAEVE G, et al. End-to-end object detection with Transformers[J] Lecture Notes in Artificial Intelligence, 2020,12346: 213-229.
[7] WANG H Y, ZHU Y K, ADAM H, et al. MaX-DeepLab: end-to-end panoptic segmentation with mask Transformers[C]∥2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2021: 5459-5470.
[8] CHENG B W, SCHWING A G, KIRILLOV A. Per-pixel classification is not all you need for semantic segmentation[EB/OL]. (2021-08-31)[2023-08-09]. https:∥arxiv.org/abs/2107.06278.
[9] CHEN X, YAN B, ZHU J W, et al. Transformer tracking[C]∥2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2021: 8122-8131.
[10] JIANG Y F, CHANG S Y, WANG Z Y. TransGAN: two pure Transformers can make one strong GAN, and that can scale up[EB/OL]. (2021-12-09)[2023-08-09]. https:∥arxiv.org/abs/2102.07074.
[11] CHEN H T, WANG Y H, GUO T Y, et al. Pre-trained image processing Transformer[C]∥2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2021: 12294-12305.
[12] TAY Y, DEHGHANI M, BAHRI D, et al. Efficient Transformers: a survey[J]. ACM Computing Surveys, 2023, 55(6): 1-28.
[13] KHAN S, NASEER M, HAYAT M, et al. Transformers in vision: a survey[J]. ACM Computing Surveys, 2021, 54(S10): 1-41.
[14] HAN K, WANG Y H, CHEN H T, et al. A survey on Vision Transformer[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2023, 45(1): 87-110.
[15] LIN T Y, WANG Y X, LIU X Y, et al. A survey of Transformers[J]. AI Open, 2022, 3: 111-132.
[16] 毕莹, 薛冰, 张孟杰. GP算法在图像分析上的应用综述[J]. 郑州大学学报(工学版), 2018, 39(6): 3-13.
BI Y, XUE B, ZHANG M J. A survey on genetic programming to image analysis[J]. Journal of Zhengzhou University (Engineering Science), 2018, 39(6): 3-13.
[17] YUAN L, CHEN Y P, WANG T, et al. Tokens-to-token ViT: training Vision Transformers from scratch on ImageNet[C]∥2021 IEEE/CVF International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2021: 558-567.
[18] WU H P, XIAO B, CODELLA N, et al. CvT: introducing convolutions to Vision Transformers[C]∥2021 IEEE/CVF International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2022: 22-31.
[19] WANG W H, XIE E Z, LI X, et al. Pyramid Vision Transformer: a versatile backbone for dense prediction without convolutions[C]∥2021 IEEE/CVF International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2021: 568-578.
[20] WANG W H, XIE E Z, LI X, et al. PVTv2: improved baselines with pyramid Vision Transformer[J]. Computational Visual Media, 2022, 8(3): 415-424.
[21] PAN Z Z, ZHUANG B H, HE H Y, et al. Less is more: pay less attention in Vision Transformers[EB/OL]. (2021-12-23)[2023-08-09]. https:∥arxiv.org/abs/2105.14217.
[22] SHAW P, USZKOREIT J, VASWANI A. Self-attention with relative position representations[EB/OL]. (2018-04-12)[2023-08-09]. https:∥arxiv.org/abs/1803.02155.
[23] CHU X X, TIAN Z, ZHANG B, et al. Conditional positional encodings for Vision Transformers[EB/OL]. (2023-02-13)[2023-08-09]. https:∥arxiv.org/abs/2102.10882.
[24] DONG X Y, BAO J M, CHEN D D, et al. CSWin Transformer: a general Vision Transformer backbone with cross-shaped windows[C]∥2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2022: 12114-12124.
[25] LIU Z, LIN Y T, CAO Y, et al. Swin Transformer: hierarchical Vision Transformer using shifted windows[C]∥2021 IEEE/CVF International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2021: 10012-10022.
[26] ZHANG Z M, GONG X. Axially expanded windows for local-global interaction in Vision Transformers[EB/OL]. (2022-11-13)[2023-08-09]. https:∥arxiv.org/abs/2209.08726.
[27] TU Z Z, TALEBI H, ZHANG H, et al. MaxViT: multi-axis Vision Transformer[C]∥European Conference on Computer Vision. Cham: Springer, 2022: 459-479.
[28] FANG J M, XIE L X, WANG X G, et al. MSG-Transformer: exchanging local spatial information by manipulating messenger tokens[C]∥2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2022: 12053-12062.
[29] HAN K, XIAO A, WU E H, et al. Transformer in Transformer[EB/OL]. (2021-08-26)[2023-08-09]. https:∥arxiv.org/abs/2103.00112.
[30] CHU X X, TIAN Z, WANG Y Q, et al. Twins: revisiting the design of spatial attention in Vision Transformers[EB/OL]. (2021-09-30)[2023-08-09]. https:∥arxiv.org/abs/2104.13840.
[31] FAN Q H, HUANG H B, GUAN J Y, et al. Rethinking local perception in lightweight Vision Transformer[EB/OL]. (2023-06-01)[2023-08-09]. https:∥arxiv.org/abs/2303.17803.
[32] GUO J Y, HAN K, WU H, et al. CMT: convolutional neural networks meet Vision Transformers[C]∥2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2022: 12165-12175.
[33] WOO S, DEBNATH S, HU R H, et al. ConvNeXt V2: co-designing and scaling ConvNets with masked autoencoders[C]∥2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2023: 16133-16142.
[34] SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 4510-4520.
[35] LIU Z, MAO H Z, WU C Y, et al. A ConvNet for the 2020s[C]∥2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2022: 11966-11976.
[36] REN S C, ZHOU D Q, HE S F, et al. Shunted self-attention via multi-scale token aggregation[C]∥2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2022: 10853-10862.
[37] YUAN K, GUO S P, LIU Z W, et al. Incorporating convolution designs into Visual Transformers[C]∥2021 IEEE/CVF International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2022: 559-568.
[38] LEE-THORP J, AINSLIE J, ECKSTEIN I, et al. FNet: mixing tokens with Fourier Transforms[EB/OL]. (2022-05-26)[2023-08-09]. https:∥arxiv.org/abs/2105.03824.
[39] MARTINS A F T, FARINHAS A, TREVISO M, et al. Sparse and continuous attention mechanisms[EB/OL]. (2020-10-29)[2023-08-09]. https:∥arxiv.org/abs/2006.07214.
[40] MARTINS P H, MARINHO Z, MARTINS A F T. ∞-former: infinite memory Transformer[EB/OL]. (2022-05-25)[2023-08-09]. https:∥arxiv.org/abs/2109.00301.
[41] RAO Y M, ZHAO W L, ZHU Z, et al. Global filter networks for image classification[EB/OL]. (2021-10-26)[2023-08-09]. https:∥arxiv.org/abs/2107.00645.
[42] YU W H, LUO M, ZHOU P, et al. MetaFormer is actually what you need for vision[C]∥2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2022: 10819-10829.
[43] BERTASIUS G, WANG H, TORRESANI L. Is space-time attention all you need for video understanding? [EB/OL]. (2021-02-24)[2023-08-09]. https:∥arxiv.org/abs/2102.05095.