专栏首页机器学习、深度学习批量残差网络-Aggregated Residual Transformations for Deep Neural Networks

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

Aggregated Residual Transformations for Deep Neural Networks Facebook AI Research 大牛 Ross Girshick Kaiming He 作品

官方代码 Torch: https://github.com/facebookresearch/ResNeXt

Caffe 代码:https://github.com/terrychenism/ResNeXt

1 Introduction 视觉识别研究正从特征工程向网络工程过渡。神经网络在各种识别任务中大行其道。研究人员的精力主要用于网络架构的设计。 VGG 网络展示了一种简单有效的策略来构建深度网络:组合相同形状的网络模块。ResNets 网络也继承了这个策略。这个简单的策略降低了超参数的选择,深度作为网络的一个基本维度。我们也认为这个策略的简洁些可能降低了超参数对特定数据库的过拟合。VGG 和 ResNets 在各种应用场合都展示了其鲁棒性。 不同于 VGG网络, Inception 模型 是经过精心设计达到高精度低复杂度。Inception 模型经过了几次发展演变。但是他们都采用了一个通用策略 split-transform-merge。在一个 Inception 模型中,输入(通过 1×1卷积)被切分到几个低维 embeddings,再经过一组特定滤波器映射变换,最后通过 concatenation 融合到一起。 Inception 模型期望通过较低的计算量来近似大的密集的滤波器的表达能力。 尽管 Inception 模型的精度不错,然是它的实现伴随着一系列复杂的因素:每个映射变换要量身定制滤波器数量、尺寸,模块在每一阶段都要改变。尤其将 Inception 模型 用于新的数据或者任务时如何修改并不清晰。 本文提出了一个简单架构,采用 VGG/ResNets 重复相同网络层的策略,以一种简单可扩展的方式延续split-transform-merge 策略。 我们网络中的一个模块可以进行一组映射变换,每个映射都是一个低纬 embedding,最后将输出组合起来。

很有意思的是我们发现上述网络结构有另外两个表达形式。

我们通过实验证明我们提出的这个网络模块要比原来的 ResNet 模块性能要好,在保持相同的计算复杂度和模型尺寸条件下。我们强调的是通过增加网络规模来提升性能是比较容易的,但是在保持计算复杂度(或降低)同时提升性能是很难的,这些以前的研究文献中很少。 除了网络的宽度和深度,我们发现 cardinality (the size of the set of transformations) 模块中相同映射的个数,也是一个很重要描述网络的指标。实验发现增加 cardinality 比增加深度或宽度对提升网络性能更有效。 我们的网络命名为 ResNeXt,在 ImageNet 分类数据库上,其性能超过额其他几个网络。

3 Method 3.1. Template 模板 我们采用了 VGG/ResNets 高度模块化设计。我们的网络由一组残差模块构成,这些模块具有相同的拓扑结构topology。 受VGG/ResNets启发, 遵循两个简单的原则: 1)if producing spatial maps of the same size, the blocks share the same hyper-parameters (width and filter sizes) 如果输出的空间尺寸一样,那么模块的超参数(宽度和滤波器尺寸)也是一样的。 2)each time when the spatial map is downsampled by a factor of 2, the width of the blocks is multiplied by a factor of 2. 当空间尺寸降采样2倍时,模块的宽度加倍。这样保持模块计算复杂度。

有了这两个原则,我们只需要设计一个模板模块就可以了,这样整个网络所有模块就定下来了。

3.2. Revisiting Simple Neurons

单个神经元是构建全链接和卷积网络层的基础元素。单个神经元主要是一个点乘运算,我们可以将上面的神经元运算分解为 splitting, transforming, and aggregating:1)splitting 将向量 x 分解为若干分量,2)transforming,每个分量乘以对于的权值稀疏,3)aggregating 求和

3.3. Aggregated Transformations 这里我们对神经元模型进行扩展,推导出我们的核心模块。

下图对应一个具体的网络模块结构。

上图中 一列对应一个 Ti。

5 Experiments

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 空间映射网络--Spatial Transformer Networks

    Spatial Transformer Networks 主要对目标在特征空间做不变性归一化 解决 角度、尺度等变形引入的影响 Code: http...

    用户1148525
  • 二值网络--Training Binary Weight Networks via Semi-Binary Decomposition

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangjunhit/article/de...

    用户1148525
  • 物体计数--Learning To Count Objects in Images

    Learning To Count Objects in Images NIPS 2010 http://www.robots.ox.ac.uk/~v...

    用户1148525
  • TrickBot银行木马最新的POS相关模块psfin32分析

    TrickBot通过不断增加窃取用户凭证的新模块而不断进化,我们已发布的最新进展是关于它的pwgrab32模块。最近,我们又发现了一个新的POS相关的恶意模块,...

    FB客服
  • Python3五行代码实现缩短网址功能

    最近一直在更新校招微信机器人,详情看这里叮!你的校招提醒微信机器人已上线! 其中爬取的招聘信息链接太长了,本人是个强迫狂魔,这看起来太不美观了,必须缩短!

    一点儿也不潇洒
  • 这么用乐享,领导会夸奖!

    “什么?真的吗!乐享上线半个月了,老被领导diss,既然还有这一波操作,感谢大大”

    腾讯乐享
  • 代码重构那些事儿

    大家好,这是我今天演讲的目录,分Java,JavaScript,ABAP三门编程语言来讲述。

    Jerry Wang
  • Sensory TrulyNatural - 设备端的高度可定制自然语言识别

    Embedded, Large Vocabulary Continuous Speech Recognition with NLU

    用户6026865
  • 初识JavaScript柯理化

    FinGet
  • Application Architecture Guide 2.0 - CH 19 - Mobile Applications(1)

    Chapter 19: Mobile Applications Objectives • Define a mobile application. • Unde...

    ShiJiong

扫码关注云+社区

领取腾讯云代金券