Visformer: The Vision-friendly Transformer

视觉友好型transformer

摘要

近年来,将transformer模块应用于视觉问题迅速发展。虽然一些研究人员已经证明了基于transformer的模型具有良好的数据拟合能力,但仍有越来越多的证据表明这些模型存在过拟合,特别是在训练数据有限的情况下。本文通过逐步操作,将基于transformer的模型逐步过渡到基于卷积的模型进行了实证研究。我们在过渡过程中获得的结果为提高视觉识别提供了有用的信息。基于这些观察,我们提出了一种名为Visformer的新架构,缩写为Vision-friendly transformer。在相同的计算复杂度下,Visformer在ImageNet分类精度方面优于基于transformer和基于卷积的模型,当模型复杂度较低或训练集较小时,优势变得更加显著。该代码在https://github.com/danczs/Visformer.上找到。

1.介绍

在过去的十年里,卷积在视觉识别的深度学习模型[22,29,31,15]中起着核心作用。当源自自然语言处理[35,13,25]的模块transformer[35]被移植到视觉场景中时,这种情况就开始发生改变。在ViT模型[14]中显示,一个图像可以被分割成一个补丁的网格,transformer直接应用在网格上,就像每个补丁都是一个可视化的单词一样。ViT需要大量的训练数据(例如,ImageNet-21K[12]或JFT-300M数据集),这可以说是因为transformer配备了大范围的注意机制和交互,因此容易发生过拟合。[34]的后续工作在一定程度上改进了ViT,但这些模型仍然表现不佳,特别是在有限训练或与基于卷积的模型相比,进行适度的数据增强。


表1 ResNet-50、DeiT-S和ImigeNet分类中提出的Visfomer-S模型的比较。尽管DeiT-S在elite setting下表现良好,但当使用base setting或使用较少的数据用于训练时,它的性能会显著下降。相比之下,Visfomer-S对base setting和elite setting都很友好,并且使用有限数量的训练数据报告较小的精度下降。详细设置请参考正文。

另一方面,在大量数据训练下,Vision Transformers可以获得比基于卷积的模型更好的性能。也就是说,Vision Transformers具有更高的“上限”,而基于卷积的模型在“下界”更好。上界和下界都是神经网络的重要特性。上界是实现更高性能的潜力,下界使网络在有限数据训练或扩展到不同复杂性时表现更好。

基于transformer和卷积的网络的下界和上界的观察,本文的主要目的是识别差异背后的原因,从而设计出具有较高下界和上界的网络。基于transformer的网络和基于卷积的网络之间的差距可以通过ImageNet上的两种不同的训练设置来揭示。第一个是base setting。它是基于卷积的模型的标准设置,即训练计划更短,数据增强只包含基本的操作,如随机大小的裁剪[32]和翻转。本文将此设置下的性能称为基础性能。另一个是在[34]中使用的训练设置。它对基于transformer的模型进行了仔细的调整,即训练计划更长,数据增强更强(例如,已经添加了随机增强[11]、CutMix[41]等)。我们使用elite setting性能来指代它所产生的准确性。

我们以DeiT-S[34]和ResNet-50[15]作为基于transformer和卷积的模型为例。如表1所示,Deit-S和ResNet-50采用了可比的FLOPs(每秒浮点运算次数)和参数。然而,在这两种设置下,它们在完整数据上的表现非常不同。Deit-S具有更高的性能,但将设置从elite setting改变到base setting会导致DeiT-S的+精度下降10%。ResNet-50在base setting下表现得更好,但对高级设置的改进仅为1.3%。这促使我们去研究这些模型之间的区别。在这两种设置下,我们可以大致估计模型的下界和上界。我们使用的方法是执行一步一步的操作,以逐步将一个模型转变到另一个模型,这样我们就可以识别这两个网络中的模块和设计的特性。整个过渡过程,共采取8个步骤,如图1所示。

图1 从DeiT开始到ResNet-50结束的过渡过程。为了节省空间,我们只展示了三个重要的动作。第一步将DeiT从transformer转换为卷积视图(第3.3.1节)。第二步采用逐步补丁嵌入(详见第3.3.2节),并介绍了逐步设计(第3.3.3节)。第三步用卷积取代了自我注意模块(第3.3.7节)。右上角的区域显示了一个相对较小的修改,插入了3×3卷积(第3.3.5节)。右下角区域比较了3×3卷积和自我注意的接受域。这个数字最好用颜色来看。

具体来说,从DeiT-S到ResNet-50,应该(i)使用全局平均池(非分类标记),(ii)引入逐步补丁嵌入(非大补丁扁平),(iii)采用阶段级主干设计,(iv)使用批量归一化[20](非层归一化[1]),(v)利用3×3卷积,(vi)放弃位置嵌入方案,(vii)用卷积替换自我注意,最后(viii)调整网络形状(如深度、宽度等)。在深入分析了结果背后的原因后,我们吸收了所有有助于视觉识别的因素,并推导出Visformer,即Vision-friendly transformer

