ResNeXt

原论文:Aggregated Residual Transformations for Deep Neural Networks

利用分组卷积思想改造ResNet,ResNet和Inception的结合体。

论文结构:

  1. 引文(介绍神经网络算法发展史,提出ResNeXt)
  2. 相关工作(多分支卷积、分组卷积等)
  3. 方法
  4. 实现细节
  5. 实验结果

以第3节翻译为主。

3 Method

3.1 Template 架构

​ 我们采用类似VGG/ResNets一样的高度模块化设计的网络。我们的网络由一系列residual blocks堆叠而成。这些blocks拥有相同的拓扑结构,并受制于受VGG/ResNets启发的两个简单规则:(i) 如果生成相同大小的空间图,blocks共享一样额超参数(宽度和卷积核尺寸),(ii) 每次空间图以步长2下采样时,块的通道结果数就乘以因子2。第二条规则确保计算复杂性,就FLOP而言,对于所有块大致相同。

​ 基于这俩规则,我们只需要设计一个template模块,并且可以相应地确定网络中的所有模块。所以这两条规则大大缩小了设计空间,让我们能够专注于几个关键因素。由这些规则构建的网络如表1所示。

3.2 Revisiting Simple Neurons 重温简易神经元

​ 人工神经网络忠最简单的神经元形成内积(加权和),这是由全连接层和卷积层完成的基本变换。内积可被视为聚合变换的一种形式:
∑ i = 1 D w i x i (1) \sum_{i=1}^D w_ix_i \tag{1} i=1∑D​wi​xi​(1)
其中 X = [ x 1 , x 2 . ⋯ , x D ] X=[x_1, x_2. \cdots, x_D] X=[x1​,x2​.⋯,xD​]是D通道的输入向量, w i w_i wi​是第 i i i通道的卷积核权重。这种操作(通常包括一些输出非线性)被称为“神经元”。见图2。

​ 上述操作可被重铸为splitting、transforming、aggregating。(i) Splitting:向量 X X X被切片为一个低维的嵌入,如上所示,变成一个单维的子空间 x i x_i xi​。(ii) Transforming:低维的表征被改变,如上所示,变成简单的尺度变换: w i x i w_ix_i wi​xi​。(iii) Aggregating:所有嵌入的转变被聚合在一起,通过 ∑ i = 1 D \sum_{i=1}^D ∑i=1D​。

3.3 Aggregated Transformations 聚合变换

​ 基于上述对于简易神经元的分析,我们考虑使用一个更通用的函数来替代元素变换( w i x i w_ix_i wi​xi​),它本身也可以是一个网络。与"Network-in-Network"增加深度维度不同的是,我们的"Network-in-Neuron"沿着一个新的维度扩展。

​ 正式地,我们将聚合变换表示为:
F ( X ) = ∑ i = 1 C τ i ( X ) (2) F(X) = \sum_{i=1}^C \tau_i(X) \tag{2} F(X)=i=1∑C​τi​(X)(2)
其中 τ i ( X ) \tau_i(X) τi​(X)可被视为任意函数。类似于一个简单的神经元, τ i \tau_i τi​可将 X X X投影到嵌入中,然后对其进行转换。

​ 在等式(2)中, C C C是用于聚合转换的集合大小。我们将 C C C称之为基数(cardinality)。在等式(2)中, C C C和等式(1)中 D D D的位置类似,但是 C C C和 D D D不等同,能够是任意数字。虽然宽度的维度与简单转换(内积)的数量有关,但我们认为基数的维度控制更复杂转换的数量。我们通过实验表明基数是一个基本维度,并且比宽度和深度维度更有效。

​ 在本文中,考虑一种简单的方式来设计转换函数:所有 τ i \tau_i τi​拥有相同的拓扑结构。这扩展了VGG风格的重复相同形状层的策略,有助于隔离少数因子并扩展到任何大量转换。我们设置独立转换 τ i \tau_i τi​为瓶颈型架构,如图1右所展示的。在该例子中,每个 τ i \tau_i τi​的第一个 1 × 1 1 \times 1 1×1层产生低维嵌入。等式(2)中的聚合转换可表现为残差方法(图1右):
y = X + ∑ i = 1 C τ i ( X ) (3) y = X + \sum_{i=1}^C \tau_i(X) \tag{3} y=X+i=1∑C​τi​(X)(3)
其中 y y y是输出。

