如何理解CNN的卷积层的输出深度是使用的卷积滤波器的数量?

时间:2018-01-11 06:49:04

标签: deep-learning convolution

假设我对转换层的输入是256 x 256 x 64,我使用32 x 3 x 3的滤镜,为什么输出深度是32而不是64?卷积如何在深度轴上进行?

2 个答案:

答案 0 :(得分:0)

在CNN的情况下,每个滤波器由其长度和宽度(3×3)定义。沿深度轴的连通性总是等于输入深度。

举个例子:

你有32个过滤器,每个过滤器的大小(3x3)。因此,每个滤波器中的神经元将查看(3x3x64)输入的补丁,每个滤波器层中的神经元数量(没有零填充和stride = 1)将为(256-3)。
所以,每个图层中Neuron1Layer1Layer2,....,Layer32查看输入的(3x3x64)相同的补丁。并且它使卷积层的输出大小为(253x253x32)。
这就是滤波器数量决定CNN深度的方式。
为了更清楚地了解我在这里讨论的内容,你可以参考this link。这更加直观和数学地解释了CNN。

答案 1 :(得分:0)

输出深度取决于当前卷积层中的滤波器数量。

定义过滤器时,则提供空间维度(X,Y),过滤器的最后维度基于输入通道。

由于在卷积中,每个滤波器(3,3,z)与输入(Xin,Yin,z)卷积(简单地说,元素 - vise乘法)产生(Xout,Yout,1)维度输出。每个滤波器产生单层输出,这就是为什么输出深度等于该卷积层中的滤波器的原因。

注意:如果您对图层的输出大小感兴趣,那么您可以使用,此幻灯片解释卷积的工作原理。

  

X_OUT =(辛+ 2Pad-籽粒)/步

Convolution Image

您可能想要观看李飞飞教授的video讲座。这是她完整的Deep learning course