Saining——【arXiv2017】Aggregated Residual Transformations for Deep Neural Networks


目录

  • 作者和相关链接
  • 主要思想
  • ResNet和ResNext对比

作者和相关链接

  • 作者

主要思想

  

  • 要解决的问题是什么?

  对于ResNet,VGG,Inception等网络,需要由一些重复的building block堆叠而成,而这些building block的滤波器个数,大小等不能任意设置,需要人工调整。由于其中有很多超参数需要调整,而且在不同的vision task甚至是不同的dataset上参数不能直接共享需要进行个性化定制,因此,这种需要为一定task或者dataset定制的module虽然效果好,但通用性太差。这篇文章介绍了一种新的building block,可以用来替换ResNet的building block,新的模型称为ResNeXt。ResNeXt的最大优势在于整个网络的building block都是一样的,不用在每个stage里再对每个building block的超参数进行调整,只用一个building block,重复堆叠即可形成整个网络。实验结果表明ResNeXt比ResNet在同样模型大小的情况下效果更好

  • 解决思路?

  将ResNet的blcok(如图Figure 1的左图所示)换成ResNeXt的block(如图Figure 1的右图所示),实际上是将左边的64个卷积核分成了右边32条不同path,每个path有4个卷积核,最后的32个path将输出向量直接pixel-wise相加(所有通道对应位置点相加),再与Short Cut相加

