【读点论文】CMT: Convolutional Neural Networks Meet Vision Transformers

CMT: Convolutional Neural Networks Meet Vision Transformers

Abstract

  • 视觉transformer已经成功地应用于图像识别任务,因为它们能够捕获图像中的长距离依赖性。然而,transformer和现有卷积神经网络(CNN)在性能和计算成本方面仍存在差距。

  • 在本文中,本文的目标是解决这个问题,并开发出一种不仅可以超越规范transformer,而且可以超越高性能卷积模型的网络。本文提出了一种新的基于transformer的混合网络,它利用变压器捕获长距离依赖关系,并利用神经网络提取局部信息。此外,我们对其进行了缩放,以获得一系列模型,称为CMT,与之前基于CNN和基于transformer的模型相比,在精度和效率方面获得了更好的权衡。

  • 特别是,本文的CMT-S在ImageNet上实现了83.5%的顶级精度,同时在FLOP上分别比现有的DeiT和EfficientNet小14倍和2倍。所提出的CMT-S还很好地概括了CIFAR10(99.2%)、CIFAR100(91.7%)、Flowers(98.7%)和其他具有挑战性的视觉数据集,如COCO(44.3%mAP),计算成本显著降低。

  • 论文地址:[2107.06263] CMT: Convolutional Neural Networks Meet Vision Transformers (arxiv.org)

  • Transformers与现有的卷积神经网络(CNN)在性能和计算成本方面仍有差距。希望提出的模型不仅可以超越典型的Transformers,而且可以超越高性能卷积模型。

  • 提出混合模型(串行),通过利用Transformers来捕捉长距离的依赖关系,并利用CNN来获取局部特征。引入depth-wise卷积,获取局部特征的同时,减少计算量使用类似R50模型结构一样的stage-block,使得模型具有下采样增强感受野和迁移dense的能力。使用conv-stem来使得图像的分辨率缩放从VIT的1/16变为¼,保留更多的patch信息。

  • 本文是华为诺亚与悉尼大学在Transformer+CNN架构混合方面的尝试,提出了一种同时具有Transformer长距离建模与CNN局部特征提取能力的CMT。相比之前的各种Transformer变种,本文更倾向于将Transformer的优势集成到CNN中。

  • 整体架构采用了ResNet的分阶段架构,Normalization方面采用CNN中常用的BN而非Transformer中的LN,在核心模块CMTBlock方面,内部设计了具有局部特征提取的LPU,在降低计算量方面对K与V进行了特征分辨率的下降,与此同时将MobileNetV2中的逆残差思想引入到FFN中得到了IRFFN。

  • 总而言之,CMT代表着CV中的Transformer架构趋势又回到了CNN原先研究路线:即CNN为主,其他领域思想为辅。