通过ImageNet的分类评估,Visformer声称比竞争对手DeiT和ResNet性能更好,如表1所示。在elite setting下,在类似的模型复杂度下,Visformer-S模型分别比DeiT-S和ResNet-50高出2.12%和3.46%。与Deit-S不同的是,Visformer-S也有了两个额外的挑战,即当模型使用10%的标签(图像)和10%的类进行训练时。Visformer-S甚至优于ResNet-50,这揭示了Visroer-S的高下限。此外,对于微型模型,Visformer-Ti的性能显著超过Deit-Ti6%以上。

本文的贡献有三方面。首先,我们首次引入了下界和上界来研究基于transformer的视觉模型的性能。其次,我们通过逐步转换过程来缩小基于transformer和基于卷积的模型之间的差距,从而确定了基于transformer和基于卷积的模型中的设计特性。第三,我们提出Visformer作为实现满足下界和上界,同时具有良好的可伸缩性的最终模型。

2. Related work

图像分类是计算机视觉中的一项基本任务。在深度学习时代,最流行的方法是使用深度神经网络[21,29,15]。构建这种网络的基本单元之一是卷积,其中许多卷积内核用于捕获输入图像和中间数据中可重复的局部模式。为了降低计算成本并减轻过拟合的风险,我们认为卷积核的尺寸应该很小,如3×3。然而,这带来了图像中遥远的上下文相互交互的难题——这也是层数不断增加的部分原因。尽管堆积了越来越多的层,研究人员考虑了另一种途径,即使用基于注意力的方法来简化视觉信息的传播。

自从transformer在自然语言处理(NLP)[35,13,25]方面取得了显著的成功以来,许多人都在努力将transformer引入视觉任务。这些作品主要分为两类。第一类是由纯注意力模型[27,18,43,10,14,34,36]组成的。这些模型通常只利用自注意机制,并试图建立没有卷积的视觉模型。然而,对于真实的全尺寸图像,将所有像素与自注意联系起来的计算成本是昂贵的。因此,人们需要使自我注意力只集中在局部的像素上(如SASA[27],LRNet[18],SANet[43])。这些方法用局部自注意代替卷积来学习局部关系,并取得了良好的结果。然而,它需要复杂的工程来有效地将自注意应用到图像中的每个局部区域。另一种解决复杂性问题的方法是将自注意应用于降低分辨率。这些方法要么首先降低分辨率和颜色空间为[10],要么将图像补丁而不是像素视为令牌(即单词)[14,34]。然而,分辨率降低和补丁扁平化通常使得在自然图像中利用局部先验更加困难。因此,这些方法通常获得次优结果[10]或需要大量的数据集[14]和重增强[34]。

第二类包含不仅有自注意,而且有卷积的网络。自注意首先由非局部神经网络[37]引入卷积神经网络。这些网络旨在捕捉图像和视频中的全局依赖关系。值得注意的是,非局部神经网络的灵感来自于视觉任务[5]中的经典的非局部方法,与transformer不同的是,非局部网络中的自注意通常不配备多头和位置嵌入[37,6,23]。之后,transformer在NLP任务[13,25]中取得了显著的成功,因此,它继承了NLP设置的自注意机制(如多头、位置编码、分类令牌等)。与卷积相结合来改善视觉任务[27,3,2]。一种常见的组合是首先利用卷积,然后应用[14,30]之后的自我注意。[14]通过在transformer之前添加一个ResNet主干来构建自我注意和卷积的混合体。除了在浅层利用卷积外,BotNet[30]还设计了自注意的瓶颈单元。此外,自注意已被用于许多下游视觉任务(检测[7],分割[9])和低视觉任务[8]。这些方法主要同时利用自注意和卷积。

3.方法

3.1基于transformer和卷积的视觉识别模型

识别是计算机视觉的基本任务。本研究主要考虑图像分类,其中输入图像通过深度网络传播,得到输出类标签。大多数深度网络都是以分层的方式设计的,并由一系列的层组成。

我们考虑两个常用的层,称为卷积和transformer。卷积源于捕获局部模式,被认为比全局模式更可重复的直觉。它使用许多可学习的内核来计算输入对不同模式的响应,其中滑动窗口沿着输入数据的两个轴移动滑动窗口,并计算数据和内核之间的内部积。在本文中,我们将我们的研究限制在残差块的范围内,一个2或3个卷积层和一个跳过连接的组合。在相邻的卷积层之间插入非线性,如激活和归一性。

另一方面,transformer起源于自然语言处理,其目的是经常形成任何两个元素(称为标记)之间的关系,即使它们彼此相距很远。这是通过为每个令牌生成三个特征来实现的,分别称为查询(Q)、键(K)和值(V)。然后,将每个令牌的响应计算为所有值的加权和,其中权重由其查询与相应键之间的相似性决定。这通常被称为多头自注意(MHSA),然后是其他操作,包括归一化和线性映射。

