UniConvNet:为任意规模的卷积神经网络在扩展有效感受野的同时保持渐近高斯分布
摘要
具有大有效感受野(ERF)的卷积神经网络(ConvNets)仍处于早期阶段,尽管其展现出令人瞩目的有效性,但受限于高昂的参数量和计算量(FLOPs)成本,并且会破坏ERF的渐近高斯分布(AGD)。本文提出了一种替代范式:与其单纯地使用极大的ERF,不如通过合理组合较小的卷积核(如 7×77\times77×7、9×99\times99×9、11×1111\times1111×11)来扩展ERF,同时保持其AGD,这种方法更为有效和高效。本文引入了一个三层感受野聚合器(Receptive Field Aggregator),并从感受野的视角设计了一个层算子(Layer Operator)作为基础算子。通过堆叠所提出的模块,ERF可以扩展到现有大核ConvNets的水平,同时保持ERF的AGD。基于这些设计,我们提出了一种适用于任意规模ConvNet的通用模型,称为UniConvNet。在ImageNet-1K、COCO2017和ADE20K上的大量实验表明,UniConvNet在各种视觉识别任务中,无论是轻量级还是大规模模型,均优于当前最先进的CNN和ViT,且吞吐量相当。令人惊讶的是,UniConvNet-T在仅3000万参数和5.1G FLOPs的情况下,在ImageNet上达到了84.2%的Top-1准确率。UniConvNet-XL在大数据和大模型上也展现出强大的可扩展性,在ImageNet上获得了88.4%的Top-1准确率。代码和模型已在 https://github.com/ai-paperwithcode/UniConvNet 公开。
1. 引言
随着Transformer [19, 38] 的巨大成功,构建长程依赖已成为设计卷积神经网络(ConvNets)的关键原则。一些先前的工作 [17, 18, 37] 尝试捕获大感受野范围内的关系,超越了传统的卷积神经网络 [23, 45, 49, 59, 82],并在各种视觉识别任务(如图像分类、目标检测、实例分割和语义分割)上取得了显著改进。
当前的ConvNets通过使用重参数化 [15, 17]、参数共享 [5] 或稀疏性 [37] 技术来放大卷积核,从而实现长程依赖。一些近期工作利用大核的关键特性 [18] 或对其交互进行编码 [32] 来指导ConvNet架构设计。它们受益于大ERF,但受限于高昂的参数量和FLOPs成本。

ConvNets的一个典型范式 [21, 23, 70] 是堆叠许多小空间卷积(例如 3×33\times33×3)来扩大网络中的感受野。为什么受限于小ERF的小核ConvNets仍然能取得有效的性能?如图1(A)所示,传统的ConvNets(如ResNet101 [23])具有较小的ERF,但通过堆叠 3×33\times33×3 卷积模块,受益于遵循AGD的多尺度影响(梯度)。这表明,输入中围绕输出像素位置的较小尺度像素应该对输出像素有更大的影响。而大核ConvNets(如SLaK-T [37] 和 UniRepLKNet-T [18])虽然获得了大ERF,却破坏了AGD,要么在奇怪的位置获得判别性影响,要么不同尺度的影响相似,如图1(B)和©所示。
是否存在一种合适的方法,能够组合较小的卷积核来扩展ERF,同时保持ERF的AGD?本文提出了一种替代范式:与其单纯地采用极大的ERF,不如通过合理组合较小的卷积核来扩展ERF并保持其AGD,这种方法更为有效和高效。
为了解决这个问题,我们为ConvNets引入了一个感受野聚合器(RFA),旨在通过在浅层模块中直接为不同尺度分配影响来获得AGD。输入图像根据RFA的层数被分离成多个“头”(heads)。通过将多头输入递归地送入层算子(LO),并在通道间创建金字塔式增量,从而降低了参数量和FLOPs成本。对于通道间具有不同模式的“头”,我们在每一层都从感受野的视角提出了一种空间编码器,称为层算子(LO)。LO由两个组件构成:放大器(Amplifier, Amp)和判别器(Discriminator, Dis)。Amp通过逐元素相乘来扩展感受野的尺度,并放大感受野内像素的影响,使得感受野中的显著像素将具有更突出的影响。Dis则从新像素中提供小尺度的影响,以作用于Amp产生的大感受野。最终的感受野成为一个大的两层感受野。依次地,每个LO通过Amp扩展并放大前一个LO的感受野,并通过提供一个判别性感受野来添加小尺度像素的影响。三层RFA的最终感受野形成了一个遵循AGD的四层感受野。通过堆叠多个RFA模块,可以扩展ERF并保持其AGD,如图1(D)所示。