Introduction

  • 过去几十年来,由于其提取深度辨别特征的能力,CNN在计算机视觉领域做出了非凡贡献。同时,基于自我注意的transformer已经成为自然语言处理(NLP)任务的事实上最流行的模型,并显示出捕捉远距离关系的出色能力。

  • 最近,许多研究人员试图将基于transformer的架构应用于视觉领域,并在图像分类、对象检测[End-toend object detection with transformers,Deformable detr]和语义分割等各种任务中取得了有希望的结果。

  • 视觉transformer(ViT)是第一个用纯transformer取代传统CNN主干的工作。输入图像(224×224×3)首先被分割成196个不重叠的块(每个块的固定大小为16×16×3),这些块类似于NLP中的单词标记。

  • 然后,这些块被馈送到堆叠的标准变换块中,以建模全局关系并提取特征以进行分类。ViT的设计范式极大地启发了以下基于transformer的计算机视觉模型,例如用于低级视觉的IPT和用于语义分割的SETR。

  • 尽管transformer在迁移到视觉任务时表现出了出色的能力,但它们的性能仍远不如类似大小的卷积神经网络,例如EfficientNets。本文认为这种弱点有三个原因。首先,在ViT和其他基于transformer的模型(如IPT和SETR)中,图像被分割成块。

  • 这样做可以大大简化将transformer应用于基于图像的任务的过程。补丁序列可以直接输入到标准transformer中,在那里可以很好地捕获补丁之间的长期依赖关系。然而,它忽略了基于序列的NLP任务和基于图像的视觉任务之间的基本差异,例如,每个补丁内的2D结构和空间局部信息

  • 其次,由于固定的面片大小,transformer很难显式地提取低分辨率和多尺度特征,这对密集的预测任务(如检测和分割)提出了很大的挑战

  • 第三,与基于卷积的神经网络的O(NC2)相比,transformer中的自我关注模块的计算和存储成本与输入分辨率成二次方(O(N2C))。高分辨率图像非常普遍,例如COCO中的1333×800和Cityscapes中的2048×1024。使用transformer处理这样的图像将不可避免地导致GPU内存不足和计算效率低的问题

  • 在本文中,本文站在神经网络和transformer的交叉点上,提出了一种用于视觉识别的新型CMT(神经网络与transformer)架构。当使用纯transformer时,所提出的CMT利用了CNNs的优点来补偿上述限制。如下图(c)所示,输入图像首先经过卷积茎进行细粒度特征提取,然后被馈送到CMT块堆栈中进行表示学习。

    • 在这里插入图片描述

    • CMT-S架构示例。(a) ResNet-50。(b) DeiTS(ViT-S)架构,其中MHSA表示多头自我关注模块。(c) 下文描述了拟议的CMT-S。表中显示了更多细节和其他变体。

    • (a) 表示的是标准的R50模型,具有4个stage,每个都会进行一次下采样。最后得到特征表达后,经过AvgPool进行分类

    • (b) 表示的是标准的VIT模型,先进行patch的划分,然后embeeding后进入Transformer的block,这里,由于Transformer是long range的,所以进入什么,输出就是什么,引入了一个非image的class token来做分类。

    • ©表示的是本文所提出的模型框架CMT,由CMT-stem, downsampling, cmt block所组成,整体结构则是类似于R50,所以可以很好的迁移到dense任务上去。

    • 每一个stage都是由CMT block所堆叠而成的,CMT block由于是transformer结构,所以没有在stage里面去设计下采样。每个CMT block都是由Local Perception Unit, Ligntweight MHSA, Inverted Residual FFN这三个模块所组成的。

    • 每个stage都是由上述的多个CMTblock所堆叠而成, 上面也提到了,这里由于是transformer的操作,不会设计到scale尺度的问题,但是模型需要构造下采样,来实现层次结构,所以downsampling的操作单独拎了出来,每个stage之前会做一次卷积核为2x2的,stride为2的卷积操作,以达到下采样的效果

  • 具体而言,引入的CMT块是transformer块的改进变体,其局部信息通过深度卷积增强。与ViT相比,CMT第一阶段生成的特征可以保持更高的分辨率,即,在ViT中,H/4×W/4比H/16×W/16,这对于其他密集预测任务至关重要。

  • 此外,本文采用了类似于CNN的阶段式架构设计,通过使用步长为2的四卷积层,逐步降低分辨率(序列长度)并灵活地增加维度。分阶段设计有助于提取多尺度特征,减轻高分辨率带来的计算负担。CMT块中的局部感知单元(LPU)和反向残差前馈网络(IRFFN)可以帮助捕获中间特征内的局部和全局结构信息,并提高网络的表示能力。最后,使用平均池替换ViT中的类令牌,以获得更好的分类结果。

  • 此外,提出了一种简单的缩放策略,以获得CMT变体家族。在ImageNet和其他下游任务上的大量实验证明了本文CMT在精度和FLOP方面的优势。例如,本文的CMT-S仅使用4.0B FLOPs就实现了83.5%的ImageNet top 1,同时分别比现有最好的DeiT和EfficientNet低14倍和2倍。

  • 除了图像分类,CMT还可以很容易地转移到其他视觉任务中,并作为一个多功能的主干。使用CMT-S作为主干,RetinaNet可以在COCO val2017上实现44.3%的mAP,以更低的计算成本超过基于PVT的RetinaNet 3.9%。

  • 本文的一个核心点是希望模型具有long-range的能力,同时还要具有local特征的能力,所以提出了LPU这个模块,很简单,一个3X3的DWconv,来做局部特征,同时减少点计算量,为了让Transformers的模块获取的longrange的信息不缺失,这里做了一个shortcut。

  • 虽然标准的transformer能够捕获到patch间的长距离依赖关系,但相比于NLP任务,视觉任务中的2D结构,以及patch间的局部空间信息也非常重要。此外,transformer由于固定的尺寸,因此其很难去捕获低分辨率、多尺度的特征,这对密集预测任务非常不利(分割、检测)。而且transformer的self-attention模块对于输入图像分辨率的时间、空间复杂度都是

    O

    (

    N

    2

    C

    )

    O(N ^2 C )

    O(N2C),而卷积神经网络为

    O

    (

    N

    C

    2

    )

    O(N C^2 )

    O(NC2)。N表示序列长度,C表示维度。

