《Aggregated Residual Transformations for Deep Neural Networks》是Saining Xie等人于2016年公开在arXiv上:
https://arxiv.org/pdf/1611.05431.pdf

创新点
1.在传统Resnet基础上采用group convolution,在不增加参数量的前提下,获得更强的representation能力

命名
本文提出了Resnet的改进网络——ResNeXt,之所以命名为ResNeXt,是因为提出了一个新的参数——Cardinality,作者认为Cardinality是从另外一个维度衡量网络模型,所以命名为ResNeXt (suggesting the next dimension)

一、Introduction

图像识别任务从以往的“搞基”(特征工程)转向设计新的网络模型以获得更好的representation。设计网络有太多超参数,如(width,filter-size, strides等)。VGG这样采用了一个简单的策略,很奏效,即:stacking building blocks of the same shape,也就是重复的使用相同的block。作者认为,这个策略可以减少网络的over-adapting. Inception系列的优点在于精心设计网络的拓扑结构,最重要的特点在于 split-transform-merge 思想。

split-transform-merge操作的优点: The split-transform-merge behavior of Inception modules is expected to approach the representational power of large and dense layers, but at a considerably lower computational complexity。

二、Related work

蜻蜓点水般的介绍了一些关于Multi-branch convolutional networks ;Grouped convolutions;Compressing convolutional networks. Ensembling.的工作,我认为最重要的是这一句:

But we argue that it is imprecise to view our method as ensembling, because the members to be aggregated are trained jointly, not independently.
(大家自行体会~~哈哈)

三、Method

3.1 template
借鉴VGG和Resnet,设计block遵循以下两个规则:
第一是:若block输出的空间尺寸一样,则这些block拥有相同的超参数(width和filter size),也就是卷积核大小一样,卷积核个数一样

第二是:每当feature map分辨率缩减一半,通道数增一倍。这个规则保证了每个block的计算复杂度几乎一致!

3.2 Revisiting Simple Neurons

作者采用单个神经元的计算模型来分析 splitting, transforming, and aggregating.
如下图所示,一个神经元的输入为X,X是一个D维的向量,神经元的输出为X与权值W的内积,即:∑Ci=1wixi\sum _{i=1}^{C}w_{i}x_{i}

一个神经元的操作就可以分为(1) splitting (2)transforming (3) aggregating
(1) splitting: 输入X被分为了D个部分
(2) transforming: 对于被划分的部分进行缩放,也就是用wi与之相乘
(3) aggregating: 最后把所有结果再聚集(相加)起来,得到最终输出:∑Ci=1wixi\sum _{i=1}^{C}w_{i}x_{i}

3.3 Aggregated Transformations

介绍了单个神经元的 splitting-transforming-aggregating,就要进行拓展了~

首先一个输入X进行splitting成C份;splitting之后对其进行transforming,这里采用Ti(x
)来表示;最后求和,即aggregating。具体公式如下:F(x)=∑Ci=1Ti(x)F(x)=\sum _{i=1}^{C}T_{i}(x)

这里的C就表示Cardinality ,Cardinality 意思是 the size of the set of transformations,是针对ResNeXt这类网络的一个参数,该参数可理解为分组的组数,如本文实验C=32

公式F(x)=∑Ci=1Ti(x)F(x)=\sum _{i=1}^{C}T_{i}(x) 就表达了splitting-transforming-aggregating操作,则ResneXt的一个block的输出为:y=x+∑32i=1Ti(x)y=x+\sum _{i=1}^{32}T_{i}(x),block示意图如下图所示:

第一项x表示 identity mapping,即最右边那条线;剩下的就是对x进行splitting-transforming-aggregating 操作了。这里C=32,所以是32项相加。

上图所示ResneXt的一个block还是太“臃肿”,其实可以更简洁一些,如下图所示,最终可以变化成下图(c)

先看图(a),第一行32个(256,1*1,4)表示splitting操作;第二行32个(4,3*3,4)表示transforming;

第三行以及那个+号,表示aggregating;

图(b)是将 aggregating给整合了,先将transforming得到的feature map进行concatenate,然后用(128,1*1,256)的操作进行输出;

图(c)在图(b)的基础上,进一步“简化”,将splitting操作放到了transforming里边,这样就可以用一个(256,1*1,128)对输入进行splitting的准备,经过图(c)第一行(256,1*1,128)之后获得128个feature map,再通过group convolution的操作实现spliiting,共32个group,每个group对4个feature map进行操作;

