为什么num_output是卷积参数?

Why is num_output a convolution parameter?

假设将我们的输入图像传递到卷积层中,如 sample caffe net:

layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  .
  .
  .
  convolution_param {
    num_output: 96
    kernel_size: 11
    stride: 4
  }
  .
  .
  .
}

网络如何能够准确地为我们提供我们想要的输出数量,同时还精确地使用它所提供的卷积核的大小和步长?内核大小和步幅不应该已经决定了我们将获得的输出数量(模填充决定)吗?

如果我有一个 5x5 的图像,使用步长 2 和零填充边界将其与 3x3 内核进行卷积,那么我希望从卷积中获得 3x3 的输出。但是如果我要求 num_output: 5 呢?或者 num_output: 100?

经过一些实验,看起来这个 num_output 参数实际上决定了内核与 整个图像 的卷积次数(至少在单通道-图片案例)。所以它实际上根本不与图像和过滤器的宽度和高度值交互。