ResNeXt(2016):深度神经网络的聚合残差变化,基于resnet的创新-引入分组卷积

ResNeXt(2016):深度神经网络的聚合残差变化,基于resnet的创新-引入分组卷积

导出时间:2025/11/23 20:20:53

1、研究背景和动机

(1)深度学习的发展瓶颈

  • ResNet(2015) 成功后,大家发现“加深网络”确实能提升性能,但同时也带来问题:
    • 计算量急剧增加(ResNet-152 参数量和 FLOPs 都很大)。
    • 设计复杂,手工调节卷积核大小、层数、结构很麻烦。
  • 动机:能不能有一种更简洁的方法,在不显著增加参数量的情况下提高模型性能?

(2)维度扩展的困境

  • 提升模型能力的常规做法有三类:
    1. 加深(Depth):堆叠更多层(ResNet 的做法)。
    2. 加宽(Width):增加每层的通道数(Wide ResNet 的做法)。
    3. 加复杂度(Filter size, 多分支结构):像 Inception 那样,手工设计不同路径的卷积组合。
  • 但是:
    • 深度太大会导致训练难度和梯度问题。
    • 宽度太大会导致参数暴涨,容易过拟合。
    • Inception 风格的多分支结构,虽然高效,但设计高度依赖人工经验,不够通用。

(3)引入“基数(Cardinality)”的新维度

  • ResNeXt 提出:除了深度和宽度,还可以通过 基数(cardinality,即分支数) 来扩展网络能力。
  • 核心思想把一个大的卷积操作,拆成若干个并行的小分支(组卷积),再把它们聚合
  • 好处:
    • 在相同计算量和参数量下,增加基数比单纯加深或加宽更有效
    • 结构简单,统一为“split-transform-merge”模式,比 Inception 更优雅、更通用。
比喻
  • 原来只有“深挖一口井”(深度)或者“挖更宽的井口”(宽度)。
  • ResNeXt 的做法是:派更多工人(分支/基数),同时挖很多小井,再把结果汇总。这样效率更高,而且成本不增加。

2、ResNeXt 的创新点

(1)提出“基数(Cardinality)”的新维度

  • ResNeXt 发现:在相同参数量和计算量下,增加基数比单纯加深或加宽更有效

(2)统一简洁的 Split-Transform-Merge 框架

  • Inception 系列虽然强大,但需要人工设计不同的卷积分支,结构复杂。
  • ResNeXt 提供了一个统一的模式:
    • Split:把输入特征分成多个子空间(分组卷积)。
    • Transform:每个子空间独立进行卷积变换。
    • Merge:把所有分支的结果聚合(逐元素相加)。
  • 创新点:既保留了 Inception 的“多路径思想”,又比 Inception 更规则、易扩展。

(3)组卷积(Grouped Convolution)的高效应用

  • ResNeXt 使用 组卷积(group convolution) 实现分支间的独立计算:
如下图,分组卷积是将输入层的不同特征图进行分组,然后采用不同的卷积核再对各个组进行卷积,这样会降低卷积的计算量。因为一般的卷积都是在所有的输入特征图上做卷积,可以说是全通道卷积,这是一种通道密集连接方式(channel dense connection)。而 group convolution 相比则是一种通道稀疏连接方式(channel sparse connection)。
image.png
1)常规卷积(Convolution):
如果输入 feature map 尺寸为 𝐶∗𝐻∗𝑊,卷积核有 𝑁 个,输出 feature map 与卷积核的数量相同也是 𝑁,每个卷积核的尺寸为 𝐶∗𝐾∗𝐾,𝑁 个卷积核的总参数量为 𝑁∗𝐶∗𝐾∗𝐾。

2)分组卷积(Group Convolution)
Group Convolution 是对输入 feature map 进行分组,然后每组分别卷积。假设输入 feature map 的尺寸仍为 𝐶∗𝐻∗𝑊,输出 feature map 的数量为 𝑁 个,如果设定要分成 𝐺 个 groups,则每组的输入 feature map 数量为 𝐶 / 𝐺,每组的输出 feature map 数量为 𝑁 / 𝐺,每个卷积核的尺寸为 𝐶/𝐺∗𝐾∗𝐾,卷积核的总数仍为 𝑁 个,每组的卷积核数量为 𝑁 / 𝐺,卷积核只与其同组的输入 map 进行卷积,卷积核的总参数量为 𝑁∗𝐶 / 𝐺∗𝐾∗𝐾,可见,总参数量减少为原来的 1 / 𝐺。
image.png


