news 2026/7/7 19:54:56

即插即用系列 | CVPR InceptionNeXt:当 Inception 遇上 ConvNeXt,大核卷积的速度瓶颈被打破了吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
即插即用系列 | CVPR InceptionNeXt:当 Inception 遇上 ConvNeXt,大核卷积的速度瓶颈被打破了吗?

论文名称:InceptionNeXt: When Inception Meets ConvNeXt

论文原文 (Paper):https://arxiv.org/abs/2303.16900
代码 (code):https://github.com/sail-sg/inceptionnext


GitHub 仓库链接(包含论文解读及即插即用代码):https://github.com/AITricks/AITricks
哔哩哔哩视频讲解:https://space.bilibili.com/57394501?spm_id_from=333.337.0.0

目录

      • 1. 核心思想
      • 2. 背景与动机
        • 背景:大核卷积的“虚假”高效
        • 动机图解分析
      • 3. 主要创新点
      • 4. 方法细节
        • 整体网络架构
        • 核心创新模块详解:InceptionNeXt Block
        • 理念与机制总结
        • 图解总结
      • 5. 即插即用模块的作用
      • 6. 实验简单分析
      • 7. 获取即插即用代码关注 【AI即插即用】

1. 核心思想

本文的核心论点是:现有的现代化 CNN(如 ConvNeXt)虽然通过大核深度卷积(Large-kernel Depthwise Conv)提升了感受野和性能,但由于高昂的内存访问成本(Memory Access Cost),其实际运行速度在高性能 GPU 上受到严重限制。为了解决这一“高 FLOPs 效率低吞吐量”的矛盾,作者借鉴经典的 Inception 思想,提出了Inception Depthwise Convolution。该算子将大核卷积分解为四个并行的通道分支(小方核、水平带状核、垂直带状核、恒等映射),在保持大感受野的同时,极大地降低了计算复杂度和内存开销,从而构建了InceptionNeXt,在 ImageNet-1K 上实现了比 ConvNeXt-T 快 1.6 倍的训练吞吐量,且精度更高。


2. 背景与动机

背景:大核卷积的“虚假”高效

在 Vision Transformer (ViT) 兴起后,ConvNeXt 等工作通过引入大卷积核(如7 × 7 7\times77×7)成功让 CNN 重新获得了与 ViT 抗衡的性能。理论上,深度卷积(DWConv)的 FLOPs 很低,应当非常高效。然而,在 A100 等强大的计算设备上,ConvNeXt 的实际吞吐量远低于 ResNet-50

关键问题:单纯增加卷积核尺寸(Kernel Size)虽然参数量增加不多,但会显著增加内存访问操作,导致计算受限于内存带宽(Memory-bound),而非计算能力。如何在保留大感受野(高性能)的同时,恢复 CNN 传统的推理速度优势?

动机图解分析

看图说话:

  • 现有方法的局限性:请观察图中的蓝色圆点。ConvNeXt-T/k7(即标准版)虽然准确率较高(~82.1%),但其吞吐量仅为 575 images/s 左右。当我们简单地将卷积核缩小为3 × 3 3\times33×3(ConvNeXt-T/k3)时,虽然速度提升到了 ~800 images/s,但准确率大幅下降。这说明在 ConvNeXt 框架下,速度与精度存在明显的矛盾
  • ResNet 的位置:右下角的绿色点ResNet-50速度极快(接近 1000 images/s),但精度已落后时代。
  • 本文的目标:图右上角的红色点InceptionNeXt-T完美地结合了两者——它拥有接近 ResNet-50 的超高吞吐量,同时准确率甚至超过了 ConvNeXt-T。
  • 结论:这证明了作者提出的“Inception 风格分解”策略成功打破了原有的大核速度瓶颈。


图 3:深度卷积与 Inception 深度卷积的 FLOPs 随核大小变化的对比

看图说话

  • 效率瓶颈:蓝色三角形显示,标准深度卷积的 FLOPs 随核大小呈二次方增长(k 2 k^2k2)。
  • 本文优势:红色圆形显示,本文提出的 Inception 深度卷积的 FLOPs 随核大小呈线性增长。这意味着我们可以使用更大的核(如 11, 13, 15)而不带来显著的计算负担。