在剩下的部分中,我们考虑DeiT-S[34]和ResNet-50[15]分别作为基于变换和卷积的模型的代表。除了基本的构建块之外,在设计上也有差异,例如,ResNet-50一些下采样层,将模型划分为各个阶段,但在整个DeiT-S中的令牌数量保持不变。这些细节的影响将在第3.3节中详细阐述。

3.2.设置:base和elite setting的表现

虽然DeiT-S报告的准确率为80.1%,高于ResNet-50的78.7%,但我们注意到DeiT-S显著改变了训练策略,例如,训练的epoch的数量增加了3倍以上,数据增强变得更多。有趣的是,DeiT-S似乎严重依赖于elite sitting调整的训练策略,其他基于transformer的模型,包括ViT[14]和PIT[8],也说明了它们对其他因素的依赖性,例如,一个大规模的训练集。接下来,我们对这一现象进行了全面的研究。

我们在ImageNet数据集[28]上评估了所有的分类模型,该数据集有1K类、128万训练图像和50K测试图像。每个类的训练图像的数量大致相同。这是最流行的视觉识别数据集之一。

对每个识别模型的优化都有两个设置。第一个被命名为base setting,并被基于卷积网络广泛采用。特别是,该模型使用SGD优化器进行90个训练周期的训练。batchsize为512的学习速率从0.2开始,然后随着余弦退火函数逐渐衰减到0.00001。采用随机裁剪[32]和翻转的适度数据增强策略。第二种被命名为elite setting,它已被验证可以有效地改进基于transformer的模型。对于batchsize为512的初始学习率为0.0005的Adam优化器。数据增强和正则化策略为避免过拟合,采用随机增强[11]、Mixup[42]、CutMix[41]、随机擦除[44]、重复增强[4,17]和随机深度[19]等密集操作。相应地,训练持续300个时代,比基础设置的时间要长得多。

在本文的其余部分中,我们将base setting和elite setting下的分类精度分别称为基础性能和高级性能。我们希望这些数字能为我们理解所研究的模型提供互补的观点。

3.3 从DeiT-S到ResNet-50的过渡

本小节显示了一个一步一步的过程,在这个过程中,我们逐步将一个模型从DeiT-S传输到ResNet-50。共有八个步骤。关键步骤如图1所示,表2总结了基本、高级性能和模型统计数据等结果。

图1 从DeiT开始到ResNet-50结束的过渡过程。为了节省空间,我们只展示了三个重要的动作。第一动作将DeiT从transformer转换为卷积视图(第3.3.1节)。第二步采用逐步补丁嵌入(详见第3.3.2节),并介绍了逐步设计(第3.3.3节)。第三个动作用卷积取代了自我注意模块(第3.3.7节)。右上角的区域显示了一个相对较小的修改,插入了3×3卷积(第3.3.5节)。右下角区域比较了3×3卷积和自我注意的接受域。这个数字最好用颜色来看。

3.3.1使用全局平均池来替换分类令牌

转换的第一步是删除分类令牌,并向基于转换器的模型添加全局平均池。与基于卷积的模型不同,transformer通常会在输入中添加一个分类标记,并利用相应的输出标记来执行分类,这是继承自NLP任务[13]继承的。相比之下,基于卷积的模型通过空间维度的全局平均池化获得分类特征。