Relation to Inception-ResNet.

​ 一些张量操作表明,图1右中的模块等效于图3(b)。图3(b)看起来与Inception-ResNet块相似,因为它涉及残差函数中的分支与连接。但与所有Inception或Inception-ResNet模块不同,我们在多条路径之间共享相同的拓扑。我们的模块需要最少的额外工作来设计每条路径。

Relation to Grouped Convolutions.

​ 使用分组卷积的符号,上述模块变得更加简洁。这种重构如图3©所示。所有低维嵌入都可以由单个更宽的层(例如图3©中的 1 × 1 1 \times 1 1×1,128-d)代替。Splitting本质上是由分组卷积在其输入通道分成组时完成的。图3©中的分组卷积层执行32组卷积,其输入和输出通道为4维。分组卷积层将它们连接起来作为该层的输出。图3©中的块看起来像图1(左)中的原始bottleneck residual block,除了图3©是一个更宽但连接稀疏的模块。

​ 我们注意到,只有当block的深度大于等于3的时候,重构才会产生非平凡的拓扑结构。如果块的深度为2,则重构会导致一个宽而密集的模块,详见图4。

Discussion

​ 我们注意到,尽管我们提出了串联(图3(b))或分组卷积(图3©)形式的重构,但这种重构并不总是适用于方程(3)的一般形式。例如,如果转换式 τ i \tau_i τi​采取任意形式并且是异质的。我们在本文中选择使用同构形式,因为它们更简单且可扩展。在这种简化的情况下,图3©形式的分组卷积有助于简化实现。

3.4 Model Capacity 模型容量

​ 我们在下一节的实验表明,我们的模型在保持模型复杂性和参数数量的同时提高了准确性。这不仅在实践中很有趣,更重要的是,参数的复杂性和数量代表了模型的内在能力,因此经常作为深度网络的基本属性进行研究。

​ 当我们在保持复杂性的同时评估不同的基数C时,我们希望最小化其他超参数的修改。我们选择调整bottleneck的宽度(图1(右)的4维)。这种策略没有对其他超参数进行任何改变(blocks的深度或输入输出的宽度),有助于我们关注cardinality的影响。

​ 在图1(左),原始的ResNet bottleneck block拥有 256 ⋅ 64 + 3 ⋅ 3 ⋅ 64 ⋅ 64 + 64 ⋅ 256 ≈ 70 k 256 \cdot 64 + 3 \cdot 3 \cdot 64 \cdot 64 + 64 \cdot 256 \approx 70k 256⋅64+3⋅3⋅64⋅64+64⋅256≈70k的参数量和同等FLOPs(基于相同大小的特征图尺寸)。在bottleneck宽度为d的情况下,我们在图1(右)的架构拥有 C ⋅ ( 256 ⋅ d + 3 ⋅ 3 ⋅ d ⋅ d + d ⋅ 256 ) C \cdot (256 \cdot d + 3 \cdot 3 \cdot d \cdot d + d \cdot 256) C⋅(256⋅d+3⋅3⋅d⋅d+d⋅256)的参数量和同等FLOPs。当 C = 32 , d = 4 C=32,d=4 C=32,d=4时,等式(4)约等于 70 k 70k 70k。表格2展示了基数C和bottleneck宽度d的联系。

​ 基于我们采用了3.1节的两个准则,上述ResNet bottleneck block和我们的ResNeXt在所有stage是大致相等的。表1比较了相等容量的原始ResNet-50和ResNeXt-50。我们注意到复杂度只能近似保留,但复杂度的差异很小并且不会影响我们的结果。

理解点

  1. Inception和ResNet的融合,通过分组卷积实现统一。

结语

欢迎关注微信公众号:繁星的人工智能厨房

