我读ResNeXt

背景

论文地址:Aggregated Residual Transformations for Deep Neural Networks
代码地址:GitHub
这篇文章在 arxiv 上的时间差不多是今年 cvpr 截稿日,我们就先理解为是投的 cvpr 2017 吧,作者包括熟悉的 rbg 和何凯明,转战 Facebook 之后代码都放在 Facebook 的主页里面了,代码也从 ResNet 时的 caffe 改成了 torch :)

贡献

  • 网络结构简明,模块化
  • 需要手动调节的超参少
  • 与 ResNet 相比,相同的参数个数,结果更好:一个 101 层的 ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半

方法

这里写图片描述
提出来 cardinality 的概念,在上图左右有相同的参数个数,其中左边是 ResNet 的一个区块,右边的 ResNeXt 中每个分支一模一样,分支的个数就是 cardinality。此处借鉴了 GoogLeNet 的 split-transform-merge,和 VGG/ResNets 的 repeat layer
所谓 split-transform-merge 是指通过在大卷积核层两侧加入 1x1 的网络层,控制核个数,减少参数个数的方式。借鉴 fei-fei li 的 cs231n 课件1
这里写图片描述
repeat layer 则是指重复相同的几层,前提条件是这几层的输出输出具有相同的维度,一般在不同的 repeat layers 之间使用 strip=2 降维,同时核函数的个数乘 2。

本文网络参数

这里写图片描述
以上图为例,中括号内就是 split-transform-merge,通过 cardinality(C) 的值控制 repeat layer
output 在上下相邻的格子不断减半,中括号内的逗号后面卷积核的个数不断翻倍。

等价模式

图一右侧的模型有两个等价的模型,最右侧是 AlexNet 中提出的分组卷积,相同层的 width 分组卷积,最终作者使用的是下图最右边的模型,更加简洁并且训练更快。
这里写图片描述

模型参数

调节 cardinality 时,如何保证和 ResNet 的参数个数一致呢?本文考虑的是调节 split-transform-merge 中间第二层卷积核的个数。

实验

基本和 ResNet 差不多,augmentation、以及各个参数
这里写图片描述
这里写图片描述

结论

  • ResNeXt 与 ResNet 在相同参数个数情况下,训练时前者错误率更低,但下降速度差不多
  • 相同参数情况下,增加 cardinality 比增加卷几个数更加有效
  • 101 层的 ResNeXt 比 200 层的 ResNet 更好
  • 几种 sota 的模型,ResNeXt 准确率最高
03-09
### ResNeXt 深度学习模型架构特点 ResNeXt 是一种改进版的残差网络 (ResNet),旨在提高图像识别任务中的性能。其核心特点是引入了聚合残差变换的概念,这使得模型能够在不增加计算复杂度的前提下提升表达能力。 #### 聚合残差变换 ResNeXt 中的关键创新在于使用了一种称为“基数”(cardinality)的新维度来扩展网络宽度。不同于传统的仅通过加深或加宽网络的方法,ResNeXt 提出了并行分支的设计思路,每个分支执行相同的操作但参数独立[^1]。这种设计允许更灵活地调整网络容量,并且实验证明可以带来显著的效果增益。 #### 卷积操作细节 具体来说,在每一个残差单元内部,ResNeXt 使用一组平行的小型卷积核来进行特征提取工作。这些小型卷积核共享相同的输入通道数和输出通道数,但在不同路径上具有不同的权重矩阵。这样的结构不仅保持了原始残差连接的优势——即缓解梯度消失问题和支持非常深的学习过程;同时也增强了模型对于局部模式的理解力[^3]。 ```python def resnext_block(input_tensor, filters, cardinality=32): # 定义基础滤波器数量 base_filters = filters // cardinality # 创建多个并行的卷积路径 paths = [] for i in range(cardinality): path = Conv2D(base_filters, kernel_size=(3, 3), padding='same')(input_tensor) paths.append(path) # 合并所有路径的结果 concat = Concatenate()(paths) return Activation('relu')(concat) ``` ### 应用场景实例 ResNeXt 已经被广泛应用于各种计算机视觉领域,特别是在那些需要高精度分类的任务中表现出色。例如,在一项研究中提到,为了应对城市生活垃圾自动分拣的需求,研究人员开发了一个名为 OM-ResNeXt50 的改进版本用于垃圾分类识别。通过对现有数据集不足之处的研究,团队建立了专门针对中国国情下的垃圾图片数据库 FCGC-TrashNet,并在此基础上进行了针对性优化。最终实验表明,相比于标准配置下运行的基础 ResNeXt50 模型,OM-ResNeXt50 将整体准确率提高了大约五个百分点[^4]。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值