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

最新文章

  1. word201612012
  2. PHP Switch case 条件并用实例
  3. mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入
  4. try catch finally的执行顺序(有return的情况下)
  5. IP欺骗原理与过程分析
  6. opencv 图像阴影检测
  7. Linux下文件的压缩与打包
  8. jq选择器 第一部分
  9. Java解析XMl文件之SAX和DOm方法
  10. 关于const限定符
  11. POJ1308 Is It A Tree?
  12. C# .NET更智能的数据库操作的封装完整版(重构)
  13. bootstrap table的样式
  14. 我的CSS
  15. Centos7 安装gitLab
  16. selenium——鼠标事件
  17. IoT experitment
  18. 同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别
  19. SQL server类型转换
  20. 理解javascript中的回调函数(callback)【转】

热门文章

  1. 深入理解Linux内核-页高速缓存
  2. HTML杂记
  3. Nginx 权限问题
  4. 开源中国(oschina.net)能给我一个交代吗?
  5. 【转】Unity3D的LightProbe动态光探头用法介绍
  6. debian下创建新用户useradd
  7. Nginx缓存功能、防盗链、URL重写
  8. idea svn 使用问题
  9. IIS7 MVC 403 禁止访问:访问被拒绝
  10. 用Python从零开始实现K近邻算法