感受野(Receptive Field)的理解与计算

一、定义

在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的

v2-01b5d29d1ad4f39e9ad8d1908284d61b_b.jpg
图来自[1]
 

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

二、计算

卷积层(conv)和池化层(pooling)都会影响感受野,而激活函数层通常对于感受野没有影响,当前层的步长并不影响当前层的感受野,感受野和填补(padding)没有关系, 计算当层感受野的公式如下:

下面来练练手,以AlexNet举个例子

v2-750dc09fe601fc2a46c16e79d7736dc6_b.jpg
AlexNet(图来自[1])
 

我的一部分计算过程:

三、拓展

通常上述公式求取的感受野通常很大,而实际的有效感受野(Effective Receptive Field)往往小于理论感受野,因为输入层中边缘点的使用次数明显比中间点要少,因此作出的贡献不同,所以经过多层的卷积堆叠后,输入层对于特征图点做出的贡献分布呈高斯分布形状

在使用Anchor作为强先验区域的物体检测算法中,如Faster RCNN和SSD,如何设置Anchor的大小,都应该考虑感受野,尤其是有效感受野,过大或过小都不好,来自[2]

reference

1、关于感受野的理解与计算:https://www.jianshu.com/p/9997c6f5c01e

2、书籍《深度学习之PyTorch物体检测实战》

v2-a0627f5b41cb228d3d5f35db1dd7dfa1_b.jpg

猜你喜欢

转载自blog.csdn.net/weixin_40519315/article/details/105115652