Related Work

  • 在过去几十年中,计算机视觉社区在深度学习浪潮中蓬勃发展,最流行的深度神经网络通常建立在基本块上,其中一系列卷积层被顺序堆叠,以捕获中间特征中的局部信息。然而,小卷积核的有限接受域使得很难获得全局信息,从而阻碍了网络在分类、对象检测和语义分割等具有挑战性的任务上的高性能。因此,许多研究人员开始深入挖掘基于自我关注的transformer,这些transformer能够捕捉长距离信息。这里简要回顾了传统的神经网络和最近提出的视觉transformer。

  • Transformer的诞生推动自然语言处理网络的进步和发展,受此启发,transformer近年来开始在计算机视觉领域崭露头角。谷歌学者提出的Vision Transformer(ViT)模型是一个经典的用于视觉任务的纯transformer技术方案。它将输入图片切分为若干个图像块(patch),每个patch利用一个向量(vector/tensor)来表示,用transformer来处理图像patch序列,最终输出的特征可以直接用来进行图像识别、检测等。

  • 编码-解码器来进行目标检测,IPT利用单个transformer模型同时处理多个底层视觉任务。与之前的传统CNN模型(如ResNet)相比,transformer依靠其全局的注意力机制能够捕获patch间的长距离依赖关系,在需要大感受野的检测、分割等视觉任务中表现出色。

  • 但相比于NLP任务,视觉任务的输入因其特有的2D结构,输入表征变化更加复杂,patch间的局部空间信息也非常重要。因此现有的视觉transformer的缺点也十分明显,在将输入图像patch化的过程中,图像块内部结构信息将被破坏,而且长程的注意力机制很容易忽略图像的局部特有性质,导致现有的transformer的效果不如SOTA的传统卷积网络

Convolutional neural networks.

  • LeCun等人提出了手写字符识别的第一个标准CNN,过去几十年来,许多强大的网络在大规模图像分类任务中取得了前所未有的成功[Imagenet]。AlexNet和VGGNet表明,由卷积层和池化层组成的深度神经网络可以在识别中获得足够的结果。GoogleNet和InceptionNet证明了基本块中多条路径的有效性。ResNet通过向基础网络添加每两层的快捷连接,显示出更好的通用性。

  • 为了缓解先前研究中有限的感受野,一些研究[Gather-excite,Squeeze-and-excitation networks,Bam: Bottleneck attention module,Standalone self-attention in vision models,Residual attention network for image classification,Cbam]将注意力机制作为模式之间适应的算子。Residual attention network for image classification提出在深度残差网络的中间阶段之间顺序堆叠注意力模块。SENet和GENet通过对信道之间的相互依赖性进行建模,自适应地重新校准了信道特征响应。NLNet将自我注意机制纳入神经网络,在所有空间位置提供成对交互,以增强长期依赖性。

  • 除了上述架构上的进步,还有一些工作[Ghostnet,Squeezenet,Shufflenet v2]专注于通过以精度换取效率来改善参数化深度神经网络。例如,MobileNets和EfficientNets都利用了神经架构搜索(NAS)来设计高效的移动规模网络,并获得了新的最先进的结果。