3. 主要创新点

  1. Inception Depthwise Convolution:提出了一种新的空间混合算子,将昂贵的大核 DWConv 分解为几个并行的低成本分支(小核+带状核+Identity),有效降低了计算复杂度和内存访问成本。
  2. MetaNeXt Block:抽象出了一种通用的残差块结构 MetaNeXt,它是 MetaFormer 的简化版(合并了 Token Mixer 和 MLP 的残差连接),进一步提升了推理速度。
  3. 高性能与高效率的统一:构建了 InceptionNeXt 系列模型,在保持 SOTA 级别精度的同时,显著提升了现有大核 CNN 的实测吞吐量(Throughput),为未来架构设计提供了经济高效的 Baseline。

4. 方法细节

整体网络架构

InceptionNeXt 遵循了标准的四阶段金字塔结构(与 ResNet、ConvNeXt 一致):

  1. 输入 (Input):图像输入网络。
  2. Patch Embed / Downsampling:通过卷积层进行下采样,生成不同分辨率的特征图(Stride=4, 8, 16, 32)。
  3. MetaNeXt Blocks 堆叠:这是网络的主体。每个阶段包含多个堆叠的 MetaNeXt Block。
    • 数据流I n p u t → Inception DWConv → Norm → MLP → Residual Add → O u t p u t Input \rightarrow \text{Inception DWConv} \rightarrow \text{Norm} \rightarrow \text{MLP} \rightarrow \text{Residual Add} \rightarrow OutputInputInception DWConvNormMLPResidual AddOutput
    • 注意:这里采用了一种简化的残差结构,即 Token Mixer 和 MLP 共享一个 Shortcut,这比 MetaFormer(两个 Shortcut)更高效。
  4. 输出 (Output):经过全局平均池化(GAP)和分类头输出结果。
核心创新模块详解:InceptionNeXt Block

模块分析 (InceptionNeXt Block - 最右侧子图):

该模块的核心在于将 ConvNeXt Block 中的7 × 7 7 \times 77×7DWConv 替换为了Inception Depthwise Convolution。让我们详细拆解这个“虚线框”内部的数据流:

  1. 输入分裂 (Channel Split)
    假设输入特征图通道数为C CC。首先沿通道维度将其切分为 4 个组。作者定义了一个“卷积分支比例”(Convolution branch ratio),默认为1 / 8 1/81/8。这意味着并未对所有通道进行卷积处理。

  2. 并行分支处理 (Parallel Branches)

    • 分支 1 (Small Square Kernel):处理部分通道。使用3 × 3 3 \times 33×3DWConv。目的:捕捉局部细节特征。
    • 分支 2 (Horizontal Band Kernel):处理部分通道。使用1 × 11 1 \times 111×11DWConv。目的:捕捉水平方向的长距离依赖。
    • 分支 3 (Vertical Band Kernel):处理部分通道。使用11 × 1 11 \times 111×1DWConv。目的:捕捉垂直方向的长距离依赖。
    • 分支 4 (Identity Mapping):剩余的大部分通道不做任何卷积操作,直接通过。目的:保留原始信息,减少计算量(类似 ShuffleNet 的思想)。
  3. 特征拼接 (Concat)
    将上述四个分支的输出在通道维度重新拼接回来,恢复为C CC通道。

  4. 后续处理
    拼接后的特征经过Norm(Batch Norm),进入MLP(1 × 1 1\times11×1Conv -> GELU ->1 × 1 1\times11×1Conv),最后与输入进行残差相加。

理念与机制总结

理念“稀疏化与分解”
作者认为并非所有通道都需要进行昂贵的大核卷积。

  1. 稀疏化:通过 Identity 分支,让一部分通道“休息”,这大大减少了内存访问。
  2. 分解:利用 Inception 的思想,将k × k k \times kk×k的大感受野分解为k × 1 k \times 1k×11 × k 1 \times k1×k。这种分解将参数量和 FLOPs 从O ( k 2 ) O(k^2)O(k2)降低到了O ( k ) O(k)O(k)
  3. 协同3 × 3 3 \times 33×3负责局部,1 × 11 1 \times 111×1111 × 1 11 \times 111×1负责全局,Identity 负责特征复用。这种组合在理论上近似模拟了大核卷积的效果,但在硬件上却快得多。
图解总结

结合Figure 1的动机图和Figure 2的结构图:ConvNeXt 慢是因为7 × 7 7\times77×7DWConv 这种“致密”的大核算子不仅计算量大,更重要的是内存读写频繁。InceptionNeXt 通过 Figure 2 中的Split-Transform-Concat机制,巧妙地绕过了这个瓶颈,用低成本的算子组合达到了图 1 右上角“又快又好”的效果。


5. 即插即用模块的作用

