我不确定您是否理解您的要求,因为除非您正在构建自己的 CNN 实现,否则您不会过多关注卷积层中的神经元数量。
回答您的问题 - 不,第一个卷积层中的每个神经元仅连接到其自己的感受野中的像素(由内核大小给出),并且相同的逻辑也适用于下一个卷积层,除了现在它们已连接到下层神经元的感受野。
例如:如果我在 CNN 中的第一个隐藏层为 8 个神经元
你怎么知道它有 8 个神经元?除非您正在执行一些低级 CNN 编程,否则您不指定神经元的数量。您需要的神经元数量通常由kernel size、stride、padding 类型和您选择使用的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) 其中 None 是批量大小)。如果您将其展平并将输出馈送到单个神经元(假设在一个密集层中),那么您最终会在这两层之间得到 128 * 98 * 98 = 1,229,313 个权重。
因此,对于密集层和卷积层之间的类比,上述具有 128 个滤波器连接到一个输出神经元的卷积层类似于具有连接到一个输出神经元的 1,229,313 个神经元的密集层。