通过删除分类令牌,transformer可以等价地转换为卷积版本,如图1所示。具体来说,向量嵌入操作等价于一个内核大小和步幅为补丁大小[14]的卷积。中间特征的形状可以自然地从一系列标记(即单词)转换为一个特征映射,并且标记成为通道维度中的向量(如图1所示。MHSA和MLP块中的线性层等价于1×1卷积

所得网络(Net1)的性能如表2所示。可以看出,这种转变可以极大地提高基本性能。我们进一步的实验表明,添加全局池化本身可以将基础性能从64.17%提高到69.44%。换句话说,自NIN[24]以来,在基于卷积的模型中广泛应用于全局平均池操作,使网络在适度增强下能够更有效地学习。此外,这种转变可以略微提高高级网络层的表现。

表2 在从DeiT-S到ResNet-50的过渡过程中,ImageNet的分类精度。我们都考虑了基础设置和高级设置(细节见第3.2节),我们用红色标记为积极修改,用蓝色标记为消极修改。请注意,修改可能会对基础和高级性能产生不同的影响。虽然参数的数量在中间状态下显著增加,但由FLOPs(每秒浮点运行次数)测量的计算成本没有显著变化。

3.3.2用逐步的patch embedding(对每个向量都做一个线性变换(即全连接层))嵌入替换patch flattening

DeiT和ViT模型直接用向量嵌入层对图像像素进行编码,这相当于具有大卷积核和大步幅的卷积(例如,16)。此操作会将图像向量松弛到一系列令牌上,以便transformer能够处理图像。然而,patch flattening会损害每个向量内的位置信息,并使得提取向量的模式变得更加困难。为了解决这一问题,现有的方法通常在向量嵌入之前附加一个预处理模块。预处理模块可以是特征提取凸出的[14]或专门设计的transformer[40]。

我们发现有一个相当简单的解决方案,即将大向量嵌入分解为逐步的小向量嵌入。具体来说,我们首先将ResNet中的中间层添加到transformer上,这是一个7×7的卷积层,步幅为2。中间层可以看作是一个具有像素重叠的2×2向量嵌入操作(即7×7内核大小)。由于原始DeiT模型中的向量大小为16,所以我们仍然需要在中间层后嵌入8×8个向量。我们进一步分解8×8补丁的嵌入变成4×4嵌入和2×2嵌入,即4×4和2×2卷积层。此外,我们还添加了一个额外的2×2卷积,以便在分类前进一步将向量大小从16×16进一步升级到32×32。这些向量嵌入层也可以看作是下采样层,我们在基于卷积的模型中嵌入后将信道数增加一倍。

通过利用逐步嵌入,向量的先验位置被编码到特征中。因此,该模型可以更有效地学习模式。从表2所示,这种转变可以显著提高网络的基础性能和高级性能。这表明,在基于transformer的模型中,逐步嵌入是比更大的向量嵌入更好的选择。此外,这种转换具有计算效率,并且只引入了大约4%的额外flop。

3.3.3阶段设计

在本节中,我们将网络分成ResNets等阶段。同一阶段的块具有相同的特性分辨率。由于最后一次转换中的逐步嵌入将网络分成了不同的阶段,所以本节中的转换是将块重新分配到不同的阶段,如图1所示。然而,与卷积块不同的是,O(N4)复杂度使自注意块的复杂性相对于特征大小而增加。因此,我们只插入8个×8、16×16和32×32补丁嵌入阶段,对于224×224输入分别对应28×28、14×14和7×7特征分辨率。此外,我们在28×28阶段的自注意前将头部尺寸和特征维度减半,以确保不同阶段的块利用相似的小块。

这种转变带来了有趣的结果。基础性能得到了进一步的提高。据推测,阶段设计利用了图像局部先验,因此在适度增强下表现更好。然而,该网络的(elite setting)高级设置性能明显下降。为了研究原因,我们进行了消融实验(控制变量法),发现自注意在很大的分辨率的图像下不能很好地工作。我们推测大分辨率包含太多的令牌(token),而自注意更难学习它们之间的关系。我们将在第3.4节中详细介绍。

3.3.4用Batch norm替换LayerNorm

基于transformer的模型通常使用LayerNorm[1]对特征进行规范化,这是继承自NLP任务[35,13]的。相比之下,ResNets等基于卷积的模型通常使用BatchNorm[20]来稳定训练过程。与BatchNorm相比,LayerNorm独立于批大小,对特定任务更友好,然而在适当的批大小[38]下通常可以获得更好的性能。我们用Batch norm替换所有的LayerNorm,结果表明BatchNorm的性能优于LayerNorm。它可以提高网络的基本模型的性能和高级模型的性能。

此外,我们还尝试在Net2中添加BatchNorm,以进一步提高高级设置的性能。然而,该Net2-BN网络存在收敛性问题。这也许就解释了为什么Batch norm在纯自注意模型中没有得到广泛的应用。但对于我们的混合模型,BatchNorm是提高性能的可靠方法。

3.3.5介绍3×3卷积

由于网络的令牌以特征图的形式存在,因此引入核大小大于1×1的卷积是很自然的。大核卷积的具体含义如图1的右下角所示。当全局自注意试图建立所有令牌(即像素)之间的关系时,卷积关注于局部邻域的令牌(像素)。我们选择在前馈网络中的1×1卷积之间插入3个×3卷积,从而将MLP块转换为瓶颈块,如图1的右上方所示。请注意,将调整3×3卷积层的信道数,以确保前馈块的FLOPs几乎不变。获得的瓶颈块与ResNet-50中的瓶颈块相似,尽管它们有不同的瓶颈比(即在3×3卷积之前减少信道数量的因素)。我们在所有三个阶段中都用瓶颈块替换MLP块。

图1 从DeiT开始到ResNet-50结束的过渡过程。为了节省空间,我们只展示了三个重要的动作。第一动作将DeiT从transformer转换为卷积视图(第3.3.1节)。第二步采用逐步补丁嵌入(详见第3.3.2节),并介绍了逐步设计(第3.3.3节)。第三个动作用卷积取代了自我注意模块(第3.3.7节)。右上角的区域显示了一个相对较小的修改,插入了3×3卷积(第3.3.5节)。右下角区域比较了3×3卷积和自我注意的接受域。这个数字最好用颜色来看。

毫不奇怪,3×3卷积可以利用图像中的局部先验,进一步提高了网络的基础性能。基本设置的性能(77.37%)与ResNet-50(77.43%)相当。但在高级设置的表现下降了0.82%。我们进行了更多的实验来研究其原因。我们没有向所有阶段添加3×3卷积,而是分别向不同阶段插入3×3卷积。我们观察到3×3卷积只在高分辨率特性上有效。我们推测,利用局部关系对于自然图像中的高分辨率特征是很重要的。然而,对于低分辨率的特征,局部卷积在配备全局自注意时变得不重要。我们将在第3.4节中详细介绍。

3.3.6去除位置嵌入

在基于transformer的模型中,提出了位置嵌入来对标记间的位置信息进行编码。在过渡网络中,我们利用[13]中可学习的位置嵌入,并在向量嵌入后将它们添加到特征中。要接近ResNet-50,应删除位置嵌入。

结果如表2所示。基本表现几乎没有变化,高级设置表现略有下降(0.29%)。作为比较,我们测试删除了DeiT-S的位置嵌入,高级设置性能显著下降了3.95%。结果表明,位置在转换模型中的嵌入不如基于纯转换的模型重要。这是因为特征映射保留了标记之间的优先位置,与空间核的卷积可以编码和利用它。因此,在过渡网络中,去除位置嵌入的危害显著降低。它也解释了为什么基于卷积的模型不需要嵌入位置

3.3.7用前馈功能来代替自注意

在本节中,我们删除每个阶段的自注意块,而使用前馈层,使网络成为一个纯基于卷积的网络。为了保持流程不变,每个阶段添加几个瓶颈块。替换后,得到的网络由ResNet-50等瓶颈块组成。

所得网络(Net7)的性能如表2所示。基于纯卷积的网络在基础和高级设置方面的性能都要差得多。这表明,自注意确实使神经网络获得更高的性能,而不是导致ViT或DeiT的基础性能差的原因。可以设计一个具有高基础性能和高级性能的自注意力网络。

3.3.8调整网络的形状

Net7和ResNet-50之间仍有许多区别。首先,Net7的形状不同于ResNet-50。它们在网络阶段的深度、宽度、瓶颈比和块数都是不同的。其次,他们在不同位置的特征标准化。Net7只将一个块中的输入特征归一化,而ResNet-50将每个卷积层后的特征归一化。第三,ResNet-50对具有瓶颈块的特征进行下采样,但Net7使用了一个单一的卷积层(即补丁嵌入层)。此外,Net7还使用了一些flop。然而,这两个网络都是基于卷积的网络。这两种网络之间的性能差距可以归因于架构设计策略

如表2所示,过渡后的基本性能得到了提高。它表明,ResNet-50具有更好的网络架构,并且可以在更少的flop下表现得更好。然而,ResNet-50的elite setting表现更差。这表明,基本性能和高级性能之间的不一致性不仅存在于自我注意模型中,而且也存在于基于纯卷积的网络中

3.4.总结:Visformer模型

我们的目标是建立一个具有优越的基础性能和高级设置性能的网络。过渡研究表明,基础性能与高级性能之间存在一定的不一致性。第一个问题是阶段性设计,它提高了基本性能,但降低了高级设置性能。为了研究其原因,我们将Net5的每个阶段的瓶颈块分别替换为自我注意块,从而可以估计不同阶段的自我注意的重要性。结果见表3。在所有三个阶段中,自注意力的取代都降低了基础表现和高级设置表现。有一种趋势是,低分辨率的自注意比高分辨率发挥更重要的作用。此外,取代第一阶段的自我注意几乎对网络性能没有影响。更大的分辨率包含更多的令牌,并且我们推测自注意要学习它们之间的关系将更困难

第二个问题是在前馈块中添加3×3卷积,这使高级设置性能降低了0.82%。基于Net4,我们在每个阶段分别用瓶颈块替换MLP块。如表4所示,尽管所有阶段都在基础性能上得到了改进,但只有第一阶段受益于elite setting性能方面的瓶颈块。当自注意在这些位置上已经有了一个全局视图时,3×3卷积对于其他两个低分辨率的阶段是不必要的。在高分辨率阶段,自我注意难以处理所有的令牌,3×3卷积可以提供改进

结合上述观察结果,我们提出视觉器作为视觉友好的、基于transformer的模型。详细的架构如表5所示。除了较好的转变,Visformer采用了阶段设计以实现更高的基础性能。但自注意只在最后两个阶段使用,认为即使FLOPs是平衡的,高分辨率阶段的自注意也是相对低效的。Visformer在第一阶段使用瓶颈块,并在受ResNeXt[39]启发的瓶颈块中使用3×3卷积组。我们还引入了BatchNorm向量嵌入网络中的模块。我们命名Visformer-S来表示直接来自DeiT-S的模型。此外,我们还可以通过改变多头注意的输出维数来调整复杂性。在这里,我们将维数缩减一半,并推导出Visformer-Ti模型,这需要Visformer-S模型的计算成本。

表3 在Net5的每个阶段,用瓶颈块替换自我注意块的影响。这些实验是单独进行的。

表4 在Net4的每个阶段中,用瓶颈块替换MLP层的影响。这些实验是单独进行的。

表5。构建Visformer-Ti和Visformer-S模型的配置,其中“emb”表示特征嵌入,s1-s3表示具有不同空间分辨率的三个阶段。
4.评估Visformer
4.1.与最先进的技术进行比较
我们首先比较Visfromer和基线DeiT。结果汇总见表6。使用类似的计算成本,Visformer模型显著优于相应的DeiT模型。特别是,在 elite setting性能下,S和ST-S和DEIT-Ti的优势为2.12%和6.41%,而在基础设置下,分别增长到14.08%和10.47%。换句话说,在 base setting下优势更显著,这更常用于视觉识别。

然后,我们在表7中与其他基于transformer的方法进行了比较。在微小数量的水平上,Visformer-ti的性能明显优于其他视觉transformer模型。对于更大的模型,Visformer-s比flop相似的模型表现得好得多。其他模型通常需要使用更多的flop来实现类似的性能。至于最先进的 EfficientNet网络,我们的模型低于具有类似flop的 EfficientNets。然而, EfficientNets在gpu上的计算效率很低下。表8中的结果显示,我们的模型明显快于EfficientNet-b3,其性能略低于我们的模型。我们的模型与DeiTS和ResNet-50一样有效,但性能相当好。

表6Visformer和DeiT与base setting和 elite setting表现以及flop的比较。

表7 将我们的方法与其他基于Transformer的视觉模型进行比较。‘*’表示我们使用 elite setting重新运行模型。“KD”代表知识蒸馏的[16]。

表8 Visformer-S与其他模型的推理效率比较。使用32的批次大小进行测试。除了EfficientNet-B3外,其他模型也使用 elite setting进行训练。

表9 使用有限的训练数据, Visformer、DeiT和ResNet在分类精度(%)方面的比较。所有模型都采用了具有300个epoch的 elite setting。

4.2.有限数据的训练

最后但并非最不重要的是,我们评估了在有限训练数据的情况下Visformer的性能,我们认为这是视觉友好的重要能力,而先前的基于transformer的模型大多需要丰富的训练数据[14]。

使用ImageNet的四个子集,分别随机选择10%和1%的类别(所有数据),并随机选择10%和1%的图像(所有类别)。为了挑战这些模型,我们仍然使用带有300个epoch(没有扩展)的 elite setting。如表9所示,可以观察到DeiT-S模型报告的所有四种测试的准确性都急剧下降(请注意,如果增加epoch,仅使用10%和1%类的准确性应该要高得多)。相比之下,Visfomer在这些场景中仍然稳健,显示了它在有限数据下用于视觉识别的潜力。

在少量水平下,ResNet-50-55%是通过将通道数(像其他微型模型一样)减少到55%(这样flop,1.3G,类似于Visristeri-Ti和Deit-Ti)获得的。结论相似:Visformer-Ti仍然是最好的整体模型,由于过拟合的风险降低,优势略有增大。

5.结论

本文提出了一种基于transformer的有利于视觉识别的可视化模型。我们建议使用两个方案, base setting和 elite setting,来评估每个模型的性能。为了研究基于transformer的模型和基于卷积的模型表现不同的原因,我们分解了这些模型之间的差距,并设计了一个八步过渡程序,以弥合DeiT-S和ResNet-50之间的差距。通过吸收优点并丢弃缺点,我们得到了同时优于DeiT-S和ResNet-50的Visfrear-S模型。当它被转移到一个紧凑的模型和在小数据集上进行评估时,Visformer也显示了一个很有前途的能力。

感谢国家重点研发计划项目(2017YFB1301100)、国家自然科学基金项目(61772060、U1536107、61472024、61572060、61976012、61602024)、网络创新项目(NGII20160316)资助

References

[1] Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv preprint arXiv:1607.06450,2016.
[2] Irwan Bello. Lambdanetworks: Modeling long-range interactions without attention. arXiv preprint arXiv:2102.08602,2021.
[3] Irwan Bello, Barret Zoph, Ashish Vaswani, Jonathon Shlens, and Quoc V Le. Attention augmented convolutional networks. In Proceedings of the IEEE/CVF international conference on computer vision, pages 3286–3295, 2019.
[4] Maxim Berman, Herv´e J´egou, Andrea Vedaldi, Iasonas Kokkinos, and Matthijs Douze. Multigrain: a unified image embedding for classes and instances. arXiv preprint arXiv:1902.05509, 2019.
[5] Antoni Buades, Bartomeu Coll, and J-M Morel. A non-local
algorithm for image denoising. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), volume 2, pages 60–65. IEEE, 2005.
[6] Yue Cao, Jiarui Xu, Stephen Lin, Fangyun Wei, and Han
Hu. Gcnet: Non-local networks meet squeeze-excitation networks and beyond. In Proceedings of the IEEE/CVF International Conference on Computer Vision Workshops, pages 0–0, 2019.
[7] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas
Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-to end object detection with transformers. In European Conference on Computer Vision, pages 213–229. Springer, 2020.
[8] Hanting Chen, Yunhe Wang, Tianyu Guo, Chang Xu, Yiping
Deng, Zhenhua Liu, Siwei Ma, Chunjing Xu, Chao Xu, and Wen Gao. Pre-trained image processing transformer. arXiv preprint arXiv:2012.00364, 2020.
[9] Jieneng Chen, Yongyi Lu, Qihang Yu, Xiangde Luo, Ehsan Adeli, Yan Wang, Le Lu, Alan L Yuille, and Yuyin Zhou.Transunet: Transformers make strong encoders for medical image segmentation. arXiv preprint arXiv:2102.04306,2021.
[10] Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, and Ilya Sutskever. Generative pretraining from pixels. In International Conference on Machine Learning, pages 1691–1703. PMLR, 2020.
[11] Ekin D Cubuk, Barret Zoph, Jonathon Shlens, and Quoc V Le. Randaugment: Practical automated data augmentation with a reduced search space. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pages 702–703, 2020.
[12] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li,and Li Fei-Fei. Imagenet: A large-scale hierarchical image database. In 2009 IEEE conference on computer vision and
pattern recognition, pages 248–255. Ieee, 2009.
[13] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.
[14] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner,Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint
arXiv:2010.11929, 2020.
[15] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.
Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778, 2016.
[16] Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.
[17] Elad Hoffer, Tal Ben-Nun, Itay Hubara, Niv Giladi, Torsten Hoefler, and Daniel Soudry. Augment your batch: Improving generalization through instance repetition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 8129–8138, 2020.
[18] Han Hu, Zheng Zhang, Zhenda Xie, and Stephen Lin. Local relation networks for image recognition. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 3464–3473, 2019.
[19] Gao Huang, Yu Sun, Zhuang Liu, Daniel Sedra, and Kilian Q Weinberger. Deep networks with stochastic depth. In European Conference on Computer Vision, pages 646–661.Springer, 2016.
[20] Sergey Ioffe and Christian Szegedy. Batch normalization:Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015.
[21] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton.Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[22] Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. nature, 521(7553):436–444, 2015.
[23] Yingwei Li, Xiaojie Jin, Jieru Mei, Xiaochen Lian, Linjie Yang, Cihang Xie, Qihang Yu, Yuyin Zhou, Song Bai, and Alan L Yuille. Neural architecture search for lightweight non-local networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages
10297–10306, 2020.
[24] Min Lin, Qiang Chen, and Shuicheng Yan. Network in network. arXiv preprint arXiv:1312.4400, 2013.
[25] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. 2018.
[26] Ilija Radosavovic, Raj Prateek Kosaraju, Ross Girshick,Kaiming He, and Piotr Doll´ar. Designing network design spaces. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10428–10436, 2020.
[27] Prajit Ramachandran, Niki Parmar, Ashish Vaswani, Irwan Bello, Anselm Levskaya, and Jonathon Shlens. Standalone self-attention in vision models. arXiv preprint arXiv:1906.05909, 2019.
[28] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy,Aditya Khosla, Michael Bernstein, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 115(3):211–252, 2015.
[29] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
[30] Aravind Srinivas, Tsung-Yi Lin, Niki Parmar, Jonathon Shlens, Pieter Abbeel, and Ashish Vaswani. Bottle neck transformers for visual recognition. arXiv preprint arXiv:2101.11605, 2021.
[31] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet,Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1–9, 2015.
[32] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jon Shlens, and Zbigniew Wojna. Rethinking the inception architecture for computer vision. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages2818–2826, 2016.
[33] Mingxing Tan and Quoc Le. Efficientnet: Rethinking model scaling for convolutional neural networks. In International Conference on Machine Learning, pages 6105–6114. PMLR,2019.
[34] Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, and Herv´e J´egou. Training data-efficient image transformers & distillation through attention. arXiv preprint arXiv:2012.12877, 2020.
[35] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. arXiv preprint arXiv:1706.03762, 2017.
[36] Wenhai Wang, Enze Xie, Xiang Li, Deng-Ping Fan, Kaitao Song, Ding Liang, Tong Lu, Ping Luo, and Ling Shao.Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. arXiv preprint
arXiv:2102.12122, 2021.
[37] Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 7794–7803, 2018.
[38] Yuxin Wu and Kaiming He. Group normalization. In Proceedings of the European conference on computer vision(ECCV), pages 3–19, 2018.
[39] Saining Xie, Ross Girshick, Piotr Doll´ar, Zhuowen Tu, and Kaiming He. Aggregated residual transformations for deep neural networks. arXiv preprint arXiv:1611.05431, 2016.
[40] Li Yuan, Yunpeng Chen, Tao Wang, Weihao Yu, Yujun Shi,Francis EH Tay, Jiashi Feng, and Shuicheng Yan. Tokensto-token vit: Training vision transformers from scratch on imagenet. arXiv preprint arXiv:2101.11986, 2021.
[41] Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe, and Youngjoon Yoo. Cutmix: Regularization strategy to train strong classifiers with localizable features. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 6023–6032, 2019.
[42] Hongyi Zhang, Moustapha Cisse, Yann N Dauphin, andDavid Lopez-Paz. mixup: Beyond empirical risk minimization. 2017.
[43] Hengshuang Zhao, Jiaya Jia, and Vladlen Koltun. Exploring self-attention for image recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10076–10085, 2020.
[44] Zhun Zhong, Liang Zheng, Guoliang Kang, Shaozi Li, and Yi Yang. Random erasing data augmentation. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, pages 13001–13008, 2020.

