一、感受野概念
在卷积神经网络中,感受野(Receptive Field) 的定义是:卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像(即输入图像经过预处理后)上映射的区域大小。网络内部的不同位置的神经元对原图像的感受范围的大小。通俗解释就是这一层受到原始图像影响的大小。
因此神经元感受野的值与接触到原始图像范围成正比,RF越大意味着它可能更为全局,语义层次更高的特征;若是值越小则表示其所包含的特征越趋向局部和细节,语义层次更低的特征。因此感受野的值也可以用来大致判断每一层的抽象层次。
举例:原始图像为5×5,卷积核(Kernel Size)为 3×3 ,padding为 1,stride为 2,连续做两次卷积,则整个过程图为:
①第一次卷积后: 最后得到3×3的特征图,感受野RF=3×3;
②第二次卷积后: 最后得到2×2的特征图,感受野RF=7×7;
下图有助于理解:
二、感受野计算
其中
为第
层的感受野大小,
为第 k 层的卷积核大小或者是池化层尺寸大小,
则是第k层卷积的stride。
例如:分别理解如何求出下面各层的感受野RF?
Layer | Kernel size | Stride | RF |
---|---|---|---|
conv1 | 3×3 | 1 | 3 |
pool1 | 2×2 | 2 | 4 |
conv2 | 3×3 | 1 | 8 |
conv3 | 3×3 | 1 | 12 |
感受野初始值 =1,每层感受野计算过程为:
= 1
= 1 + (3-1) = 3
= 3 + (2-1) × 1 = 4
= 4 + (3-1) × 1 × 2= 8
= 8 + (3-1) × 1 × 2 × 1= 12
三、感受野计算检验
若害怕自己RF算错的话,可以推荐看下面这个网站:Fomoro AI
我已经做好上述例子检验,如下图所示;
Reference: