近年来,
Transformer
模型在各个领域都取得了巨大的进展。在计算机视觉领域,视觉Transformer
(ViTs
)也成为卷积神经网络(ConvNets
)的有力替代品,但它们还无法取代ConvNet
,因为两者都有各自的优点。例如,ViT善于利用注意力机制提取全局特征,而ConvNets
由于其强烈的归纳偏差,在建模局部关系时更有效。一个自然的想法是结合
ConvNets
和ViT
的优势来设计新的结构。本文提出了一种新的基本神经网络算子,称为位置感知循环卷积(ParC
)及其加速版本Fast-ParC
。ParC
算子通过使用全局核和循环卷积来捕获全局特征,同时通过位置嵌入来保持位置敏感性。
Fast-ParC
使用快速傅里叶变换将ParC
的O(n2)时间复杂度进一步降低为O(n log n)。这种加速使得在具有大型特征映射的模型的早期阶段使用全局卷积成为可能,但仍保持与使用3x3或7x7内核相当的总体计算成本。所提出的操作可以以即插即用的方式使用:1)将
ViT
转换为纯ConvNet
架构,以获得更广泛的硬件支持和更高的推理速度;2)在
ConvNets
的深层替换传统的卷积,通过扩大有效感受野来提高准确性。实验结果表明,ParC
操作可以有效地扩大传统ConvNets
的感受野,并且在所有三种流行的视觉任务(图像分类、目标检测和语义分割)中,采用所提出的操作都有利于ViT
和ConvNet
模型。
1、简介
视觉Transformer
近年来一直呈上升趋势。2017年首次提出变压器,以解决NLP
任务。2020年,Dosovitskiy等人将原始Transformer
直接应用于图像分类任务,发现在对大型数据集(如ImageNet-21K或JFM-300M)进行预处理时,它比卷积网络(ConvNets
)取得了更好的结果。ViT
及其变体随后被广泛用于其他下游视觉任务,如物体检测、语义分割和多模态任务,如人-物体交互(HOI)、文本-图像(T2I)合成等。尽管Transformer
取得了巨大成功,但它们仍然不能完全取代ConvNets
。正如在以前的工作中总结的那样,与ViTS
相比,ConvNets
具有更好的硬件支持,更易于训练。此外,ConvNets
在移动和其他边缘计算场景的轻量级模型领域仍然占据主导地位。
Transformer
和ConvNets
都有其独特的特点。对于Transformer
,广泛认可的多头注意力机制旨在捕获Token
之间的远程关系,这为Transformer
提供了强大的全局建模能力。虽然擅长这种全局表示能力,但它也需要更高的计算资源。自注意力机制的时间复杂度是Token
数量的二次方,因此处理高分辨率特征图的速度较慢。与之不同的是,卷积运算擅长于提取局部信息。它在一个小的滑动窗口(通常为3x3)内捕获局部信息,并将同一卷积核用于不同的输入和不同的空间位置。它可以解释为一种有效的隐式权重分配方案,使得卷积的所需参数仅随输入线性增长。
此外,ConvNets
已经被很好地研究并使用了更长的时间,因此它们还具有其他一些独特的优势。例如,ConvNets
的剪枝和量化等压缩算法已经成熟。至于硬件实现,无论是在CPU
、GPU
等通用平台上,还是在FPGA
、ASIC
等专用加速器上,都有许多现有的加速方案(如Winograd
、FFT
、im2col
)。总之,卷积运算的实现成本较低,但它不能像自我注意那样捕获全局关系。显然,变压器的表示能力和ConvNets
的效率之间存在互补关系,两者对于实际应用都是不可或缺的。
最近有一些工作结合了Transformer
和ConvNets
的优点。PVT
、Swin
和CoAtNet
试图重新引入卷积的感应偏差(例如其滑动窗口策略),以帮助Transformer
模型更好地学习。像LeViT
、MobileViT
、EfficientFormer
这样专注于设计高效的混合架构。这些工作大多将这两种网络结合在一起,但它们未能解决关键问题:新引入的注意力算子的额外计算和工程复杂性。很自然地会问:如果有可能设计一个不同于自注意力和传统卷积的新算子,它同时具有双方的优点吗?
本文结合Transformer
和ConvNets
的优点,构造了一种新的即插即用运算符ParC
。ParC
具有全局接受域,因为使用全局核(Kh=H或Kw=W)并采用循环卷积方案。然后,在卷积之前采用一个明确的可学习位置嵌入,以保持模型位置敏感。
如图1所示,不同的ConvNet
模型通过简单地应用提出的ParC
算子,改善了它们对全局的有效感受野。由于ParC
使用纯卷积运算,因此可以高效地部署在不同的平台上。最后,将二维卷积分解为两个一维卷积,以克服FLOP/参数的增加。基于上述设计实现了提取全局特征的目标,同时在空间和时间复杂度方面仍保持低成本。
通过实验验证了新算子在各种任务和模型中的有效性。总之,本文的贡献可以概括为以下3点:
- 结合
ViT
和ConvNets
的优点,提出了一种有效的新算子ParC
。实验证明了ParC
的优势,将其应用于广泛的模型,包括MobileViT
、ResNet50
、MobileNetV2
和ConvNext
。我们还对这些模型进行了多任务评估,包括分类、检测和分割。 - 为了克服输入特征分辨率较大时,
ParC
的复杂性变得难以克服的问题,提出了快速ParC。Fast Parc
理论上等同于Parc
,例如,当给定相同的输入时,它们的输出是相同的。然而,当给定较大的分辨率(例如112×122)时,它比ParC
效率高得多。Fast ParC
扩展了ParC
的使用场景,使其成为一个更广泛的应用操作符。 - 分析了新算子的内部机理。通过可视化显示了
ParC
和标准卷积之间的几个不同之处。实验表明,标准ConvNet
的有效感受野(ERF
)非常有限,而基于ParC
的网络确实具有全局ERF
。Grad CAM
还表明,基于ParC
的网络在关注图像的重要区域方面比普通ConvNets
更全面。作者还对ParC
和标准卷积之间的差异进行了详细分析。
2、相关工作
2.1、理论上/有效的感受野
Hebel等人在神经科学中发现,浅层神经元仅提取局部特征,覆盖范围逐层累积,称为“感受野(RF)”。自VGGNet
成功以来,CNN
架构的设计遵循了类似的模式——使用3×3这样的小卷积核堆叠,而不是更大的卷积核。之前的一些工作给出了CNN
感受野的理论计算,即理论感受野(TRF
)——在这个概念下,两层3×3的感受野等于一层5×5。
然而,一些工作对这一观点提出了质疑,因为事实上像素在特征图中的重要性从中心到边缘迅速退化。随后,有效感受野(ERF
)被提出用于测量输入图像中可能影响神经元激活模式的区域。Luo等人通过反向传播中心像素并计算输入图像的偏导数来检查该区域。通过研究一系列卷积网络,他们发现有效的感受野通常比理论上的对应物小得多。
SKNet
采用注意力机制选择合适的感受野。RF Next
提出了一个基于NAS
的工作流,用于自动搜索模型的感受野。
这些工作表明,对感受野的正确选择对网络的性能非常有利。最近的工作还发现,扩大卷积网络的感受野可以导致更好的模型性能。这里称之为“大卷积核网络”。
2.2、Vision Transformer和混合结构
ViT
在各种视觉任务上取得了令人印象深刻的表现。然而,最初的ViT
有一些限制。例如,它很重,计算效率低,很难训练。为了克服这些问题,提出了ViT
的后续变体。从改进训练策略的角度出发,Touvron等人提出使用知识蒸馏来训练ViT
模型,并用较少的预训练数据实现竞争准确性。为了进一步改进模型架构,一些研究人员试图通过学习ConvNets
来优化ViT
。其中,PVT
和CVT
将卷积操作插入到ViT
的每个阶段,以减少Token
的数量,并构建分层多阶段结构。Swin transformer
在移位的局部窗口内计算自注意力。PiT
联合使用池化层和深度卷积层来实现通道倍增和空间缩减。CCNet
提出了一种称为交叉注意力的自注意力机制的简化版本,并将其插入到ConvNets
中,以构建具有全局感受野的ConvNet
。这些论文清楚地表明,ConvNets
的一些技术可以应用于视觉transformer
,以设计更好的视觉transformer
模型。
另一个流行的研究方向是结合ViT
和ConvNets
的元素来设计新的主干。Graham等人在其LeViT
模型中混合了ConvNet
和transformer
,在速度/精度权衡方面明显优于以前的ConvNet
和ViT
模型。在ResNet
的最后几个块中,BoTNet
用多头注意力代替了标准卷积。ViT-C
为标准ViT
添加了早期Stem
。ConViT
通过门控位置自注意力结合了软卷积感应偏置。CMT
模块由基于深度卷积的局部感知单元和轻量化transformer
模块组成。CoatNet
将卷积和自注意力结合起来,设计了一个新的transformer
模块,该模块同时关注局部和全局信息。
2.3、Large Kernel卷积网络
早期的ConvNets
(如AlexNet
和GoogleNet
)使用5×5或7×7这样的大卷积核。但由于VGGNet
的成功,堆积3x3和1x1这样的小卷积核被认为是计算和存储的有效选择。最近,受视觉transformer
成功的启发,大卷积核被重用为一个强大的工具,再次提高模型的性能。ConvNext
通过引入一系列增量但有效的设计,使标准ResNet
现代化,用于视觉transformer
的设计,其中7×7深度方向卷积是按照Swin
中Window SA
使用的。RepLKNet
将卷积内核扩展到31×31并获得性能增益,但使用的重参化技巧会加重训练过程的负担,并且模型部署需要额外的转换步骤。后来,Rao等人使用了一个更大的51×51的动态稀疏卷积核。GFNet
用FFT
实现的全局傅里叶卷积代替transformer
块中的SA(自注意力)。
我们的工作与RepLKNet
和GFNet
密切相关。这些方法和我们提出的ParC
都侧重于扩大有效感受野,但我们提出的操作与以下观点不同:
- 我们的
ParC
使用可学习的位置嵌入来保持结果特征地图的位置敏感。这对于位置敏感的任务很重要,例如语义分割和对象检测。烧蚀研究中的实验也证实了这一点。 - 我们的
ParC
采用轻质设计。RepLKNet
使用重型2D卷积核,GFNet
使用2CHW形状的可学习复杂权重矩阵,而我们使用二维一维卷积,将核缩减为CH或CW。 - 与强调整体网络设计的
RepLKNet
和GFNet
不同,我们提出的ParC
是一个新的基本运营商,可以以即插即用的方式插入到ViT
和ConvNets
中。
此外,我们还提出了Fast ParC
,它进一步拓宽了ParC
的使用场景。