基于这些设计,所提出的UniConvNet在获得ERF多尺度影响的同时,有效地减少了参数量和FLOPs。因此,它在从轻量级到大规模模型的各种视觉识别任务中,均优于当前最先进的CNN和ViT,如图2所示。值得注意的是,UniConvNet-T达到了84.2%的Top-1准确率,比参数量和FLOPs相似的模型至少高出0.6个百分点,相比现有ConvNets [5, 37, 40, 72] 有显著改进。UniConvNet-XL突破了ConvNet的瓶颈,与当代CNN [17, 32, 40, 50, 69, 72] 和ViT [13, 38, 39, 74] 相比,在参数量和FLOPs权衡上具有优势,在ImageNet上达到了88.4%的Top-1准确率。UniConvNet在下游任务上同样强大。UniConvNet-L在COCO [34] 上获得了55.7%,在ADE20K [85] 上获得了55.1%。
我们认为UniConvNet的高性能主要归因于其大ERF [42],同时保持了AGD,如图1所示。ERF的尺度与使用极大卷积核的ConvNets相当。ERF的AGD更符合“距离越近的像素影响越大”的直觉。我们希望我们的发现能有助于理解ConvNets的内在机制。
2. 模型架构
2.1. 感受野聚合器(RFA)
为了在扩展有效感受野(ERF)[42] 的同时保持其渐近高斯分布(AGD),我们引入了一个感受野聚合器(RFA),如图3(左)所示,它直接在一个浅层模块中为不同尺度的感受野分配判别性影响。具体来说,输入图像最初根据RFA的层数 NNN 沿通道维度被划分为 N+1N+1N+1 个部分,从而得到 N+1N+1N+1 个“头”:A1,H1,...,Hn,...,HNA_{1}, H_{1}, ..., H_{n}, ..., H_{N}A1,H1,...,Hn,...,HN。输入“头”可分为两部分:A1A_{1}A1 和 H1,...,HNH_{1}, ..., H_{N}H1,...,HN。具体而言,输入“头” A1∈RB×CN+1×H×WA_{1} \in \mathbb{R}^{B \times \frac{C}{N+1} \times H \times W}A1∈RB×N+1C×H×W,其中 B,CN+1,HB, \frac{C}{N+1}, HB,N+1C,H 和 WWW 分别代表批大小、通道维度、高度和宽度,首先被送入层算子(LO)1,产生一个新的“头” A2A_{2}A2。输出“头” A2A_{2}A2 的通道维度从 CN+1\frac{C}{N+1}N+1C 增加到 2N+1C\frac{2}{N+1}CN+12C。随后,输出“头” A2A_{2}A2 根据层数 nnn (n∈[2,N]n \in [2, N]n∈[2,N]) 递归地送入LO nnn,其通道维度从 nN+1C\frac{n}{N+1}CN+1nC 增加到 n+1N+1C\frac{n+1}{N+1}CN+1n+1C。剩余的 NNN 个输入“头” H1,...,HNH_{1}, ..., H_{N}H1,...,HN 根据层数 nnn (n∈[1,N]n \in [1, N]n∈[1,N]) 依次送入LO nnn,以与对应的输入“头” AnA_{n}An 进行交互。在送入LO之前,每个“头”首先使用 1×11\times11×1 卷积进行投影,以增强特征多样性。在RFA中,“头” AnA_{n}An 的输出通道遵循金字塔式增量,与标准的直入直出结构相比,减少了参数量和FLOPs。增加层数 NNN 可以处理更高分辨率的输入图像,这可能为在低分辨率图像上训练后再在高分辨率上微调提供一种更有效的替代方案。

