CMT(CVPR 2022)论文解读

paper:CMT: Convolutional Neural Networks Meet Vision Transformers

official implementation:https://github.com/ggjy/cmt.pytorch

出发点

本文的出发点是结合CNNs和Transformers的优势,提出一种新的混合网络架构,称为CMT(Convolutional Neural Networks Meet Vision Transformers)。这种架构旨在利用Transformers捕捉长距离依赖关系的能力,同时利用CNNs提取局部信息,从而在性能和效率之间实现更好的平衡。

创新点

本文旨在解决以下问题:

  1. 现有Transformers在视觉任务中的性能仍不如类似规模的CNNs,如EfficientNets。
  2. Transformers在处理高分辨率图像时计算和内存成本较高。
  3. 现有Transformers在提取低分辨率和多尺度特征方面存在困难,影响了在密集预测任务(如目标检测和语义分割)中的表现。

创新点如下:

  • 混合架构设计:本文提出的CMT结合了CNNs和Transformers的优点,通过卷积stem预提取精细特征,并在CMT块中增强局部信息。
  • 阶段式架构:CMT采用类似CNNs的阶段式设计,通过逐步减少分辨率和增加特征维度,提取多尺度特征,缓解高分辨率带来的计算负担。
  • 改进的Transformer块:CMT块引入了局部感知单元(LPU)和reverted残差前馈网络(IRFFN),在中间特征中捕捉局部和全局结构信息。
  • 多任务适应性:CMT不仅在图像分类任务中表现优异,还能有效迁移到目标检测和语义分割等其他视觉任务。

方法介绍

图2展示了CMT-S的整体结构,DeiT直接将输入图片切分成不重叠的patches,但这种in-patch结构信息只能通过线性投影进行不充分的建模。为了克服这个问题,作者采用卷积stem来更好地进行局部信息的提取,其中包括一个步长为2输出通道为32的3x3卷积后接一个步长为1的3x3卷积。为了得到层次结构表示,在每个stage前用一个包含一个卷积和一个LN的patch embedding层来进行空间维度的降采样(2x),同时特征维度扩大2x。在每个stage中,堆叠若干CMT block进行特征转换,最后是一个全局平均池化层、一个投影层和一个softmax分类层。

一个CMT block包含一个local perception unit(LPU)、一个lightweight multi-head self-attention、一个inverted residual feed-forward network(IRFFN),如图2(c)所示。

Local Perception Unit

视觉任务中的平移不变性是我们希望拥有的特性,但绝对位置编码破坏了这种特性。为了缓解这种局限性,作者提出了局部感知单元LPU来提取局部信息,定义如下

Lightweight Multi-head Self-attention

原始的self-attention定义如下

为了减少计算开销,作者采用了一个步长为 \(k\) 的 \(k\times k\) 的深度卷积来减小 \(\mathbf{K},\mathbf{V}\) 的空间维度大小,即 \(\mathbf{K}'=DWCONv(\mathbf{K})\in\mathbb{R}^{\frac{n}{k^2}\times d_k}\),\(\mathbf{V}'=DWCONv(\mathbf{V})\in\mathbb{R}^{\frac{n}{k^2}\times d_v}\),如图2(c)所示。此外,作者在每个self-attention模块中都加了一个相对位置偏差 \(\mathbf{B}\),轻量自注意力定义如下

 

其中 \(\mathbf{B}\in \mathbb{R}^{n\times \frac{n}{k^2}}\) 是随机初始化并且可学习的。 

Inverted Residual Feed-Forward Network

ViT中原始的FFN包含两个线性层和一个GELU激活函数,第一层将维度扩展到4倍,第二层恢复到原始维度,如下

本文提出的IRFFN如图2(c)所示,具体包括一个expansion layer和一个深度卷积然后是一个projection layer,如下

 

根据上述三个组件,CMT block可以表示如下

 

Scaling Strategy

作者还提出了一种新的适用于Transformer网络的复合缩放策略,它使用一个复合系数 \(phi\) 来统一缩放网络层数、维度和输入分辨率,如下

其中 \(\alpha,\beta,\gamma\) 是通过网格搜索得到的常量。本文采用 \(\alpha=1.2,\beta=1.3,\gamma=1.15\)。

实验结果

作者设计了四种不同大小的网络,具体配置如下

在ImageNet上的分类性能如下表所示 

在下游任务上的性能对比如表6表7所示,分别是在COCO数据集上的目标检测和实例分割

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00000cj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值