【经典论文】ResNeXt相关推荐

  1. 【论文阅读】计算机视觉经典论文合辑

    文章目录 引言 AlexNet VGG-Net ResNet Inception models家族 ResNeXt 引言 读经典论文,更能获得一些通用的idea启发,同时也是补充基础知识的过程.本文s ...

  2. 卷积神经网络发展历程及经典论文

    2012年,AlexNet横空出世,以极大优势赢得了ImageNet 2012图像识别挑战赛的冠军,也引发研究人员对早期神经网络.卷积神经网络的思考和再研究.至此,卷积神经网络开始领衔掀起此轮人工智能 ...

  3. Github标星24k,127篇经典论文下载,这份深度学习论文阅读路线图不容错过

    作者  | Floodsung 翻译 | 黄海广 来源 | 机器学习初学者(ID:ai-start-com) [导读]如果你是深度学习领域的新手,那么你可能会遇到的第一个问题是"我应该从哪篇 ...

  4. 30年前的热门研究,今获经典论文奖,贝叶斯网络之父旧论文「考古」

    机器之心报道 编辑:魔王.蛋酱.张倩 一篇 30 年前的论文,因为一次获奖,又重新出现在世人眼前. 近日,图灵奖得主.贝叶斯网络之父 Judea Pearl 在推特上提到,自己在三十年前与当时的博士生 ...

  5. 进阶必备:CNN经典论文代码复现 | 附下载链接

    经常会看到类似的广告<面试算法岗,你被要求复现论文了吗?>不好意思,我真的被问过这个问题.当然也不是所有面试官都会问,究其原因,其实也很好理解.企业肯定是希望自己的产品是有竞争力,有卖点的 ...

  6. 卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 参考|学术头条 编辑|极市平台 作为深度学习的代表算法之一,卷积神经 ...

  7. 最新+经典+论文+代码+多版本+神器+https://paperswithcode.com/

    最新+经典+论文+代码+多版本+神器+https://paperswithcode.com/ Papers with Code 中收集了各种机器学习的内容:论文,代码,结果,方便发现和比较.通过这些数 ...

  8. 论文大盘点|卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自:极市平台 作为深度学习的代表算法之一,卷积神经网络(Convolution ...

  9. NeurIPS 2019 获奖论文出炉,微软华人学者Lin Xiao 获经典论文奖

    导语:历史之最,参会1.3万人~ 作为最久负盛名的机器学习顶会之一,今年 NeurIPS 2019 在召开之前就消息不断:在今年论文审稿期间,NeurIPS 2019 程序委员会主席专门发布声明称,1 ...

  10. NeurIPS 2019公布获奖论文!新增杰出新方向奖项,微软华裔研究员斩获经典论文...

    来源:大数据文摘 备受瞩目的NeurlPS 2019周日一早在温哥华拉开序幕,今天,组委会通过一篇博客公布了包括杰出论文奖.杰出新方向论文奖等五大类奖项. NeurIPS,全称神经信息处理系统大会(C ...

最新文章

  1. scala入门基础2
  2. 百练OJ:2701:与7无关的数
  3. ubyntu 链接mysql_ubuntu mysql远程连接
  4. java 蓝桥杯算法训练 P0501
  5. java入门之内部类
  6. Seaborn学习记录(1)
  7. 利用机器学习实现微信小程序-加减大师自动答题
  8. 基于51单片机的温湿度监测+定时报警系统(c51源码)
  9. BSC-币安智能链主网节点搭建(详细步骤)
  10. QSPI FLASH与SD卡同时支持fatfs文件系统
  11. VR乒乓球项目Unity3D 开发经验整理,1总纲
  12. OpenGL和DirectX
  13. 2018下半年计算机学科竞赛,2018年度下半年五大学科竞赛,其他赛事时间预告高一高二请收好,不要错过报名.doc...
  14. Mongoose Populate
  15. 穴位模型,blender 文件 分享,我免费分享了
  16. w7系统桌面没有计算机图标不见了,桌面上我的电脑图标不见了怎么办
  17. 小白css基础学习记之精灵图
  18. 移动互联网时代必读十大图书
  19. 基于74LS161实现的多功能数字钟
  20. 什么是欠拟合现象_欠拟合和过拟合是什么?解决方法总结

热门文章

  1. 首批最佳骑行路线揭晓
  2. GlusterFS扩展操作及性能测试工具
  3. 【合天网安】CONN.ASP暴库漏洞实验
  4. 软件测试资质有哪些?具备CNAS资质和具备CMA资质的区别是什么?
  5. c语言之动静态链接库
  6. Nvidia Xavier Nx平台GMSL接口imx390相机驱动调试记录
  7. QIIME2-傻瓜式安装
  8. MacBook安装Golang Oracle数据库驱动程序
  9. c android显示gif动画,MFC显示GIF动画图片
  10. LTE物理信道PHICH--学习笔记