Figure 1. Left: A block of ResNet [13]. Right: A block of ResNeXt with cardinality = 32, with roughly the same complexity. A layer is shown as (# in channels, filter size, # out channels) 

  • Cardinality和Bottleneck

  这篇文章提出了一种新的衡量模型容量(capacity,指的是模型拟合各种函数的能力)。在此之前,模型容量有宽度(width)和高度(height)这两种属性,本文提出的“Cardinality”指的是网络结构中的building block的变换的集合大小(the size of the set of transformation)。如图Figure 2所示,(a)、(b)、(c)三种结构是等价的,本文用的是图(c)。实际上Cardinality指的就是Figure 2(b)中path数或Figure 2(c)中group数,即每一条path或者每一个group表示一种transformation,因此path数目或者group个数即为Cardinality数。Bottleneck指的是在每一个path或者group中,中间过渡形态的feature map的channel数目(或者卷积核个数),如Figure 2(a)中,在每一条path中,对于输入256维的向量,使用了4个1*1*256的卷积核进行卷积后得到了256*4的feature map,即4个channel,每个channel的feature map大小为256维,因此,Bottleneck即为4。

Figure 2. Equivalent building blocks of ResNeXt. (a): Aggregated residual transformations, the same as Fig. 1 right. (b): A block equivalent to (a), implemented as early concatenation. (c): A block equivalent to (a,b), implemented as grouped convolutions [23]. Notations in bold text highlight the reformulation changes. A layer is denoted as (# input channels, filter size, # output channels).

ResNet和ResNeXt对比

  • 网络结构对比

  图Figure 2所示表示的depth=3的情况下ResNet和ResNeXt的building block的对比。

  • 具体配置对比

  ResNet-50和ResNeXt-50的building block的配置对比如Table 1所示,图中C=32即表示Cardinality=32,Bottleneck= 4,即如图Figure 2中所示。

Table 1. (Left) ResNet-50. (Right) ResNeXt-50 with a 32×4d template (using the reformulation in Fig. 3(c)). Inside the brackets are the shape of a residual block, and outside the brackets is the number of stacked blocks on a stage. “C=32” suggests grouped convolutions [23] with 32 groups. The numbers of parameters and FLOPs are similar between these two models.

  • 模型大小计算

  以图Figure 3为例,ResNet的参数个数为256 · 64 + 3 · 3 · 64 · 64 + 64 · 256 ≈ 70k  。

ResNeXt的参数个数为C · (256 · d + 3 · 3 · d · d + d · 256),其中,C表示Cardinality=32,d表示bottleneck=4,因此参数总数 ≈ 70k  。

Figure 3. Left: A block of ResNet [13]. Right: A block of ResNeXt with cardinality = 32, with roughly the same complexity. A layer is shown as (# in channels, filter size, # out channels) 

  • 实验结果对比

    • 证明ResNeXt比ResNet更好,而且Cardinality越大效果越好

Table 2. Ablation experiments on ImageNet-1K. (Top): ResNet-50 with preserved complexity (∼4.1 billion FLOPs); (Bottom): ResNet-101 with preserved complexity ∼7.8 billion FLOPs). The error rate is evaluated on the single crop of 224×224 pixels.

    • 证明增大Cardinality比增大模型的width或者depth效果更好

Table 3. Comparisons on ImageNet-1K when the number of FLOPs is increased to 2× of ResNet-101’s. The error rate is evaluated on the single crop of 224×224 pixels. The highlighted factors are the factors that increase complexity.

【速读】——ResNeXt的更多相关文章

  1. 提升 composer 的执行速读

    常常遇到 php composer.phar update 等待一二十分钟还没有更新完成的情况. 提升速读的方法: 1. 升级PHP 版本到5.4以上 2. 删除文件夹Vender(或者重命名),之后 ...

  2. spring-cloud-square源码速读(spring-cloud-square-okhttp篇)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. spring-cloud-square源码速读(retrofit + okhttp篇)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos spring-cloud-square系列文章 五分钟 ...

  4. Grails 1.2参考文档速读(10):Controller

    转载:http://keyvalue.blog.51cto.com/1475446/303260       从本篇起,我们将开始进入Grails的Web层,首先让我们从Controller说起. G ...

  5. 论文速读(Chuhui Xue——【arxiv2019】MSR_Multi-Scale Shape Regression for Scene Text Detection)

    Chuhui Xue--[arxiv2019]MSR_Multi-Scale Shape Regression for Scene Text Detection 论文 Chuhui Xue--[arx ...

  6. 论文速读(Jiaming Liu——【2019】Detecting Text in the Wild with Deep Character Embedding Network )

    Jiaming Liu--[2019]Detecting Text in the Wild with Deep Character Embedding Network 论文 Jiaming Liu-- ...

  7. 论文速读(Yongchao Xu——【2018】TextField_Learning A Deep Direction Field for Irregular Scene Text)

    Yongchao Xu--[2018]TextField_Learning A Deep Direction Field for Irregular Scene Text Detection 论文 Y ...

  8. 【论文速读】Yuliang Liu_2017_Detecting Curve Text in the Wild_New Dataset and New Solution

    Yuliang Liu_2017_Detecting Curve Text in the Wild_New Dataset and New Solution 作者和代码 caffe版代码 关键词 文字 ...

  9. 【论文速读】XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection

    XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection 作者和代码 caffe代码 关键词 ...

随机推荐

  1. 在Node.js中使用ffi调用dll

    类似的文章还是比较多的,但或多或少有一些问题没有解决,在此我将其整合并分享给大家: 测试环境: Node.js 9.9.0 VisualStudio 2015 "ffi": &qu ...

  2. Leetcode 记录(201~300)

    实习面试前再完成100题,争取能匀速解释清楚题 204. Count Primes 素数筛 class Solution { public: int countPrimes(int n) { ) ; ...

  3. idea使用配置

    一,打开窗口多行显示, Window→Editor Tabs→Tabs Placement→Show Tabs in Single Row 取消选中后即可在多行显示 2 .还可以自行设置打开文件窗口数 ...

  4. Jmeter学习系列----1 环境搭建

    注:在安装Jmeter之前,请先检查下电脑有没有装JDK:开始->运行->然后输入cmd->进入命令行界面,输入java -version , 出现以下信息就是此电脑已安装了JDK. ...

  5. 运用了css,js

    代码如下: <!DOCTYPE html><html xmlns="http://www.w3.org/1999/html"><head> &l ...

  6. IP欺骗

    通过一番测试,我发现当我连续提交3份问卷,再换一个IP提交3个问卷,也就是连续提交了6份问卷,并没有触发网站的反爬虫机制.所以我们可以猜测对方基于IP提交问卷的频率来识别爬虫程序的.看到这里,大家可能 ...

  7. vue2 里边使用 swiper2

    找过了很多轮播图插件,我都不会用,还是回到swiper2吧... npm install swiper@2.7.6 --save-dev 封装成一个组件 <template> <di ...

  8. 如何根据checkbox的值进行勾选!例:我要勾选value等于scanbuy,terminal的复选框!

    微商城 随手购 自助购 <div class="controls" id="client"> <input id="mall&quo ...

  9. 请求库之selenium模块

    本片导航: 介绍及安装 基本使用 选择器 等待元素被加载 元素交互操作 其他及练习   一.介绍 1.简单概述 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无 ...

  10. __x__(37)0909第五天__背景图按钮

    link,hover,active三种按键状态,存放三张图片 缺点: 资源只有在被使用时,才会被加载. 页面第一次加载时,会出现短暂的延迟闪烁,造成一次不佳的用户体验. 图片整合技术 CSS-Spri ...