前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单理解感受野

简单理解感受野

作者头像
计算机视觉研究院
发布2018-04-17 19:17:57
7520
发布2018-04-17 19:17:57
举报
文章被收录于专栏:计算机视觉战队

最近在组会讲解框架时,在感受野这个小知识点,大家开始产生歧义,今天我就简单的给大家讲解下这个小知识点,也给初学者带来一个对Receptive Field崭新的认识,如果对只是有深入了解的你,就可以直接跳过O(∩_∩)O~~!

现在开始进入正题!!!


以前我的理解就是,感受野嘛,其实那就是一个视觉感受区域大小。对于单层网络来说,下一层的一个像素点其感受野大小也就是卷积层滤波器的大小,想想其实很明了的就理解了,但对于多层,那就有一点点(也就那么一点点复杂而已)!

正式定义:

代码语言:javascript
复制
在神经网络中,感受野的定义是:
卷积神经网络的每一层输出的特征图(Feature ap)上的像素点在原图像上映射的区域大小。

自己随便画了一个例图,主要看内容,O(∩_∩)O谢谢!

链接: http://pan.baidu.com/s/1nvMzrOP 密码: 2ehd

有读者说有动图就好了,我就截取了一个,请大家欣赏!

现在就开始来说怎么计算吧!(看点来了)其实很简单!

首先可以简单知道(前面也提及到了),第一层卷积层的输出特征图像素的感受野的大小就等于等于卷积层滤波器的大小;然后其继续进行前向传播,这样的话,后面深层的卷积层感受野大小就和之前所有网络层的滤波器大小和步长有关系了,在计算的时候,忽略图像Padding的大小。网络中的每一个层有一个strides,该strides是之前所有层stride的乘积,即:

查资料知,感受野大小的计算采用从深层到前层的方式计算, 即先计算最深层在前一层上的感受野,然后逐渐反馈到第一层,公式具体记如下:

其中

为得的感受野大小,

为最后层在前一层的感受野大小,

为卷积层滤波器大小。

通过这样反复迭代就可以得到每一层的感受野。具体代码我看网上也有,我就顺便附一下吧,原件请在链接里下载,谢谢!

链接: http://pan.baidu.com/s/1jIHLGJc

密码: ayuc

具体仿真结果我是用Windows版的Python 3.5 (32-bit)运行得到的,具体如下图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档