论文笔记 Aggregated Residual Transformations for Deep Neural Networks

这篇文章构建了一个基本“Block”,并在此“Block”基础上引入了一个新的维度“cardinality”(字母“C”在图、表中表示这一维度)。深度网络的另外两个维度分别为depth(层数)、width(width指一个层的channel的数目)。

 

首先我们先了解一个这个“Block”是如何构建的,如下图所示(ResNeXt是这篇论文提出模型的简化表示)

左边是标准残差网络“Block”,右图是作者引入的“Block”。这新的Block有什么优势呢?作者应该是受到了Inception models的启发,论文中指出“Unlike VGG-nets, the family of Inception models have demonstrated that carefully designed topologies are able to achieve compelling accuracy with low theoretical complexity”。再进一步就是,“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”。说得简单点就是“在达到大型、紧凑深度网络的准确率的同时,降低模型的计算复杂度”(这就是这篇paper追求的一个效果)。Figure 1右边就是就是采用split-transform-merge策略构建的。

 

Inception models在实际应用时有一个很不方便的地方:每一个分支的卷积核大小、尺寸是“定制的”,不同的“Block”之间也是“定制的”。如果我们想要应用这一模型或者在这一框架下设计一个新的网络,那么上述“定制化”的特点会引入很多“超参数”。如果你自己设计过网络或者更改过现有网络,你就会理解“超参数”过多对于我们的设计简直就是一个“灾难”。此时,如果没有一个合适的设计策略的话,说直白点就是“靠天吃饭”了。

 

受VGG/ResNets成功的启发,作者总结了以下两个设计“Block”原则:

  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"

除此之外,所有的“Block”具有相同的拓扑结构。作者给出了一些设计的模板,再结合上述两条原则,我们基本可以构建所需要的任意网络了(是不是觉得网络结构的设计一下子变得简单了很多),模板如下表所示

这还没有结束,作者有给出了Figure 1左边结构的两种等价表述形式,如下图所示

这就极大的方便了我们的实现。此时Alexnet引入的group convolution概念就有了用武之地(当时引入这一概念是受GPU条件的限制)。采用Figure 3(c)的形式,可以在Caffe中直接实现而无需更改任何源代码。

 

下面我们通过实验效果看看这一模型的威力

由Table 4可以得出,即使复杂度减少一半,该模型依然可以取得比ResNet-200还好的实验效果,达到了作者追求的“在达到复杂、紧凑深度模型准确率的同时,减少计算复杂度的目的”。

 

总结:

  • 作者要求“Block”具有相同的拓扑结构,同时给出“Blcok”扩展的设计原则和模板(通过repeating building blocks可以得出网络结构),极大的简化了网络结构设计的工作量。
  • 相同实现不同等价形式的给出,一能加深我们理解,二能为我们提供快速实现的可能。
  • 这真的是一篇佳作哦。

转载于:https://www.cnblogs.com/everyday-haoguo/p/Note-ResNeXt.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 归一化_机器学习中如何用Fscore进行特征选择(附Matlab代码)

作者:kervin编辑:阿吉 目前,机器学习在脑科学领域的应用可谓广泛而深入,不论你是做EEG/ERP研究,还是做MRI研究,都会看到机器学习的身影。机器学习最简单或者最常用的一个应用方向是分类,…

Java笔记05-Collection、泛型、迭代器

Java笔记05-Collection、泛型、迭代器 【Collection、泛型】 主要内容 Collection集合迭代器增强for泛型 第一章 Collection集合 1.1 集合概述 在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢? 集合:集合是java中提供的一种容器&a…

IOS安装CocoaPods完整流程

作为一个底层系统大菜鸟,又搞过几年ios来说,安装一个CocoaPods是一件蛋痛的事~ 说懂又懂,说不懂又不懂. 由于安装过程比較复杂,步骤较多,而网上教程又比較零散,并且有一些是扯蛋的,所以本篇文章主要从头到位依据自身安装经历记录每一条终端指令,至于里面的原理和一些概念性的东…

重装TCP/IP

在Windows XP的网络组件列表里,Internet 协议 (TCP/IP)的"卸载"按钮是灰色不可选状态。这是因为传输控制协议/Internet 协议 (TCP/IP) 堆栈是 Microsoft XP/ 2003 的核心组件(TCP/IP协议是Windows XP的默认协议),不能删除。所以Windows XP不允许卸载TCP/I…

linux 修改时区_教你在Centos8中更改时区

对于许多与系统相关的任务和进程,使用正确的时区是必不可少的。例如,cron守护进程使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。环 境CentOS 8检查现在的时区timedatectl是一个命令行实用程序,允许您查看和…