2.2. 层算子(LO)
为了有效地扩展感受野并为其分配判别性影响,我们引入了层算子(LO)。该算子从感受野的视角进行设计,并作为RFA中的核心算子,如图3(右)所示。该技术可以构建一个两层的感受野AGD。具体来说,对于层数 nnn,LO nnn 的三个不同输入是 an,1,an,2a_{n,1}, a_{n,2}an,1,an,2 和 hnh_{n}hn,它们由三个独立的 1×11\times11×1 卷积投影而来,如图3(左)所示。LO通过两个组件——判别器(Dis)和放大器(Amp)的交互生成,如图3(右)所示。对于Amp,我们在 an,2a_{n,2}an,2 和对 an,1a_{n,1}an,1 应用GELU激活函数及深度可分离大核 K×KK\times KK×K 卷积后得到的输出特征之间进行逐元素相乘。对于Amp模块中的每个输出像素,其对应 K×KK\times KK×K 感受野内的相关像素都会与 an,2a_{n,2}an,2 中相同空间位置的像素值相乘。此操作扩展了感受野并放大了感受野内像素的影响。此外,对于Dis,我们结合了来自深度可分离 K×KK\times KK×K 和 k×kk\times kk×k 卷积的特征。这为大 K×KK\times KK×K 感受野引入了小尺度新像素的影响,从而建立了一个两层的判别性AGD。1×11\times11×1 卷积促进了通道间的信息交互,并改变了通道维度以实现特征的兼容性。Amp和Dis的输出被拼接,得到最终输出 An+1A_{n+1}An+1,其具有两层AGD的感受野,并为后续层增加了通道数。
2.3. 用于UniConvNet的三层RFA
层数 NNN 随输入图像的分辨率而变化。在本工作中,对于 224×224224\times224224×224 的输入图像尺寸,我们使用 N=3N=3N=3 构建了一个三层RFA。LO中渐进的大尺度卷积核大小 KKK 计算为 K=2n+5K=2n+5K=2n+5 (n∈[1,N]n \in [1, N]n∈[1,N])。小尺度卷积核大小为 k=3k=3k=3。因此,RFA在一个浅层模块内使用渐进的大核卷积 7×7,9×97\times7, 9\times97×7,9×9 和 11×1111\times1111×11,为感受野实现了四层AGD,这是针对 224×224224 \times 224224×224 图像的最优配置。我们在第4.1节进行了消融研究。
7×77\times77×7 的最小卷积核大小比 3×33\times33×3 和 5×55\times55×5 卷积提供了显著更大的感受野。11×1111\times1111×11 的最大卷积核大小可以在我们的模型主干(第3阶段)中,通过5的填充大小,保持 14×1414\times1414×14 的特征,以确保特征角落最多只有四分之一的像素,从而避免在卷积过程中中心像素频繁重叠。其效率和有效性在第4.2节进行了验证和分析。
2.4. 三层RFA的感受野流
我们在图4中勾勒了所提出的三层RFA的感受野流。在LO 1中,感受野尺度被扩展,并且Amp模块放大了像素在 7×77\times77×7 感受野上的影响。Dis模块为由 7×77\times77×7 卷积生成的大感受野提供了更靠近输出像素位置的小尺度新像素的影响,以构建一个判别性感受野。输出通过直接为感受野上不同尺度分配影响,将两个感受野结合起来,构建了一个两层AGD。依次地,每个LO通过Amp扩展并放大前一个LO的感受野,并提供一个判别性感受野来添加小尺度新像素的影响。三层RFA的最终感受野形成了一个遵循AGD的四层感受野。通过堆叠多个RFA模块,可以扩展ERF并保持其AGD,如图1(D)所示。

2.5. UniConvNet模型
三层RFA可以作为即插即用模块集成到任何模型中,有效地替换ConvNet架构中的每个卷积。为了获得更好的性能,我们直接将三层RFA模块集成到当前最先进的基于CNN的模型InternImage [69] 中。具体来说,InternImage [69] 中 3×33\times33×3 卷积残差组件所使用的卷积是DCNV3,我们移除了DCNV3中的softmax归一化(如DCNV4 [72] 所做的那样),因为Efficient Deformable ConvNets [72] 中对DCNV4的内存优化与其它基于CNN的模型兼容。我们开发了一种新的基于CNN的骨干模型,称为UniConvNet,并为其不同变体采用了多种堆叠策略。整体架构和堆叠规则如图5所示。我们展示了模型的整体模块,并在附录C中提供了嵌入模块的详细信息。

3. 实验
我们开发了不同的UniConvNet变体,以匹配各种当代模型的复杂度,包括最先进的轻量级网络 [43, 64, 66, 81] 和大规模网络 [18, 38, 40, 69, 72, 74]。我们在具有代表性的视觉任务(包括图像分类、目标检测、实例分割和语义分割)上评估了UniConvNet变体的性能,并将其与领先的CNN和ViT进行比较。
3.1. 图像分类
为了公平比较,遵循通用实践 [40, 72],UniConvNet-A/P0/P1/P2/N0/N1/N2/N3/T/S/B在ImageNet-1K上训练300个epoch,而UniConvNet-L首先在ImageNet-22K上训练90个epoch,然后在ImageNet-1K上微调20个epoch。不同变体的ImageNet-1K/22K训练设置、ImageNet-1K微调设置和训练方案分别在附录D.1、D.2和D.3中给出。

