无痛理解CNN中的感受野receptive field

CNN中感受野的计算

从直观上讲,感受野就是视觉感受区域的大小。在卷积神经网络中,感受野的定义是决定某一层输出结果中一个元素所对应的输入层的区域大小

感受野计算时有下面的几个情况需要说明:

a)第一层卷积层的输出特征图像素的感受野的大小等于滤波器的大小;

b)深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系;

c)计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小。

至于如何计算感受野,我的建议是top to down的方式,即从网络的最后向前推

感受野的大小是由kernel size(filter)和stride size(步长)一起决定的,公式:

rfsize = f(out, stride, ksize) = (out - 1) * stride + ksize,其中out是指上一层感受野的大小,stride是当前层stride

最后一层不带入公式,它的ksize是前一层的out

理解:

Feature Map的尺寸=(input_size + 2 * padding_size − ksize)/stride+1

根据定义 感受野是决定某一层输出结果中一个元素所对应的输入层的区域大小

这里指的是要求解的那层的一个元素也就是最初输入的out=1:

rfsize = f(out, stride, ksize) = (out - 1) * stride + ksize

感受野近似于用feature map反推input_size ,只是不考虑padding

例1:

以VGG16为例:

vgg16构造模型图:http://ethereon.github.io/netscope/#/gist/dc5003de6943ea5a6b8b

一个元素,所以out=1

pool2: rfsize= (1-1)*2+2=2

conv1_2: rfsize=(2-1)*1+3=4

conv1_1: rfsize= (4-1)*1+3=6

 例2:

r指感受野 s:stride,p:padding,k:filter

layer1对layer0:

out=1

(1-1)*2+3=3

layer2对layer0:

out=1

(1-1)*2+3=3

(3-1)*2+3=7

最新文章

  1. SSH中,使用Filter拦截直接访问JSP页面!
  2. 【原】ZenCoding中常用的CSS3样式
  3. 很震撼的HTML5视频播放器,电影院的感觉
  4. shopex商城的部署和安装
  5. 错误 1 未知的服务器标记“asp:ScriptManager”。
  6. PocketSphinx语音识别和turtlebot的语音控制--18
  7. Android程序完全退出的三种方法
  8. ASP.Net MVC利用NPOI导入导出Excel
  9. [iOS]iPhone推送原理
  10. HTML/CSS中常遇到的bug 一些注意事项总结
  11. Oracle中wm_concat()的使用方法
  12. Linux系统下快速删除某个目录下大量文件
  13. Apache HttpComponents Client 4.0快速入门/升级-2.POST方法访问网页
  14. storage theory
  15. P2051 [AHOI2009]中国象棋
  16. SQLite 链接大全
  17. python-之-深浅拷贝一
  18. CUDA compiler driver nvcc 散点 part 2
  19. centOS改编码
  20. 使用TTS实现Oracle跨版本迁移

热门文章

  1. opencv:通过滑动条调节亮度和对比度
  2. UICollectionView-网格视图
  3. mac 电脑学习笔记 -
  4. VC++6.0/MFC 自定义edit 限制输入内容 响应复制粘贴全选剪切的功能
  5. [leetcode]_根据二叉树的先序遍历(后序遍历) + 中序遍历 重建二叉树
  6. netcat 瑞士军刀
  7. VS 生成 dll、exe 版本号与SVN版本号一致
  8. 几个开源faas 框架
  9. 使用MSBuild实现完整daily build流程
  10. ④SpringBoot之thymeleaf使用