Inception Depthwise Convolution是一个高度通用的算子,可以作为“即插即用”的模块替换现有的空间混合层:

  1. 替换大核卷积:在任何使用7 × 7 7\times77×7或更大卷积核的 CNN(如 ConvNeXt, RepLKNet)中,可以直接替换其 DWConv 层,以大幅降低 FLOPs 和提升推理速度,尤其是在移动端或边缘设备上。
  2. 轻量化模型设计:适用于对延迟敏感的场景(如自动驾驶、实时视频处理)。其 Identity 分支的设计类似于 GhostNet 或 ShuffleNet,非常适合作为移动端主干网络(Backbone)。
  3. Transformer 的替代:在 PoolFormer 或 MetaFormer 架构中,将其作为 Token Mixer,可以获得比 Pooling 更强的特征提取能力,同时比 Self-Attention 更快、更省显存。

6. 实验简单分析

  • ImageNet 分类
    • InceptionNeXt-T达到了 82.3% 的 Top-1 准确率,比 ConvNeXt-T 高 0.2%,同时训练吞吐量提升1.6倍,推理吞吐量提升1.2倍
    • 在相同的 FLOPs 下,InceptionNeXt 始终优于 Swin Transformer 和 ConvNeXt。
  • 语义分割 (ADE20K)
    • 作为 UperNet 的骨干网络,InceptionNeXt-T 达到了 47.9 mIoU,比 ConvNeXt-T 高出1.2 mIoU,且 FPS 更高。这证明了其提取的特征不仅不仅适用于分类,在密集预测任务中也具有很强的鲁棒性。
  • 消融实验
    • 去掉带状卷积(Band Kernels)会导致性能显著下降,证明了长距离依赖建模的重要性。
    • 保留部分通道不做处理(Identity)是提升速度的关键,且对精度影响极小。

到此,所有的内容就基本讲完了。如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

7. 获取即插即用代码关注 【AI即插即用】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 6:27:34

GMSSL 库应用:国密算法的 ThinkPHP8 与 Python3、Node.js 脚本开发

国密SM2算法介绍及使用国密算法简介国密算法是国家商用密码算法的简称。自2012年以来,国家密码管理局以《中华人民共和国密码行业标准》的方式,陆续公布了SM2/SM3/SM4等密码算法标准及其应用规范。其中“SM”代表“商密”,即用于商用的、不涉…

作者头像 李华
网站建设 2026/7/7 9:47:03

29、网络文件系统:NFS 锁管理与性能分析

网络文件系统:NFS 锁管理与性能分析 在 Linux 系统中,存在多种内核锁仲裁方法,如整文件租约、共享模式(类似于 Windows 共享模式)和强制锁等。若应用程序依赖这些方法进行锁仲裁,需使用 NFS 版本 4。接下来,我们将探讨一种能让多个服务器共享锁信息的方法:网络锁管理器…

作者头像 李华
网站建设 2026/7/7 8:56:19

实现AI和BI整合的初步思路和探索-Part2

实现AI和BI整合的初步思路和探索-Part2在上一篇中我提到了一个B站最新的一个LangChain 1.0的SQL Agent的视频,通过提供给SQL Agent的tools,可以引导大模型先查看数据库下都有哪些表,然后查看指定表的结构,最后再将这些相关表关联在…

作者头像 李华
网站建设 2026/7/7 13:48:42

模型错还是系统错?智能体故障归因的“法医”指南

凌晨的生产日志里,一个负责生成财报摘要的Agent,连续输出了三遍几乎相同的段落。团队里爆发了争论:一半人认为是“模型又抽风了”,另一半人坚持“肯定是我们的流程有bug”。而我知道,在打开代码之前,我已经…

作者头像 李华
网站建设 2026/7/7 18:55:31

论文季生存指南:一个AI如何成了我四月的“虚拟导师”

图书馆靠窗的座位,空白的文档与闪烁的光标,被无数次重写的开题报告,这几乎是每一位毕业生的四月记忆。但今年的毕业季,一些学生桌上多了一位无形的助手。深夜11点,林悦在宿舍里对着电脑屏幕发呆——距离开题报告提交截…

作者头像 李华
网站建设 2026/7/7 11:57:43

opentelemetry全链路初探--埋点与jaeger

前言某天一位业务研发老哥跑来咨询研发老哥:我的服务出现了504,但是不太清楚是哪个环节报错,每次请求需要访问4个微服务、2个数据库、1个redis、1个消息队列。。。苦逼运维:停停停,不要再说了,目前不支持链…

作者头像 李华