【CVPR2024】计算机视觉|InceptionNeXt:速度与精度齐飞的CNN架构

论文地址:http://arxiv.org/pdf/2303.16900v3

代码地址:https://github.com/sail-sg/inceptionnext


关注UP CV缝合怪,分享最计算机视觉新即插即用模块,并提供配套的论文资料与代码。
https://space.bilibili.com/473764881

摘要

受ViT的远程建模能力启发,近来,人们对大核卷积 进行了广泛的研究和应用,以扩大感受野并提高模型性能,例如采用7×7深度卷积的出色工作ConvNeXt。虽然这种深度算子只消耗少量的FLOPs,但由于高内存访问成本 ,它在强大的计算设备上大大损害了模型效率。例如,ConvNeXt-T与ResNet-50具有相似的FLOPs,但在A100 GPU上以全精度训练时,吞吐量仅达到约60%。虽然减小ConvNeXt的内核大小可以提高速度,但会导致性能显著下降,这就提出了一个具有挑战性的问题:如何在保持基于大核的CNN模型性能的同时,提高其速度

为了解决这个问题,受Inception的启发,本研究提出将大核深度卷积分解为沿通道维度的四个并行分支 ,即小方形核、两个正交带核和一个恒等映射。利用这种新的Inception深度卷积,本研究构建了一系列网络,即InceptionNeXt ,它不仅具有高吞吐量 ,而且保持了竞争性的性能 。例如,InceptionNeXt-T的训练吞吐量比ConvNeX-T高1.6倍 ,并且在ImageNet-1K上获得了0.2%的top-1准确率提升 。本研究预计InceptionNeXt可以作为未来架构设计的经济型基线,以减少碳足迹。

引言

本研究旨在提升卷积神经网络(CNN)在计算机视觉领域的效率和性能 。回顾深度学习发展历程,CNN凭借其卓越的性能 ,在计算机视觉领域占据了核心地位Transformer模型 在自然语言处理领域的成功,激发了研究者将其引入视觉领域的热情。Vision Transformer (ViT) 的出现,更是推动了Transformer在图像识别领域的应用。然而,现代CNN模型 ,如ConvNeXt ,通过引入GELU激活函数大卷积核 等模块,在多种任务中超越了Swin Transformer等ViT模型。这些现代CNN模型通常采用深度可分离卷积更大的卷积核 ,以获得更大的感受野

然而,尽管深度可分离卷积 在理论上具有较低的计算复杂度 ,但由于其高内存访问成本 ,在GPU等高性能计算设备上表现出较低的实际效率 。增加卷积核尺寸 会进一步降低模型速度。为了解决这个问题,本研究着眼于如何在保持大卷积核CNN模型性能 的同时,提升其运算速度

通过对ConvNeXt 的初步实验,本研究发现并非所有输入通道都需要进行计算成本较高的深度可分离卷积 操作。因此,本研究提出保留部分通道不进行处理,仅对一部分通道进行深度可分离卷积操作 。此外,本研究还提出将大的深度可分离卷积核分解为多个小组的小卷积核 ,借鉴Inception 的思想。具体来说,对于需要处理的通道,其中一部分采用3x3的卷积核,另外两部分分别采用3x3的卷积核,另外两部分分别采用1xk和kx1的卷积核。基于这种新的**"Inception深度可分离卷积",构建了 InceptionNeXt模型**,该模型在准确率和速度 之间取得了更好的平衡

论文创新点

本研究提出了一种名为InceptionNeXt的新型CNN架构,旨在提高深度学习模型在计算机视觉任务中的效率和性能。ConvNeXt通过采用大kernel卷积来扩大感受野并提高模型性能,但同时也带来了高内存访问成本的问题,影响了模型在强大计算设备上的效率。为了解决这个问题,本研究受到Inception的启发,将大kernel深度卷积分解为四个并行分支,包括小kernel、两个正交带kernel和一个identity mapping。

InceptionNeXt的创新点主要体现在以下几个方面:

  1. 💡 提出了Inception深度卷积:💡

    • 本研究并没有像其他工作一样追求更大kernel,而是选择分解大kernel。具体来说,将深度可分离卷积的大kernel分解为几个小组的小kernel。
    • 对于处理通道,一部分采用3×3的kernel,另外两部分则分别采用1×k和k×1的kernel。
    • 通过这种方式,Inception depthwise convolution在参数数量和计算复杂度上都比传统的深度可分离卷积更高效。
  2. 🚀 解决了ConvNeXt的速度瓶颈:🚀

    • 本研究指出ConvNeXt虽然FLOPs较小,但由于depthwise卷积带来的高内存访问成本,导致其在GPU等高性能计算设备上的速度较慢。
    • InceptionNeXt通过分解depthwise卷积,显著提高了模型的训练和推理速度。
  3. ⚖️ 实现了精度与速度的更好trade-off:⚖️

    • 实验结果表明,InceptionNeXt在ImageNet-1K图像分类任务上,相比ConvNeXt,不仅保持了甚至略微提升了精度,同时还实现了更高的训练和推理吞吐量。
    • 这意味着InceptionNeXt在保证性能的同时,更具实际应用价值。
  4. 🌐 模型具有良好的泛化能力:🌐

    • 本研究通过实验证明,InceptionNeXt不仅可以在传统的四阶段框架下表现良好,也可以在ViT风格的isotropic架构下取得有竞争力的结果,表明InceptionNeXt具有良好的泛化能力,可以适应不同的网络架构。
  5. 🖼️ 在语义分割任务上表现出色:🖼️

    • 本研究将InceptionNeXt应用于语义分割任务,并使用UperNet和Semantic FPN进行评估。
    • 实验结果表明,InceptionNeXt在这些任务上显著优于其他backbone,表明它在密集预测任务中具有很大的潜力。

论文实验