ResNeXt - Aggregated Residual Transformations for Deep Neural Networks相关推荐

  1. 批量残差网络-Aggregated Residual Transformations for Deep Neural Networks

    Aggregated Residual Transformations for Deep Neural Networks Facebook AI Research 大牛 Ross Girshick K ...

  2. 【翻译】Aggregated Residual Transformations for Deep Neural Networks

    Aggregated Residual Transformations for Deep Neural Networks 作者:Saining Xie1 Ross Girshick2 Piotr Do ...

  3. 论文阅读:Aggregated Residual Transformations for Deep Neural Networks

    本萌新记录一下看过的论文,如果理解有误大佬们体谅下QAQ. 摘要: 作者提出一个用于图像分类的.简单.高度模块化的网络结构.该网络是通过重复一个构建块(building block)来构建的,该构建块 ...

  4. 论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)

    论文下载: https://arxiv.org/pdf/1611.05431.pdf 论文代码: https://github.com/miraclewkf/ResNeXt-PyTorch 论文摘要: ...

  5. Aggregated Residual Transformations for Deep Neural Networks

    论文链接: https://arxiv.org/abs/1611.05431 废话不多说,先上图.上图左侧为A block of ResNet,右侧即为本文章所提出的新结构:A block of Re ...

  6. 论文笔记 Aggregated Residual Transformations for Deep Neural Networks

    这篇文章构建了一个基本"Block",并在此"Block"基础上引入了一个新的维度"cardinality"(字母"C" ...

  7. Aggregated Residual Transformations for Deep Neural Networks(论文翻译)

    摘要 我们提出了一种用于图像分类的简单.高度模块化的网络架构.我们的网络是通过重复一个构建块来构建的,该构建块聚合了一组具有相同拓扑的转换.我们简单的设计产生了一个同质的多分支架构,只需设置几个超参数 ...

  8. CNN--ResNeXt--Aggregated Residual Transformations for Deep Neural Networks

    Paper:https://arxiv.org/pdf/1611.05431.pdf Code:https://github.com/Cadene/pretrained-models.pytorch/ ...

  9. 【模型压缩】Channel Pruning for Accelerating Very Deep Neural Networks算法笔记

    转:https://blog.csdn.net/u014380165/article/details/79811779 论文:Channel Pruning for Accelerating Very ...

最新文章

  1. Selenium 爬虫时遇到的问题 Selenium message:session not created
  2. 计算机接口实验1,计算机接口技术实验一.doc
  3. 获取客户端IP和MAC地址
  4. 关于excel的join怎么做
  5. LNK1000: Internal error during IncrBuildImage 链接错误解决方法
  6. webrtc java api_WEBRTC--简单入门实例
  7. HDU 4417 Super Mario(莫队 + 树状数组 + 离散化)
  8. numpy 最大值_第 85 天:NumPy 统计函数
  9. day1作业:登录接口
  10. 使用TensorFlow.js的AI聊天机器人一:检测文本中的情绪
  11. URL,URLConnection,HttPURLConnection的使用
  12. ASP文件上传方式大比拼
  13. 闲鱼Flutter混合工程持续集成的最佳实践
  14. mysql describe 作为字段_mysql中的describe语法 以及查看 当前库中所有表和字段信息...
  15. Python中写入文件操作
  16. 计算机蓝屏代码0x0000007b,开机出现蓝屏代码0X0000007B原因分析及解决方法
  17. 哲学家就餐问题-中断解决
  18. python获取豆瓣高分电影写入MYSQL+matplotlib简单可视化
  19. 20210327-第一次java笔记
  20. (淘宝无限适配)手机端rem布局

热门文章

  1. vi 命令 使用方法
  2. 简谈java的split
  3. 【整理】C#2.0泛型编程之概述、default()方法、别名指定与泛型约束
  4. 对比Excel学Python(二)数据可视化
  5. meterpreter持久后门
  6. 使用Apriori算法和FP-growth算法进行关联分析
  7. 稳态可压Navier-Stokes方程组在修正Dirichlet边界下的解的存在性
  8. zz详细讲解Quartz.NET
  9. 神奇的中医!神奇的文化!
  10. 接口类型的数组作为形参