LeNet中神经元的感受野


9

我试图更好地了解CNN的接受领域。为此,我想计算LeNet中每个神经元的感受野。对于普通的MLP来说,它相当简单(请参阅http://deeplearning.net/tutorial/lenet.html#sparse-connectivity),但是要计算一个或多个卷积层和池层。

2.卷积层中神经元的感受野是什么?在下面的子采样/合并层中,它的大小是多少?计算这些的公式是什么?


1
相关的补充工具栏提出了这个问题,与您正在考虑且有趣的事情有关。
2015年

Answers:


2

如果您将卷积网络视为标准MLP的实例,则可以采用与链接的示例完全相同的方式来计算接受域。

回想一下,卷积层本质上是具有许多重复模式的层的简写,如该图像(来自此答案,最初来自此处):

卷积的视觉示例

该图像的每个“目标像素”对应于一个神经元,其输入是源图像中的蓝色方块。根据您的网络体系结构,卷积可能不完全对应于这样的像素,但这是相同的想法。用作所有这些卷积神经元的输入的权重是有限的,但这与您在此处所考虑的无关。

合并神经元的方法可以相同,将它们每个输入的接受场组合在一起。


很好的可视化!您的示例非常合理。如果在卷积层之后添加2x2池化层,则尽管在卷积层中神经元重叠时会混合四个3x3场,但池化层中的每个神经元只会具有4x4的接受场。我可以轻松地解决这个问题,并根据池大小等为接收场创建一些简单的公式。但是,对于随后的卷积层来说,它变得更加复杂,因为接收场现在还取决于轮询层的步幅等。 RF的哪个公式考虑了这一点?
pir

那么源像素中的蓝色方块是接收场的大小吗?
查理·帕克

我有一个相同的问题,在论文“更快的R-CNN:使用区域提议网络实现实时目标检测”中,它在第3.1节中指出,ZF和VGG16的接受域为171和228,但未添加从网络配置。希望有人可以帮我解决这个问题。
灿金

0

在Faster-rcnn中,可以如下计算有效接收场(VGG16):

图->
Conv1(3)-> Conv1(3)-> Pool1(2)==>
Conv2(3)-> Conv2(3)-> Pool2(2)==>
Conv3(3)-> Conv3(3 )-> Conv3(3)-> Pool3(2)==>
Conv4(3)-> Conv4(3)-> Conv4(3)-> Pool4(2)==>
Conv5(3)-> Conv5(3) )-> Conv5(3)====>
特征图中的3 * 3窗口。
为了简单起见,我们采取一个维度。如果我们从大小3推导回来,则原始的接收场为:
1)。在Conv5的开头:3 + 2 + 2 + 2 = 9
2)。在Conv4的开头:9 * 2 + 2 + 2 + 2 = 24
3)。在Conv3的开头:24 * 2 + 2 + 2 + 2 = 54
4)。在Conv2的开头:54 * 2 + 2 + 2 = 112
5)。在Conv1的开头(原始输入):112 * 2 + 2 + 2 = 228

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.