论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)
论文下载:
https://arxiv.org/pdf/1611.05431.pdf
论文代码:
https://github.com/miraclewkf/ResNeXt-PyTorch
论文摘要:
该论文提出了一个简单、高度模块化的图像分类网络结构。该网络结构是通过重复一个构建块(buildng block)搭建的,这个构建块聚合了一组具有相同拓扑结构(same topology)的转换。这种策略提出了一个新的维度概念,作者称为“基数(cardinality)”,定义为转换维度的大小(the size of the set of transformations),并且是作为一个除了深度和宽度对神经网络必不可少的因素。
在ImageNet-IK数据集上,实验表明,即使在维持复杂性的限制条件下,增加基数也能够提高分类精度。
增加网络分类能力时,增加基数比增加深度和宽度更有效(increasing cardinality is more effective than going deeper or wider when we increase the capacity)。
作者把该模型命名为“ResNeXt”,该模型也是2016年ILSVRC分类任务的基础,在该任务中获得了第二名。
基数的直观表示:
左为ResNet[14]块,右为基数= 32的ResNeXt块,复杂度大致相同。在个人看来,基数是torch卷积conv2d中的group参数,在数据量上两种方式相近,但是产生的效果不同:
复杂度比较:
ResNet-50 和 ResNeXt-50 的内部结构比较,最后两行说明二者(The numbers of parameters and FLOPs are similar between these two models)之间的参数复杂度差别不大:
分组卷积:
在论文的相关工作(Related Work)中,作者提到分组卷积(Grouped convolutions),分组卷积的思想可追溯到AlexNet论文,但是没有正式命名提出“分组卷积”这个名词。也没有任何数据表明利用分组卷积可以提高精确度,在AlexNet中,这个思想只是在前期硬件限制的条件下进行卷积,是一种介于普通卷积和深度可分离卷积的一种折中方案:
神经元简单回顾:
神经元的操作可以分为“splitting–transforming–aggregating”三步,Splitting是将数据x分离为D个特征,Transforming是将每个特征经过一个变换,Merge是将特征合成最后的输出:
关于Inception的分离变换聚合:
作者提到,基于上面对一个简单神经元的分析,如果把初等变换替换为更通用的函数,那么它变成了一个网络。作者将聚合变换表示为(T是由连续的卷积组成1×1->3×3->1×1):
作者考虑了一种设计变换函数的简单方法:让函数T具有相同的拓扑。
ResNeXt的等效构建块:
由此看出,虽然三个网络的拓扑结构相同,但是第三个明显更加简洁,更有利于代码实现
(a):聚合残差变换
(b):相当于(a)的块,作为早期连接实现
(c):相当于(a,b)的块,实现为分组卷积
粗体的符号突出表示了重新表示的参数变化
把作者定义的聚合变化变成残差函数公式,即在简化的Inception添加一条short-cut:
作者提到,深度大于等于3时,才会有不一样的效果(produce nontrivial topologies),如果只是两层的话,区别只是这个模块比较宽而已:
全文而言,作者用平行堆叠相同拓扑结构的模块代替了原来ResNet的三层卷积的模块,在不明显增加参数数量级的情况下提升了模型的准确率。
实验结果:
基数和宽度之间的关系(用于conv2的模板),在剩余块上大致保留复杂度:
ImageNet-1K的训练曲线,(左):保留复杂性的ResNet/ResNeXt-50,(右):保留复杂性的ResNe/ResNeXt-101:
ImageNet-1K消融实验,ResNet50保留了复杂性,保留复杂性的ResNet-101。错误率是在单次裁剪的224 x224像素上评估的:
当延迟数增加到ResNet-101的2倍时,在ImageNet-1K上进行比较,错误率是在单次裁剪的224 x 224像素上评估的:
ImageNet-1K验证集(单作物测试)上的最新模型。ResNet/ResNeXt的测试尺寸是224x224和320x320, Inception型号的测试尺寸是299x299:
测试误差与模型大小在CIFAR-10,10次运行计算得到结果,并显示标准误差条:
论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)相关推荐
- 论文笔记 Aggregated Residual Transformations for Deep Neural Networks
这篇文章构建了一个基本"Block",并在此"Block"基础上引入了一个新的维度"cardinality"(字母"C" ...
- 【翻译】Aggregated Residual Transformations for Deep Neural Networks
Aggregated Residual Transformations for Deep Neural Networks 作者:Saining Xie1 Ross Girshick2 Piotr Do ...
- 批量残差网络-Aggregated Residual Transformations for Deep Neural Networks
Aggregated Residual Transformations for Deep Neural Networks Facebook AI Research 大牛 Ross Girshick K ...
- ResNeXt - Aggregated Residual Transformations for Deep Neural Networks
<Aggregated Residual Transformations for Deep Neural Networks>是Saining Xie等人于2016年公开在arXiv上: h ...
- 论文阅读:Aggregated Residual Transformations for Deep Neural Networks
本萌新记录一下看过的论文,如果理解有误大佬们体谅下QAQ. 摘要: 作者提出一个用于图像分类的.简单.高度模块化的网络结构.该网络是通过重复一个构建块(building block)来构建的,该构建块 ...
- Aggregated Residual Transformations for Deep Neural Networks(论文翻译)
摘要 我们提出了一种用于图像分类的简单.高度模块化的网络架构.我们的网络是通过重复一个构建块来构建的,该构建块聚合了一组具有相同拓扑的转换.我们简单的设计产生了一个同质的多分支架构,只需设置几个超参数 ...
- Aggregated Residual Transformations for Deep Neural Networks
论文链接: https://arxiv.org/abs/1611.05431 废话不多说,先上图.上图左侧为A block of ResNet,右侧即为本文章所提出的新结构:A block of Re ...
- 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/ ...
- 剪枝综述论文阅读:Methods for Pruning Deep Neural Networks
文章目录 一.概述 1.分类 2.评估 二.Magnitude based pruning 1.权重剪枝 2.彩票定理 3.特征图和过滤器剪枝 (1)基于通道方差的剪枝 Inbound pruning ...
最新文章
- [USACO14JAN]记录奥林比克
- 每个工程师都应该了解的:聊聊幂等
- 用VC创建程序启动画面
- mysql 命令 select_Mysql基础命令(二)select查询操作
- php 未找到驱动程序,Laravel 5 PDOException找不到驱动程序
- Jmeter压力测试样例
- eclipse安装中文版插件
- win7便签的cheat sheet
- php varbinary,php – 无法从MSSQL中获取varbinary数据
- 传说中的世界500强面试题-反应能力
- 如何在word中的图片上画圈标注_教你如何轻松在图片上画圈圈、画箭头、写注释...
- 线性代数学习笔记——第三十二讲——向量混合积的概念与性质
- 使用MinUI组件库
- 大家都在学Python,你和别人的差距在哪?
- C/C++常用的文件函数注释格式
- 蜕变的过程总是痛苦的
- 网络 || NAT策略
- form表单的提交!!!
- C#的循环控制语句(break,continue)语句
- 使用Open3D绘制三角形
热门文章
- unity shader入门(1)unity shader的结构
- 恶意取款被判无期是中国软件的悲哀(转)
- myrio与fpga编程_LabVIEW-myRIO
- YAD2K: Yet Another Darknet 2 Keras
- 电脑重启bootmgr_开机提示bootmgr is compressed无法启动的方法,看完就明白了
- Astra相机的ROS开发环境配置与使用
- 计算机等级考试要求改文档名,计算机等级考试
- autorun.vbs病毒专杀
- 【第105期】Python将提速2-5倍!你期待吗
- echarts怎么实现立体柱状图_在vue项目中使用echarts制作3d柱状图