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   cltt  阅读(1970)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示