ResNet之Deeper Bottleneck Architectures

2016年12月28日 22:17:48

阅读数:2350

去年的时候,微软一帮子人搞了个152层的神经网络!WTF!详情见论文

论文太长了,今天只分析一下ResNet的核心内容之一,即“Deeper Bottleneck Architectures”(以下简称DBA),论文里的原图是这样的:

Deeper Bottleneck Architectures

说实话,画的不怎么样,右边的网络结构就是DBA啦!关于这张图,论文的作者是这么说的

Because of concerns on the training time that we can afford, we modify the building block as a bottleneck design.

就是说,作者考虑到自己GPU的计算能力有限,所以才采用了bottleneck design!说到底还是没钱上1080呗!不过2015年的时候1080还没出来,那他为什么不上TITAN,还是没钱呗!
言归正传,换成bottleneck design以后,网络的参数减少了很多,训练也就相对容易一些。然后我们再看一下原作中的ResNet全貌!

ResNet Architecture

来看50-layer那一栏,在进入到DBA层之前的网络比较简单,分别是:①卷积层"7×7, 64, stride 2"、②BN层、③ReLU层、④池化层"3×3 max pool, stride 2",最终的输出结果是一个大小为 [batch_size, height, width, kernels] 矩阵,很简单,不再赘述,关于BN可以参考这里
我们深入一下,再看第一个DBA内部,如下图

Inside a DBA

很显然,总共3×3=9层,可是原作毕竟篇幅有限,网络实现的细节不是很清楚,于是我就参考了Ryan Dahl的tensorflow-resnet程序源码,按照Ryan Dahl实现的ResNet,画出了DBA内部网络的具体实现,这个DBA是全网络中第一个DBA的前三层,输入的image大小为[batch_size,56,56,64],输出大小为[batch_size,56,56,256],如下图

Ryan Dahl's DBA

图已经说的很清楚啦!之后的网路就是N个上图的结构叠加!我不太想做过多的说明了,一切尽在图中!!

原文链接:http://www.jianshu.com/p/e502e4b43e6d

Resnet小记的更多相关文章

  1. [原]Paste.deploy 与 WSGI, keystone 小记

    Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...

  2. MySql 小记

    MySql  简单 小记 以备查看 1.sql概述 1.什么是sql? 2.sql发展过程? 3.sql标准与方言的关系? 4.常用数据库? 5.MySql数据库安装? 2.关键概念 表结构----- ...

  3. Git小记

    Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...

  4. 广州PostgreSQL用户会技术交流会小记 2015-9-19

    广州PostgreSQL用户会技术交流会小记 2015-9-19 今天去了广州PostgreSQL用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用PostgreSQL-X2 ...

  5. 东哥读书小记 之 《MacTalk人生元编程》

         一直以来的自我感觉:自己是个记性偏弱的人.反正从小读书就喜欢做笔记(可自己的字写得巨丑无比,尼玛不科学呀),抄书这事儿真的就常发生俺的身上. 因为那时经常要背诵课文之类,反正为了怕自己忘记, ...

  6. Paypal支付小记

    Paypal支付小记 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impo ...

  7. linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记

    上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352 ...

  8. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

  9. 【日常小记】统计后缀名为.cc、.c、.h的文件数【转】

    转自:http://www.cnblogs.com/skynet/archive/2011/03/29/1998970.html 在项目开发时,有时候想知道源码文件中有多少后缀名为.cc..c..h的 ...

随机推荐

  1. vivado保存debug波形

    vivado保存debug波形   Vivado下debug后的波形通过图形化界面并不能保存抓取到波形,保存按钮只是保存波形配置,如果需要保存波形需要通过TCL命令来实现: write_hw_ila_ ...

  2. 【Unity】5.2 天空盒

    分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 Unity中的天空盒实际上是一种使用了特殊类型Shader的材质,这种类型的材质可以笼罩在整个游戏场景之外,并根据材质中 ...

  3. Machine Learning Books Suggested by Michael I. Jordan from Berkeley

    http://www.statsblogs.com/2014/12/30/machine-learning-books-suggested-by-michael-i-jordan-from-berke ...

  4. ROC曲线(Receiver Operating Characteristic Curve)

    分类模型尝试将各个实例(instance)划归到某个特定的类,而分类模型的结果一般是实数值,如逻辑回归,其结果是从0到1的实数值.这里就涉及到如何确定阈值(threshold value),使得模型结 ...

  5. String.format和MessageFormat.format的对比用法

    1.MessageFormat.format import java.text.MessageFormat; /** * Created by SYJ on 2017/9/13. */ public ...

  6. vue 实现右键功能

    @contextmenu.prevent="rightShow()" v-on:contextmenu.prevent = "事件名称"

  7. shell数组应用

    引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...

  8. SQL 分页 SQL SERVER 2008

    public IList<UserInfo> GetPageList(int pageSize, int pageIndex, out int totalItemCount) { var ...

  9. C#学习笔记(6)——大项目增删改查

    说明(2017-5-28 11:35:39): 1. 需要注意的地方很多 2. 首先是连接字符串str要直接写在类里面,不然每个按钮里面都要写一遍. 3. 查询用到sqlDataReader等三个方法 ...

  10. MFC工程说明readme

    ======================================================================== MICROSOFT FOUNDATION CLASS ...