在CNN网络中,输入图像是否应该到达第一卷积层(我的意思是第一隐藏层)中的所有神经元?

我是cnn的新手,我有一个基本问题,涉及第一卷积层中输入图像与神经元之间的映射。

我的问题是: 输入的图像是否应该到达第一卷积层(我的意思是第一隐藏层)中的所有神经元?

例如:如果我们在cnn中的第一个隐藏层是8个神经元,那么在这种情况下,完整的输入图像将传递给所有这8个神经元,或者仅输入图像的像素集将传递给每个神经元。

xyxocaz 回答:在CNN网络中,输入图像是否应该到达第一卷积层(我的意思是第一隐藏层)中的所有神经元?

我不确定您是否理解您的要求,因为卷积层中神经元的数量与您无关,除非您自己构建CNN的实现。

要回答您的问题-不,第一个卷积层中的每个神经元仅连接到其自身接受域中的像素(由内核大小决定),并且相同的逻辑也适用于下一个卷积层,除非现在它们已连接进入其感受野中的下层神经元。

例如:如果我在CNN中的第一个隐藏层是8个神经元

您怎么知道它有8个神经元?除非您执行一些低级的CNN编程,否则您不指定神经元的数量。通常,您需要的神经元数量由kernel sizestridepadding的类型以及您选择使用的filters的数量组合而成。这4件事(连同图像的输入大小)会告诉您确切需要多少个神经元。

例如,在Keras中(因为您已经用Tensorflow标记了这个问题),您可能会看到像这样的卷积层:

keras.layers.Conv2D(filters=128,kernel_size=3,strides=1,activation="relu",input_shape=(100,100,1))

如您所见,此处未指定任何类似神经元数量的名称(至少不是直接指定)。在此设置下,最终得到的输出的宽度和高度均被裁剪为2(由于默认填充),因此该层的输出形状为(128,98,98)(从技术上讲,其形状为(None,128) ,98,98),其中“无”代表批量。如果将其展平并将输出馈送到单个神经元(比方说在一个密集的层中),则最终在这两层之间将获得128 * 98 * 98 = 1,229,313权重。

因此,对于密集层和卷积层之间的类比,上述具有128个过滤器连接到一个输出神经元的卷积层类似于具有1,313个神经元连接到一个输出神经元的密集层。

本文链接:https://www.f2er.com/2645999.html

大家都在问