Visformer: The Vision-friendly Transformer实现transformer和基于卷积的模型中的设计特性相关推荐

  1. [Transformer]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

    Swin Transformer:基于移动窗口的层级视觉Transformer
 Abstract Section I Introduction Section II Related Work Sec ...

  2. 【Transformer】TNT: Transformer iN Transformer

    文章目录 一.背景 二.动机 三.方法 3.1 Transformer in Transformer 3.2 Network Architecture 四.效果 五.代码 论文链接:https://a ...

  3. 可以这样理解视觉Transformer模型中patch交互的关系

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 01 研究问题 随着计算机视觉领域的不断发展,基础视觉任务研究中受自然语言处理(NLP)的模型结构设计(Tr ...

  4. Tansformer | 详细解读:如何在CNN模型中插入Transformer后速度不变精度剧增?

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1简介 本文工作解决了Multi-Head Self-Attention(MHSA)中由于计算/空间复 ...

  5. 语音论文阅读(Conformer:基于卷积增强的Transformer语音识别模型)

    论文:         Conformer: Convolution-augmented Transformer for Speech Recognition 摘要:        讲了基于CNN和T ...

  6. 【Transformer】Transformer 中的位置编码 -- ICLR 2021

    引言 Transformer是近年来非常流行的处理序列到序列问题的架构,其self-attention机制允许了长距离的词直接联系,可以使模型更容易学习序列的长距离依赖.由于其优良的可并行性以及可观的 ...

  7. 【读点论文】Transformer in Transformer 细化图片结构,递归使用transformer。让图片去拟合自然语言处理的操作。

    Transformer in Transformer Abstract Transformer是一种新的神经架构,它通过注意机制将输入数据编码为强大的特征.基本上,视觉transformer首先将输入 ...

  8. TNT:Transformer in transformer论文精读

    论文地址:https://arxiv.org/abs/2103.00112 源码地址:GitHub - huawei-noah/Efficient-AI-Backbones: Efficient AI ...

  9. [Swin Transformer] Swin Transformer: HierarchicalVision Transformer using Shifted Windows

    1. Motivation 将transformer从NLP应用于CV领域存在以下2个方面的挑战,图像尺度的多样性,以及图像像素相对于words的高分辨率,这会造成内存大的花销. Challenges ...

最新文章

  1. Hinton:胶囊网络的专利是我的了!
  2. 学习webpack记录(三)
  3. DDoS攻击的大量增加给企业带来了新的威胁——Vecloud
  4. 微服务为什么一定要Zookeeper?
  5. 如何科学的打开 Leetcode
  6. 查看、关闭当前服务器上启动服务 / 进程
  7. MTK 驱动(51)---TP 驱动移植
  8. java xfire指定参数名_Java如何获取方法参数具体名称?这是个好问题!
  9. pku 1321 棋盘问题 DFS
  10. nginx 集群部署_Nginx Ingress on TKE 部署最佳实践
  11. 安装MyBatis教程
  12. VB6.0连接Oracle中文乱码
  13. 云台球型摄像机行业现状调研及趋势分析报告
  14. dll控件安装方法(仅供参考)
  15. 淘客订单检测接口--检测淘宝订单是否是淘客订单的接口
  16. react项目中播放音频时扬声器图标动画效果
  17. 辉芒微IO单片机FT60F123-RB
  18. apt apt-get_Windows用户准备好进行apt-get吗?
  19. 一文带你了解SOA接口测试
  20. 【数字、字母、汉字组合字符串拆分处理】

热门文章

  1. 计算机专业大几用到移动硬盘,16款移动硬盘大横评:速度能差这么多? 一比吓一跳...
  2. 视频回顾|Pulsar Summit Asia 2021,案例、运维、生态干货不断
  3. 自我管理能力提升-角色定位
  4. 北京邮电/北京航空航天大学上机题目
  5. 基于OpenCV的实时车道线分割&车道保持系统(源码&教程)
  6. 《摄氏华氏温度转换》
  7. 关于Latex中pdf和eps图片的处理
  8. Python 套件管理程式簡介
  9. 基于计算机视觉的无人驾驶感知系统
  10. Java 虚拟机(JVM)原理介绍