Vision transformers.

  • 自从transformer在自然语言处理(NLP)中取得了显著的成功,已经进行了许多尝试,以将类似transformer的架构引入视觉任务。开创性工作ViT将继承自NLP的transformer架构直接应用于以图像补丁为输入的分类。虽然ViT需要一个大型私有数据集JFT-300M才能获得有希望的结果,但DeiT引入了一种新的训练范式,将ViT扩展到直接在ImageNet-1K上训练的数据高效transformer。T2T ViT提出通过递归地将相邻令牌聚合到一个令牌中来嵌入视觉令牌。TNT提出分别通过内部和外部transformer块对补丁级和像素级表示进行建模。

  • PVT将金字塔结构引入ViT,它可以为各种像素级密集预测任务生成多尺度特征图。CPVT和CvT与我们的工作最相关,它们利用卷积投影到传统transformer块中,但本文仔细研究了如何通过研究包括快捷函数和归一化函数在内的不同组件来最大化利用CNN和transformer的优势,并成功地获得了更优越的结果。此外,transformer还用于解决其他视觉任务,如对象检测、语义分割、图像检索和低级视觉任务。

  • 尽管有许多工作成功地将transformer应用于视觉任务,但与传统的神经网络(仍然是视觉应用的主要架构)相比,它们没有显示出令人满意的结果。transformer特别擅长建模下游视觉任务所需的长期依赖关系。然而,还应保持视觉感知的局部性。

  • 在本文中,展示了将基于transformer的网络与卷积层结合在一起的潜力,整体架构遵循精心设计的现有卷积神经网络,如ResNet和EfficientNet。

Approach

Overall Architecture

  • 本文的意图是建立一个混合网络,同时利用网络中心和transformer的优势。上图给出了ResNet-50、DeiT和CMT架构的拟议小版本(CMT-S)的概述。如上图(b)所示,DeiT直接将输入图像分割成非重叠的块,然而,块内结构信息只能用线性投影进行建模。为了克服这一限制,使用了茎结构,该结构具有3×3卷积,步长为2,输出信道为32,以减少输入图像的大小,然后是两个3×3的卷积,步长1,以更好地提取局部信息

  • 根据现代神经网络的设计(例如,ResNet),本文的模型有四个阶段来生成不同尺度的特征图,这对于密集预测任务很重要。为了产生分层表示,在每个阶段之前应用由卷积和层归一化(LN)组成的面片嵌入层,以减少中间特征的大小(分辨率的2倍下采样),并将其投影到更大的维度(维度的2倍放大)。

  • 在每个阶段,几个CMT块被顺序堆叠以进行特征转换,同时保持输入的相同分辨率。例如,CMT-S的“阶段3”包含16个CMT块,如上图(c)所示。CMT块能够捕获本地和远程依赖关系。该模型以全局平均池层、投影层和具有softmax的1000路分类层结束。

  • 给定输入图像,可以获得具有不同分辨率的四个分层特征图,类似于典型的CNN,如ResNet和EfficientNet[53]。利用上述特征图,其相对于输入的步长为4、8、16和32,本文的CMT可以获得输入图像的多尺度表示,并且可以容易地应用于下游任务,例如对象检测和语义分割。

CMT Block

  • 如上图(c)所示,所提出的CMT模块由一个局部感知单元(LPU)、一个轻量级的多头自我关注(LMHSA)模块和一个反向残差前馈网络(IRFFN)组成。将在下面描述这三个部分。

Local Perception Unit.

  • 旋转和移位是视觉任务中常用的两种数据增强方式,这些操作不应改变模型的最终结果。换句话说,期望这些任务具有平移不变性。然而,先前的transformer中使用的绝对位置编码(最初设计为利用令牌的顺序)破坏了这种不变性,因为它为每个面片添加了唯一的位置编码。此外,视觉transformer忽略了贴片内部的局部关系和结构信息。为了缓解这些限制,建议使用局部感知单元(LPU)来提取局部信息,其定义为:

    • L

      P

      U

      (

      X

      )

      =

      D

      W

      C

      o

      n

      v

      (

      X

      )

      +

      X

      ,

      (

      1

      )

      LPU(X)=DWConv(X)+X,(1)

      LPU(X)=DWConv(X)+X,(1)

    • 其中X∈ RH×W×d,H×W是当前阶段输入的分辨率,d表示特征的尺寸。DWConv(·)表示深度卷积。