如表1和表2所示,我们提出的模型变体相较于最先进模型表现出显著改进,有效地弥合了轻量级模型和大规模模型之间的差距。现有模型要么在轻量级场景下表现不佳,要么在放大时无法达到足够的准确率。

3.2. 下游任务
COCO上的目标检测和实例分割:我们使用在ImageNet-1K上预训练的UniConvNet,在MS-COCO 2017数据集上,采用1×(12轮)训练方案,对重型RetinaNet [35] 和轻量级SSDLite [26] 进行微调。我们还使用具有代表性的目标检测框架Mask R-CNN [24] 和Cascade Mask R-CNN [3],在MS-COCO 2017数据集上,采用1×(12轮)或3×(36轮)训练方案,对放大的UniConvNet进行微调。详细的微调设置见附录D.4。
ADE20K上的语义分割:我们使用在ImageNet-1K上预训练的UniConvNet,在ADE20K数据集上,采用160k次迭代的训练方案,对DeepLabv3 [7] 和PSPNet [83] 进行微调。我们还使用具有代表性的语义分割框架UperNet,在ADE20K数据集上对放大的UniConvNet进行160k次迭代的微调。详细的微调设置见附录D.5。

总体结果:如表3、表4、表5和表6所示,我们提出的UniConvNet在与最先进模型的比较中显著提升了性能,同时具有更少的参数量和更低的FLOPs。这证明了所提出的三层RFA的有效性和高效性,及其在下游任务中的改进能力。



4. 分析
4.1. 三层RFA能恰当地扩展ERF并保持AGD
关于层数和卷积核大小的消融研究:第2.3节提出了对层数 NNN 和渐进卷积核大小的约束。基于UniConvNet-T,我们调整层数 NNN 和渐进卷积核大小进行消融研究。结果表明,针对这两个超参数所提出的原则是有效且准确的。如表7所示,对于3层结构,小于(5,7,9)的渐进卷积核大小可能不足以将ERF扩展到现有大核ConvNets的水平,导致性能较差。大于(9,11,13)的渐进卷积核大小比UniConvNet-P0获得了更好的Top-1准确率,但参数量和FLOPs略高。相比之下,UniConvNet-A和UniConvNet-T在(7,9,11)的卷积核大小下表现更好。对于构建具有同等参数量的深层模型而言,(9,11,13)的卷积核大小效率不高,而这对模型感知至关重要。因此,我们出于效率考虑选择了(7,9,11)的卷积核大小。对于4层结构,渐进卷积核产生的理论感受野远大于第3阶段中 14×1414\times1414×14 的图像尺寸,这对于 224×224224\times224224×224 的图像分辨率来说是浪费的。这与缓解当代大核ConvNets参数量和FLOPs负担的初衷相矛盾。

对ERF不同AGD的探究:我们还检验了在RepLKNet [17] 中使用的(27,29,31)等大卷积核的感知能力。性能结果表明,使用大卷积核既不高效也不有效,无法在遵循AGD的情况下构建长程ERF,并且会破坏小尺度像素的AGD。我们进一步在前两层使用相对较小的卷积核,然后在后一层使用极大的卷积核,例如(7,9,29)和(7,11,31)。与(7,9,11)的卷积核大小相比,这在较小区域内建立了小尺度AGD,并通过后一个极大卷积核扩展了ERF。其较差的性能表明,由三层RFA从中心到边缘生成的具有连续AGD的大ERF是至关重要且恰当的。我们分析了几个模型的ERF,并证明了小尺度像素的恰当AGD比扩展ERF更为重要。详细分析请参见附录A。
4.2. 三层RFA是高效且有效的
效率:我们在表8中展示了UniConvNet变体的参数量和FLOPs。UniConvNet由三层RFA、改进的DCNV3、前馈层和分类头组成。通常,与小卷积核的改进DCNV3相比,三层RFA具有更少或相当的参数量和FLOPs。这表明我们提出的三层RFA可以在降低FLOPs成本的同时建立长程依赖,并提高参数效率。

