首页 > 解决方案 > 为什么 num_output 是卷积参数?

问题描述

假设将我们的输入图像传递到卷积层,如示例 caffe 网络中一样:

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

标签: caffeconv-neural-network

解决方案


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


推荐阅读