轻量级多头自我关注。

  • 在原始的自我关注模块中,输入X∈ Rn×d被线性变换为查询Q∈ Rn×dk,键K∈ Rn×dk和值V∈ Rn×dv,其中n=H×W是面片的数量。为了简单起见,省略了上图(c)中张量从H×W×d到n×d的整形操作。符号d、dk和dv分别是输入、键(查询)和值的维度。然后,自我关注模块应用如下:

    • A

      t

      t

      n

      (

      Q

      ,

      K

      ,

      V

      )

      =

      S

      o

      f

      t

      m

      a

      x

      (

      Q

      K

      T

      d

      k

      )

      V

      ,

      (

      2

      )

      Attn(Q,K,V)=Softmax(frac{QK^T}{sqrt{d_k}})V,(2)

      Attn(Q,K,V)=Softmax(dk

      QKT)V,(2)

    • 为了减轻计算开销,使用k×k深度卷积和步长k来减少注意力操作之前k和V的空间大小,即

      K

      =

      D

      W

      C

      o

      n

      v

      k

      R

      n

      /

      k

      2

      ×

      d

      k

      K'=DWConv(k)∈ R^{n/k^2×d_k}

      K=DWConvkRn/k2×dk

      V

      =

      D

      W

      C

      o

      n

      v

      V

      R

      n

      /

      k

      2

      ×

      d

      v

      V'=DWConv(V)∈ R^{n/k^2×d_v}

      V=DWConvVRn/k2×dv,如上图(c)所示。此外,向每个自我关注模块添加一个相对位置偏差B,相应的轻量级关注定义为:

    • L

      i

      g

      h

      t

      A

      t

      t

      n

      (

      Q

      ,

      K

      ,

      V

      )

      =

      S

      o

      f

      t

      m

      a

      x

      (

      Q

      K

      T

      d

      k

      +

      B

      )

      V

      ,

      (

      3

      )

      LightAttn(Q,K,V)=Softmax(frac{QK^T}{sqrt{d_k}}+B)V',(3)

      LightAttn(Q,K,V)=Softmax(dk

      QKT+B)V,(3)

    • 其中

      B

      R

      n

      ×

      n

      /

      k

      2

      B∈ R^{n×n/k^2}

      BRn×n/k2。学习到的相对位置偏差也可以很容易地转移到B0∈ Rm1×m2通过双三次插值,具有不同尺寸m1×m2,即

      B

      =

      B

      i

      c

      u

      b

      i

      c

      B

      B'=Bicubic(B)

      B=BicubicB。因此,为其他下游视觉任务微调所提出的CMT是方便的。最后,通过考虑h个“头部”来定义轻量级多头部自关注(LMHSA)模块,即h个LightweightAttention函数应用于输入。每个头部输出一个大小为n×d h的序列。然后将这些h序列连接成n×d序列。

Inverted Residual Feed-forward Network.

  • ViT中提出的原始FFN由两个线性层组成,通过GELU激活分离。第一层将尺寸扩大4倍,第二层将尺寸缩小相同的比例:

    • F

      F

      N

      (

      X

      )

      =

      G

      E

      L

      U

      (

      X

      W

      1

      +

      b

      1

      )

      W

      2

      +

      b

      2

      ,

      (

      4

      )

      FFN(X)=GELU(XW_1+b1)W_2+b_2,(4)

      FFN(X)=GELU(XW1+b1)W2+b2,(4)

    • 其中W1∈ Rd×4d和W2∈ R4d×d分别表示两个线性层的权重。符号b1和b2是偏置项。上图(c)提供了本文设计的示意图。所提出的反向残差前馈网络(IRFFN)看起来类似于反向残差块,其由扩展层、深度卷积和投影层组成。具体来说,更改了残差连接的位置以获得更好的性能:

    • I

      R

      F

      F

      N

      (

      X

      )

      =

      C

      o

      n

      v

      (

      F

      (

      C

      o

      n

      v

      (

      X

      )

      )

      )

      ,

      (

      5

      )

      F

      (

      X

      )

      =

      D

      W

      C

      o

      n

      v

      (

      X

      )

      +

      X

      ,

      (

      6

      )

      IRFFN(X)=Conv(F(Conv(X))),(5)\ F(X)=DWConv(X)+X,(6)

      IRFFN(X)=Conv(F(Conv(X))),(5)F(X)=DWConv(X)+X,(6)

    • 其中省略了激活层。还包括根据[Mobilenetv2]在激活层和最后一个线性层之后的批量归一化。深度卷积用于以可忽略的额外计算成本提取局部信息。插入快捷方式的动机与经典残差网络相似,可以提高梯度跨层的传播能力。在本文的实验中,表明这种快捷方式有助于网络获得更好的结果。

  • 通过上述三个组件,CMT模块可以公式化为:

    • Y

      i

      =

      L

      P

      U

      (

      X

      i

      1

      )

      ,

      (

      7

      )

      Z

      i

      =

      L

      M

      H

      S

      A

      (

      L

      N

      (

      Y

      I

      )

      )

      +

      Y

      i

      ,

      (

      8

      )

      X

      i

      =

      I

      R

      F

      F

      N

      (

      L

      N

      (

      Z

      i

      )

      )

      +

      Z

      i

      ,

      (

      9

      )

      Y_i=LPU(X_{i-1}),(7)\ Z_i=LMHSA(LN(Y_I))+Y_i,(8)\ X_i=IRFFN(LN(Z_i))+Z_i,(9)

      Yi=LPU(Xi1),(7)Zi=LMHSA(LN(YI))+Yi,(8)Xi=IRFFN(LN(Zi))+Zi,(9)

    • 其中Yi和Zi分别表示第i个块的LPU和LMHSA模块的输出特征。LN表示层归一化。在每个阶段堆叠几个CMT块以进行特征转换和聚合。