(4)性能与复杂度的平衡

  • ResNeXt 在 相同 FLOPs 和参数量 下,性能优于同规模的 ResNet。
  • ImageNet 分类COCO 检测任务上,ResNeXt 明显优于 ResNet-101,且参数更少。
  • 创新点:证明了基数是一个有效的“效率-准确率”平衡手段。

(5)通用性和可扩展性强

  • ResNeXt 的模块化设计简单统一,可以很容易堆叠、扩展。
  • 与 ResNet 的残差结构兼容 → 方便迁移和应用到检测、分割、识别等多种任务。


3、ResNeXt 的网络结构

(1)整体框架

ResNeXt 基于 ResNet 的残差结构,但在残差块(Residual Block)里做了重要改造:
  • 普通 ResNet 的残差块:一条主干路径(卷积-卷积-卷积) + shortcut
  • ResNeXt 的残差块:多条并行路径(组卷积实现) + shortcut。
因此,ResNeXt 可以理解为:ResNet + Inception 的简化融合版

(2)核心模块 —— ResNeXt Block(Bottleneck + Split-Transform-Merge)

一个 ResNeXt block 的运作过程:
  1. 输入特征 → 先用 1×1 卷积降维。
  2. Split(分支) → 把降维后的特征切分为多个子空间(比如 32 个)。
  3. Transform(变换) → 每个子空间独立执行 3×3 卷积(组卷积实现)。
  4. Merge(聚合) → 把所有分支的结果拼接或相加。
  5. 1×1 卷积升维 → 恢复通道数。
  6. Residual Connection → 与 shortcut 相加,得到输出。
👉 这个模块形式上与 ResNet 的 bottleneck 类似,但中间的 3×3 卷积换成了 多组并行卷积

(3)网络结构层次(以 ResNeXt-50 (32×4d) 为例)


image.png
  • 输入:224×224 图像
  • Stage 1(Conv1):7×7 卷积 + MaxPool
  • Stage 2(Conv2_x):3 个 ResNeXt block,基数=32
  • Stage 3(Conv3_x):4 个 ResNeXt block,基数=32
  • Stage 4(Conv4_x):6 个 ResNeXt block,基数=32
  • Stage 5(Conv5_x):3 个 ResNeXt block,基数=32
  • 输出:Global Average Pooling → FC → Softmax
与 ResNet-50 的唯一区别:每个 bottleneck 的 3×3 卷积部分由 组卷积 + cardinality 扩展 替代。


4、基于 ResNeXt 的后续改进模型

(1)SE-ResNeXt(2017, Squeeze-and-Excitation Networks)

  • 论文:Squeeze-and-Excitation Networks, CVPR 2018
  • https://arxiv.org/abs/1709.01507
  • 创新点:在 ResNeXt 模块后引入 Squeeze-and-Excitation (SE) 注意力机制,通过学习“通道权重”让网络更关注有用特征。
  • 效果:在 ImageNet 上超过原 ResNeXt,赢得 ILSVRC 2017 图像分类冠军

(2)Res2Net(2019)

  • 论文:Res2Net: A New Multi-scale Backbone Architecture, TPAMI 2020
  • https://arxiv.org/abs/1904.01169
  • 创新点:在 ResNeXt 的分支思想上进一步扩展,把一个 3×3 卷积分割成多个小尺度分支,并且分级连接,实现更强的多尺度特征表达。
  • 效果:比 ResNeXt 更灵活地捕捉细粒度和大范围特征。

(3)ResNeSt(2020)

  • 论文:ResNeSt: Split-Attention Networks, arXiv 2020
  • https://arxiv.org/abs/2004.08955
  • 创新点:在 ResNeXt 的并行分支基础上,引入 Split-Attention(对分支内部的通道进行注意力选择),相当于“多分支 + 注意力”的结合。
  • 效果:在 ImageNet、COCO 等多个任务上显著提升,成为视觉任务常用 backbone。

(4)SKNet(Selective Kernel Networks, 2019)

  • 论文:Selective Kernel Networks, CVPR 2019
  • https://arxiv.org/abs/1903.06586
  • 创新点:基于 ResNeXt 的多分支结构,但允许网络 自适应选择卷积核大小(比如 3×3 和 5×5 分支之间动态切换)。
  • 效果:让 ResNeXt 模块更灵活,相当于“动态 Inception”。