Receptive field(感受野) -- 简书
云社区:
******************************************************************************************************************************
在上图中,数字代表某单元能够看到的原始图像像素,我们用r_n表示第n个卷积层中,每个单元的感受野,用k_n和s_n表示第n个卷积层的kernel_size和stride.
对Raw Image进行kernel_size=3, stride 2的卷积操作所得到的fmap1 (fmap为feature map的简称,为每一个conv层所产生的输出)的结果是显而易见的。序列[1 2 3]表示fmap1的第一个单元能看见原图像中的1,2,3这三个像素,而第二个单元则能看见3,4,5。这两个单元随后又被kernel_size=2,stride 1的Filter 2进行卷积,因而得到的fmap2的第一个单元能够看见原图像中的1,2,3,4,5共5个像素(即取[1 2 3]和[3 4 5]的并集)。接下来我们尝试一下如何用公式来表述上述过程。可以看到,[1 2 3]和[3 4 5]之间因为Filter 1的stride 2而错开(偏移)了两位,而3是重叠的。对于卷积两个感受野为3的上层单元,下一层最大能获得的感受野为 3*2=6,但因为有重叠,因此要减去(kernel_size - 1)个重叠部分,而重叠部分的计算方式则为感受野减去前面所说的偏移量,这里是2。
r1 = 3 (感受野)
理解:第n个卷积层的感受野等于前一个卷积层的感受野输出再乘以第n卷积层的kernel_size,即第n卷积层要合并多少个,这里算出的是总的量,还要减去之间有重复的量,第n卷积层总共要合并k_n个,那么前后两两相比较,空隙共有k_n-1个,比如说:第一层和第二层有重复,第二层和第三层也有重复等等,然后就要计算每两个之间重复的量有多少,首先每层共有r_n-1个数字,需要减去往右偏移的量,即stride,第1卷积层的stride_1,第二层会在第一层的基础上偏移stride_2,即总共偏移了 stride_1*stride_2,即偏移量是一个乘积的累计效果。
简化的式子如下:
**************************************************************************************************************************
感受野计算方式:
其中:
RF表示特征感受野大小,
l表示层数,
表示输入层,
- 第一层特征,感受野为3:
- 第二层特征,感受野为5: