ResNeXt - Aggregated Residual Transformations for Deep Neural Networks

本文主要是介绍ResNeXt - Aggregated Residual Transformations for Deep Neural Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《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
这里写图片描述

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

3.3 Aggregated Transformations

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

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

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

公式 F(x)=Ci=1Ti(x) 就表达了splitting-transforming-aggregating操作,则ResneXt的一个block的输出为: y=x+32i=1Ti(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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081378

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并'导出数据集'. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename := 'Test.hdict'” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev

OpenSNN推文:神经网络(Neural Network)相关论文最新推荐(九月份)(一)

基于卷积神经网络的活动识别分析系统及应用 论文链接:oalib简介:  活动识别技术在智能家居、运动评估和社交等领域得到广泛应用。本文设计了一种基于卷积神经网络的活动识别分析与应用系统,通过分析基于Android搭建的前端采所集的三向加速度传感器数据,对用户的当前活动进行识别。实验表明活动识别准确率满足了应用需求。本文基于识别的活动进行卡路里消耗计算,根据用户具体的活动、时间以及体重计算出相应活

Complex Networks Package for MatLab

http://www.levmuchnik.net/Content/Networks/ComplexNetworksPackage.html 翻译: 复杂网络的MATLAB工具包提供了一个高效、可扩展的框架,用于在MATLAB上的网络研究。 可以帮助描述经验网络的成千上万的节点,生成人工网络,运行鲁棒性实验,测试网络在不同的攻击下的可靠性,模拟任意复杂的传染病的传

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

【机器学习】生成对抗网络(Generative Adversarial Networks, GANs)详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 生成对抗网络(Generative Adversarial Networks, GANs)详解GANs的基本原理GANs的训练过程GANs的发展历程GANs在实际任务中的应用小结 生成对

Show,Attend and Tell: Neural Image Caption Generation with Visual Attention

简单的翻译阅读了一下 Abstract 受机器翻译和对象检测领域最新工作的启发,我们引入了一种基于注意力的模型,该模型可以自动学习描述图像的内容。我们描述了如何使用标准的反向传播技术,以确定性的方式训练模型,并通过最大化变分下界随机地训练模型。我们还通过可视化展示了模型如何能够自动学习将注视固定在显着对象上,同时在输出序列中生成相应的单词。我们通过三个基准数据集(Flickr9k,Flickr