CNN 卷积神经网络中的 接受视野(Receptive Field)

 

 

在卷积神经网络中,感受野定义:CNN每一层输出的特征图上的像素点在原始图像
上的映射的区域大小。

RF (receptive field)描述了两个特征映射(Feature Maps)上神经元的关系,在进行 CNN 可视化的过程中非常有用。他也可以从侧面让我们了解,

为什么神经网络偏向于选择小的 Filter 和 Stride。假设,A 经过一系列的操作之后得到 B,那么 B 上的一个区域就只和 A 上的一个区域相关。

 

 

 

 

一个输入大小为 11×11的A, 经过一个过滤器大小为 3×3,步长为 1 的卷积核卷积之后,得到一个大为9×9的特征映射。

可以看到在 B 中一个 3×3 的区域,在 A 中的感受视野为 5×5。B 经过一个大小为 3×3 ,步长为 1 的卷积核卷积之后,得到一个 7×7 的特征映射。

因此在 A 中的一个 5×5 的区域在 B 中的视野就为 3×3。因此,C 中一个 1×1 的区域在 A 的视野就为 5×5。

计算公式为: [公式]

其中 [公式] 表示第 i 层输入的一个区域, [公式] 表示第 i 层的步长, [公式] 表示第 i 层卷积核的大小(filter size)。此计算不需要考虑 padding size

高层在低层中的视野

计算 C 在 B 中的视野

如我们想计算 C 的一个 1×1 的区域在 B 上的接受视野,从上图可以知道一共三层(两个卷基层一个输入层,此处将输入层的 i 当做0处理),此时我们求的是 [公式][公式] 上的感受视野。

由上图可以知道, [公式] 的值为 1 因为第一层的步长为 1 ; [公式]的值为 3 ,因为卷积核的大小为 3×3;此时选择的 [公式] 区域大小为 1×1,因此它的值为 1 。

通过上述公式计算可得: [公式]

[公式][公式]的接受视野为 3×3 的区域。

计算 B 在 A 中的视野

计算 B 中一个 3×3 的区域在 A 中接受视野。可知 [公式] 为 1; [公式] 为 3,因为我们选择的 B 的区域为 3×3; [公式] 为 3。

因此 B 在 A 中的接受视野为: [公式]

计算 C 在 A 中的视野

计算 C 中一个1×1的区域在 A 中的接受视野。

通过以上的计算,我们可以通过如下过程推断:

  1. 计算 C 在 B 中的接受视野

[公式]

2.计算 B 在 A 中的接受视野

此阶段需要将上面计算出来的结果当做 B 中需要计算的区域,因此就有:

[公式]

因此可以得到 C 中一个 1×1 的区域在 A 中的接受视野为 5×5

 

注:以上的计算适用于卷积层和池化层,在激活层中 [公式]

 

 

 

conv5: [公式]

conv4: [公式]

conv3: [公式]

pool2: [公式]

conv2: [公式]

pool1: [公式]

conv1: [公式]

因此第5层卷积在输入层的感受视野为 163。

 

posted on 2020-04-06 19:20  cltt  阅读(1898)  评论(0编辑  收藏  举报

导航