Complexity Analysis

  • 在本节中,本文分析了标准ViT和CMT之间的计算成本。标准transformer块由MHSA模块和FFN组成。给定大小为n×d的输入特征,计算复杂性(FLOP)可计算为:

    • O

      (

      M

      H

      S

      A

      )

      =

      2

      n

      d

      (

      d

      k

      +

      d

      v

      )

      +

      n

      2

      (

      d

      k

      +

      d

      v

      )

      ,

      (

      10

      )

      O

      (

      F

      F

      N

      )

      =

      2

      n

      d

      2

      r

      ,

      (

      11

      )

      O(MHSA)=2nd(d_k+d_v)+n^2(d_k+d_v),(10)\ O(FFN)=2nd^2r,(11)

      O(MHSA)=2nd(dk+dv)+n2(dk+dv),(10)O(FFN)=2nd2r,(11)

    • 其中r是FFN的扩展比,dk和dv分别是键和值的维度。更具体地,ViT设置d=dk=dv和r=4,成本可以简化为:

    • O

      (

      t

      r

      a

      n

      s

      f

      o

      r

      m

      e

      r

       

      b

      l

      o

      c

      k

      )

      =

      O

      (

      M

      H

      S

      A

      )

      +

      O

      (

      F

      F

      N

      )

      =

      12

      n

      d

      2

      +

      2

      n

      2

      d

      ,

      (

      12

      )

      O(transformer~block)=O(MHSA)+O(FFN)=12nd^2+2n^2d,(12)

      O(transformer block)=O(MHSA)+O(FFN)=12nd2+2n2d,(12)

    • 在上述设置下,CMT块的FLOP如下:

    • O

      (

      C

      M

      T

       

      b

      l

      o

      c

      k

      )

      =

      O

      (

      L

      P

      U

      )

      +

      O

      (

      L

      M

      H

      S

      A

      )

      +

      O

      (

      I

      R

      F

      F

      N

      )

      =

      10

      n

      d

      2

      (

      1

      +

      0.2

      /

      k

      2

      )

      +

      2

      n

      2

      d

      /

      k

      2

      +

      45

      n

      d

      O(CMT~block)=O(LPU)+O(LMHSA)+O(IRFFN)\ =10nd^2(1+0.2/k^2)+2n^2d/k^2+45nd

      O(CMT block)=O(LPU)+O(LMHSA)+O(IRFFN)=10nd2(1+0.2/k2)+2n2d/k2+45nd

    • 其中k≥ 1是LMHSA中的还原率。与标准transformer块相比,CMT块对计算成本更友好,并且更容易在更高分辨率(更大的n)下处理特征图。

Scaling Strategy

  • 受[Efficientnet]的启发们提出了一种适用于基于transformer的网络的新的复合缩放策略,该策略使用复合系数φ以原则性的方式均匀缩放层数(深度)、维度和输入分辨率:

  • d

    e

    p

    t

    h

    :

    α

    ϕ

    ,

    d

    i

    m

    e

    n

    s

    i

    o

    n

    :

    β

    ϕ

    ,

    r

    e

    s

    o

    l

    u

    t

    i

    o

    n

    :

    γ

    ϕ

    s

    .

    t

    .

      

    α

    β

    1.5

    γ

    2

    2.5

    α

    β

    γ

    1

    ,

    (

    17

    )

    depth:alpha^phi,dimension:beta^phi,resolution:gamma^phi\ s.t. ~~ alpha·beta^{1.5}·gamma^{2}≈2.5,α,β,γgeq 1,(17)

    depth:αϕ,dimension:βϕ,resolution:γϕs.t.  αβ1.5γ22.5αβγ1,(17)

  • 其中,α、β和γ是通过网格搜索确定的常数,以分别决定如何将资源分配给网络深度、维度和输入分辨率。直观地说,φ是控制更多(φ≥ 1) 或更小(φ≤ −1) 资源可用于模型缩放。值得注意的是,根据E.q.16,拟建CMT块的FLOP与α、β1.5和γ2大致成比例≈ 2.5,因此对于给定的新φ,总FLOPS将大约增加2.5φ。这将在计算成本的增加和性能增益之间取得平衡。在实验中,本文根据经验设置α=1.2、β=1.3和γ=1.15。

  • 本文构建了模型CMT-S,使其具有与DeiT-S(ViT-S)和EfficientNet-B4相似的模型大小和计算复杂性。还根据所提出的缩放策略引入了CMT Ti、CMT-XS和CMT-B。所有四种型号的输入分辨率分别为1602、1922、2242和2562。详细的架构超参数如下表所示。

  • 在这里插入图片描述

  • ImageNet分类的体系结构。输出大小对应于224×224的输入分辨率。卷积和CMT块显示在带有堆叠块数量的括号中(另见上图(c))。Hi和ki分别是第i阶段LMHSA中的头数和减少率。Ri表示阶段i的IRFFN中的膨胀比。

Experiments

  • 在本节中,通过对包括图像分类、对象检测和实例分割在内的几个任务进行实验,来研究CMT架构的有效性。首先将所提出的CMT与先前最先进的模型进行比较,然后消除CMT的重要元素。

ImageNet Classification

  • 实验设置。ImageNet是一个图像分类基准,包含1000个类别的1.28万张训练图像和50K张验证图像。为了与最近的工作进行公平比较,采用了与DeiT中相同的训练和增强策略,即使用AdamW优化器对300个epoch(需要更多时期才能收敛的CMT Ti为800个)的模型进行训练。所有型号均在8个NVIDIA Tesla V100 GPU上进行训练。

  • CMT结果。下表显示了根据E.q.17从CMT-S缩放的所提出的CMT的性能。与其他基于卷积和基于transformer的模型相比,本文的模型以更少的参数和FLOP实现了更好的精度。特别是,本文的CMTS使用4.0B FLOP实现了83.5%的前1精度,比基线模型DeiT-S高3.7%,比CPVT高2.0%,表明CMT块在捕获本地和全局信息方面的优势。

    • 在这里插入图片描述

    • CMT的ImageNet结果。具有类似精度的CNN和transformer被分组在一起进行比较。所提出的CMT始终以较低的计算成本优于其他方法。

  • 注意,所有以前的基于transformer的模型仍然不如通过彻底的架构搜索获得的EfficientNet,然而,本文的CMT-S比EfficientNet-B4高0.6%,计算成本更低,这证明了所提出的混合结构的有效性,并显示出进一步改进的强大潜力。

  • 本文还绘制了下图(a)中的精度FLOP曲线,以直观地比较这些模型。本文可以看到,CMT始终以较大的优势优于其他模型。

    • 在这里插入图片描述

    • CMT与其他模型的性能比较。(a) ImageNet上的最高精度。(b) 使用RetinaNet框架对不同骨干进行COCO val2017的目标检测结果,所有数字均为单尺度“1x”训练计划。

Ablation Study

  • 分阶段架构。基于transformer的ViT/DeiT只能生成单尺度特征图,从而丢失了许多对密集预测任务至关重要的多尺度信息。将列式的DeiT-S更改为分层的DeiTS-4Stage,它有4个阶段,如上表中的CMT-S,但保持了原始的FFN。

  • 还将MHSA更改为LMHSA以降低计算成本。如下表所示,DeiTS-4Stage以较少的FLOP比DeiT-S高1.6%,这表明在CNNs中广泛采用的分阶段设计是促进基于transformer的架构的更好选择。

    • 在这里插入图片描述

    • ImageNet上分级结构的消融研究。

  • CMT块。CMT中不同模块的消融如下表所示。DeiTS-4Stage有4个贴片嵌入层(第一个是4×4卷积,步长为4)。“+Stem”表示将CMT Stem添加到网络中,并用2×。此外,所提出的LPU和IRFFN可以分别将网络进一步提升0.8%和0.6%。值得注意的是,LPU和IRFFN中的快捷连接对最终性能也至关重要。

    • 在这里插入图片描述

    • Ablations of CMT block.

  • 标准化函数。基于transformer的模型通常使用从NLP继承的LN。然而,基于卷积的模型通常利用批归一化(BN)来稳定训练。CMT在LMHSA和IRFFN之前保持LN,并在卷积层之后插入BN。如果所有LNs都被BNs替换,则模型在训练期间无法收敛。如果所有的BNs都被LNs替换,CMT-S的性能下降到83.0%,这表明正确应用归一化函数可以提高最终性能

  • 扩展策略。下表显示了不同缩放策略下CMT架构的ImageNet结果。一维缩放策略显著低于所提出的复合缩放策略,特别是对于深度缩放策略,当网络被放大时,其结果甚至更差,为83.4%,而原始CMT-S的83.8%。

    • 在这里插入图片描述

    • 缩放策略的消融研究

Transfer Learning

Object Detection and Instance Segmentation

  • 实验设置。实验在COCO上进行,其中包含80个班级的118K训练图像和5K验证图像。使用两个典型的框架来评估所提出的CMT-S:分别用于对象检测和实例分割的RetinaNet和Mask R-CNN。具体来说,用CMT-S替换了原有的主干,以构建新的检测器。所有模型都在PVT之后的标准单尺度和“1x”计划(12个阶段)下进行训练

  • CMT结果。分别在下表中报告了对象检测任务和实例分割任务的性能比较结果。对于以RetinaNet为基本框架的对象检测,CMT-S以1.3%的mAP优于Twins-PCPVT-S,以2.0%的mAP胜过Twins-SVT-S。例如,以Mask RCNN为基本框架进行分割,CMT-SS以1.7%的AP优于Twins-PCPVTS,以1.9%的AP优于Twins-SVTS。

  • 本文还报告了COCO val2017上1280×800输入的推理速度,基于CMT-S的RetinaNet和Mask R-CNN分别达到14.8FPS和11.2 FPS。

  • 在这里插入图片描述

  • COCO val2017的目标检测结果。所有模型都使用RetinaNet作为基本框架,并按照“1x”计划进行训练。FLOP以1280×800输入计算。†表示结果来自[Twins: Revisiting spatial attention design in vision transformers]。

  • 在这里插入图片描述

  • COCO val2017上的实例分割结果。所有模型都使用Mask R-CNN作为基本框架,并按照“1x”计划进行训练。FLOP以1280×800输入计算。†表示结果来自[Twins]。

Other Vision Tasks

  • 我们还对五个常用的转移学习数据集(包括CIFAR10、CIFAR100、Standford Cars、Flowers和Oxford IIIT Pets)评估了所提出的CMT。在[Transformer in transformer,Efficientnet]之后,在新数据集上微调ImageNet预训练模型。下表显示了相应的结果。CMT-S在所有FLOP较少的数据集中优于其他基于transformer的模型,并在FLOP较少9倍的情况下实现了与EfficientNet-B7相当的性能,这证明了CMT架构的优越性。

    • 在这里插入图片描述

    • 转移学习结果。使用ImageNet预训练检查点对模型进行微调。†表示结果来自[Do better imagenet models transfer better?]。

Conclusion

  • CMT为华为诺亚方舟实验室出品,文章分析了transformer模型在视觉任务上的弊端:1. 损失了空间局部结构信息;2. 参数量大、计算量大;3. 无法提取细粒度特征、多尺度特征。而这些方面CNN做得很好,因此作者将CNN网络的一些经典设计引入到transformer中,并且加入卷积模块,提升效率和性能,比如:ResNet的残差结构、Mobilenet中的depth-wise卷积、efficient中的参数Scaling策略等等。

  • 本文提出了一种新的名为CMT的混合架构,用于视觉识别和其他下游计算机视觉任务,如对象检测和实例分割,并解决了在计算机视觉领域中以野蛮的方式使用transformer的局限性。所提出的CMT架构利用了网络网络和transformer的优势来捕获本地和全局信息,提高了网络的表示能力。此外,提出了一种缩放策略,以针对不同的资源约束生成CMT变体家族。在ImageNet和其他下游视觉任务上的大量实验证明了所提出的CMT架构的有效性和优越性。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>