有效性:我们进行了一项消融研究,比较了大卷积核和小卷积核卷积的各种组合,以评估不同模块的有效性。如表9所示,仅使用三层RFA或改进DCNV3的模型分别达到了78.4%和78.5%的Top-1准确率。这表明所提出的三层RFA在不依赖传统ConvNets通常使用的基础小尺度信息的情况下,保留了相当的特征感知能力。此外,我们将UniConvNet-P0中的改进DCNV3替换为深度可分离 3×33\times33×3 卷积,其Top-1准确率为78.9%,比UniConvNet-P0低0.2%,表明与使用简单的深度可分离 3×33\times33×3 卷积相比,改进DCNV3对UniConvNet-P0有轻微提升。相比之下,将三层RFA替换为另一个大卷积核卷积(深度可分离 7×77\times77×7 卷积)会导致Top-1准确率下降至77.0%,凸显了我们提出的三层RFA的有效性。此外,仅使用深度可分离 3×33\times33×3 卷积的模型达到了77.0%的Top-1准确率,表明深度可分离 7×77\times77×7 卷积并未增强模型的感知能力。这进一步验证了所提出的三层RFA的有效性。对15M和30M参数量模型的消融研究一致地证明了所提出的三层RFA的性能提升能力。
4.3. 吞吐量分析
我们在几个经典和相关模型上对吞吐量进行了基准测试。如表10所示,与具有相似 3×33\times33×3 卷积的InternImage [69] 相比,UniConvNets提高了吞吐量。详细配置请参见附录B。

5. 相关工作
卷积神经网络(ConvNets)[16, 21, 23, 26, 27, 43, 51, 53, 54, 69, 71, 72, 78, 80] 由于其固有的归纳偏置,长期以来一直是视觉识别的标准架构。CNN利用堆叠的小卷积核来建立局部依赖,这限制了它们的感知能力。然而,随着注意力机制在计算机视觉中的出现,它们的主导地位正受到挑战。近年来,基于注意力的模型 [1, 4, 8, 9, 19, 29, 31, 33, 38, 44, 52, 64, 67, 68, 76] 由于能够通过自注意力建立长程依赖来实现全局感知,已逐渐成为计算机视觉任务的必备工具。
受此启发,大卷积核因其能够在CNN中建立长程依赖从而提高各种视觉任务的准确性而日益受到认可。卷积网络中大卷积核的使用起源于AlexNet [30] 和Inception [55, 56, 58],它们在低层使用了 7×77\times77×7 或 11×1111\times1111×11 的卷积核。ConvNeXt [40] 考察了大卷积核在传统ResNet类架构中的可行性,其性能在 7×77\times77×7 的卷积核大小时达到饱和。
最近,RepLKNet [17] 首次使用结构重参数化技术将卷积核扩展到 31×3131\times3131×31,并提供了几条架构设计指南。VAN [22] 通过顺序堆叠大核深度可分离卷积(DWConv)和深度可分离膨胀卷积,获得了 21×2121\times2121×21 的感受野以建立长程依赖。SLaK [37] 使用稀疏分解的 51×5151\times5151×51 卷积核(由并行的 51×551\times551×5 和 5×515\times515×51 卷积核组成)构建了一个纯CNN架构。MogaNet [32] 采用了一个空间聚合块,利用 5×55\times55×5 和 7×77\times77×7 卷积来自适应地聚合判别性特征。PeLK [5] 采用了一种类人周边卷积,通过参数共享来减少参数量,同时将卷积核大小扩展到巨大的 101×101101\times101101×101。然而,近期的大核ConvNets面临着参数量和FLOPs负担以及ERF的AGD被破坏的问题。在本工作中,我们专注于为任意规模的ConvNets在扩展ERF的同时保持其AGD。
6. 结论
我们引入了一个感受野聚合器(RFA),用于在扩展有效感受野(ERF)的同时保持ERF的渐近高斯分布(AGD)。据此,我们为分辨率为 224×224224\times224224×224 的输入图像设计了一个三层RFA,它可以作为ConvNets的即插即用模块,或替换其中的卷积层。基于这些设计,我们提出了一种通用的卷积神经网络(ConvNet),称为UniConvNet,并在广泛的视觉识别任务中评估了其性能。UniConvNet的所有变体都以更少的参数量和FLOPs展示了卓越的性能。这项工作可能会引起人们对设计遵循AGD的大ERF的关注,从而增强任意规模的ConvNet。
更多推荐
所有评论(0)