UVA12511 - Virus(DP+最长公共上升子序列)

题目链接: https://vjudge.net/problem/UVA-12511 题目大意: 给定两个序列,求出两个序列的最长公共上升子序列(严格上升)。 解题过程: 比赛的时候没有做出来,非常咸鱼的一场比赛,当时…

Java笔记06-Map集合

Map集合 学习目标 能够说出Map集合特点使用Map集合添加方法保存数据使用”键找值”的方式遍历Map集合使用”键值对”的方式遍历Map集合能够使用HashMap存储自定义键值对的数据能够使用HashMap编写斗地主洗牌发牌案例 Map集合概述 啥也不用说,Map集合就相当于python中的字典…

理解什么是前后端分离

HTML、CSS、JS。 AJAX或Fetch。 学习一个前端的框架, React或者Vue或者Angularjs2都可以。 学会一个前端的路由框架, 如React-Router或者Vue-Router。 在学会3的基础上你肯定已经搭建好前端的开发环境了,所有和后端的交互走AJAX或者Fetch…

帧间、帧内像素块预测

一、像素块预测 H.264/ AVC标准中的基本预测技术是基于块,而不是基于对象的。它的编码器是利用混合的编码方案来提高编码效率,这些方案包括高级的预测技术和有效熵编码技术。在运动预测中它使用不同的块的大小进行预测,以树结构的方式来组织…

高性能mysql 第10章 复制

复制功能不仅能够构建高可用的应用,同时也是高可用性,可扩展性,灾难恢复,备份以及数据仓库等工作的基础。 mysql支持两种复制方式:基于语句的复制和基于行的复制。基于语句的复制(也成为逻辑复制&#xff0…

vb6在后台将窗体保存到图片_如何将寺库网多个商品图片一键分类保存到一个目录...

寺库网是全球最大的奢侈品网上在线购物平台,那么我们怎样可以从寺库网上一键批量采集到多个宝贝商品图片,并分类保存到电脑呢?今天小编给大家带来一款专业电商图片链接采集软件【载图助手】,它支持平台高达141个,均可支…

Java笔记07-List、Set、数据结构、Collections

Java笔记07-List、Set、数据结构、Collections 主要内容 数据结构List集合Set集合Collections 第一章 数据结构 2.1 数据结构有什么用? 当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组&#xff…

Apache安装问题:configure: error: APR not found . Please read the documentation

参考:http://cuisuqiang.iteye.com/blog/2068794 http://www.cnblogs.com/Anker/p/3355573.html pcre: https://ftp.pcre.org/pub/pcre/ http://www.linuxidc.com/Linux/2012-06/62289.htm 1. 不赞成去卸载httpd的东西。 2. server上可以存在多个apache。一个是rpm&…

浮动与定位

2019独角兽企业重金招聘Python工程师标准>>> 一.浮动:float:一个元素浮动时,其他内容会"环绕"该元素. 浮动元素的外边距不会合并浮动的元素不能超出其包含快的内边界浮动元素彼此会避免重叠浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端更高如果…

驱动级的自动按键_Aqara全自动智能推拉锁D100,体验全自动开门的便捷

大家好,我是梦想是个猪,今天为大家带来的是一篇智能门锁的使用体验。前言家里的这张门陆陆续续的换了好几把智能门锁了,也体验了好几种不同的开锁方式。最开始开发商给安装的是一把指纹和把手分离的那种款式,开锁的时候需要先输入…

码率问题

帧率影响的是每帧的额定比特数 我说的帧率是编码帧率,不是采集帧率。对于一个采集后的序列,MAD 只跟参考帧有关。而编码帧率与参考帧无关,因此编码帧率不影响 MAD。 ———————————————————————————————————…

Java笔记08-Map详解

第一章 Map集合 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象…

Node.js的helloworld 程序

用文本编辑器,如npp,键入例如以下代码,存储成hello.js console.log(hello) console.log(hello %s->%d,jeapedu, 1941847311) cmd进入dos。切入hello.js所在文件夹。运行node.js程序 node hello.js执行结果例如以下所看到的: C:\nodeS>n…

深度学习综述

摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别、图像识别和检索、自然语言理解等。深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具备强大的特征表达能力和对复杂任务建模能力。训练深层模型是长期以来的难…

mac svn工具_Cornerstone 4 for mac(svn管理工具)

Cornerstone 4 for mac是全新版本的svn管理工具,使用cornerstone for mac 特别版建立的版本控制更利于使用,而且cornerstone 4 特别版全面支持Subversion的功能,这里准备了最新版本的cornerstone for mac 特别版,无需激活&#xf…