美文网首页深度学习
关于感受野的理解与计算

关于感受野的理解与计算

作者: hunshui | 来源:发表于2018-09-16 14:50 被阅读0次

感受野

在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上每个像素点在原始图像上映射的区域大小,这里的原始图像是指网络的输入图像,是经过预处理(如resize,warp,crop)后的图像。

神经元之所以无法对原始图像的所有信息进行感知,是因为在卷积神经网络中普遍使用卷积层和pooling层,在层与层之间均为局部连接。

神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局,语义层次更高的特征;相反,值越小则表示其所包含的特征越趋向局部和细节。因此感受野的值可以用来大致判断每一层的抽象层次.

感受野的计算

如图所示7*7的原始图像,经过kernel_size=3, stride=2的Conv1,kernel_size=2, stride=1的Conv2后,输出特征图大小为2 * 2,很明显,原始图像的每个单元的感受野为1,Conv1的每个单元的感受野为3,而由于Conv2的每个单元都是由2 * 2范围的Conv1构成,因此回溯到原始图像,每个单元能够看到5 * 5大小的区域范围。

那么卷积神经网络的每一层感受野应该如何计算呢?很明显,深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系,而涉及到这两个参数的有卷积层和pooling层。我们用k_n, s_n, r_n分别表示第n层的kernel_size,stride,receptive_field,通过对n-1层输出特征图的k_n * k_n个感受野为r_{n-1}的特征单元卷积得到的n层输出特征单元最大的感受野为k_n * r_{n-1},但在对n-1层输入特征图进行卷积时,经常会由于s_{n-1}小于k_{n-1}而存在重叠,因此要减去k_n - 1个重叠部分(k_n = 2存在一个重叠部分,k_n = 3存在两个重叠部分)。

那么重叠部分应该怎么计算呢?如图所示,对于Conv2层,其输出特征单元最大感受野为:
k_2 * r_1 = 2 * 3 = 6
但由于Conv1层对输入图片卷积时存在重叠部分,所以Conv2层的特征单元感受野小于6,该重叠部分为:
k_1 * r_0 - s_1 * r_0 = r_1 - s_1 = 1
而对于Conv3层,其输出特征单元最大感受野为:
k_3 * r_2 = 2 * 5 = 10
又因为Conv2层对其输入特征图进行卷积时也存在重叠部分,所以Conv3层的特征单元感受野小于10,此时重叠部分为:
k_2 * r_1 - s_2 * r_1 = r_2 - s_2 * s_1 * r_0 = r_2 - s_2 * s_1 = 3
因此对于卷积神经网络,其感受野计算有如下规律:
r_0 = 1
r_1 = k_1
r_n = r_{n-1} * k_n - (k_n - 1) * (r_{n-1} - \prod_{i=1}^{n-1}s_i)\quad\quad n>=2
以上公式只计算conv层和pooling层,以AlexNet为例:

No. Layer Input Size Kernel Size Stride Padding Output Size Receptive Field
1 Conv1 227 * 227 11 * 11 4 0 55 * 55 11
2 Pooling1 55 * 55 3 * 3 2 27 * 27 19
3 Conv2 27 * 27 5 * 5 1 2 27 * 27 51
4 Pooling2 27 * 27 3 * 3 2 13 * 13 67
5 Conv3 13 * 13 3 * 3 1 1 13 * 13 99
6 Conv4 13 * 13 3 * 3 1 1 13 * 13 131
7 Conv5 13 * 13 3 * 3 1 1 13 * 13 163
8 Pooling5 13 * 13 3 * 3 2 6* 6 195

其中Padding参数不影响感受野大小。

相关文章

  • 关于感受野的理解与计算

    感受野 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feat...

  • 感受野的理解与计算(详细)

    比较懒的人只能上传图片了: 方便复习 1、推荐这个知乎上推导公式的过程: 深度神经网络中的感受野(Receptiv...

  • 关于感受野的计算

    先提个问题:为什么 3 个 3x3 同时 s=1 的卷积操作后相当于做一次 7x7 的卷积操作呢? 假设原图大小为...

  • 感受野计算

    CNN的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征:较浅的卷积层感受野较小,学习到一些局...

  • 神经网络感受野

    传统感受野计算: 采用top-down的方式,个人感觉计算不直观,每一层都要重新计算。 新的感受野计算: 引入一种...

  • 感受野的简单理解

    一,什么是感受野 这篇是转载。只是觉得太容易理解,先记为敬感受野:感受野是一个神经元对原始图像的连接通常说:第几层...

  • 卷积神经网络中的感受野计算

    卷积神经网络中的感受野计算

  • 十三. VGG感受野计算

    (其实就是逆向求解图像输出尺寸)感受野的概念及大小的计算?在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出...

  • 感受野的计算和思考

    前言 很久没有写读书笔记了。最近翻公众号,发现一个以前在我公司实习的小朋友的公众号里面满满的工作小结和阅读笔记,不...

  • 关于感受野的总结

    感谢 SIGAI 特约作者:mileistone 感受野是卷积神经网络里面最重要的概念之一,为了更好地理解卷积神经...

网友评论

    本文标题:关于感受野的理解与计算

    本文链接:https://www.haomeiwen.com/subject/otffnftx.html