Предположим, что наше входное изображение передается в сверточный слой, как в sample caffe net :
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
.
.
.
convolution_param {
num_output: 96
kernel_size: 11
stride: 4
}
.
.
.
}
Как сеть может дать нам именно то количество выходов, которое мы хотим при использованииточно размер и шаг ядра свертки, что это дается?Разве размер ядра и шаг не должны уже определять количество выходных данных, которые мы получим (решения по модулю заполнения)?
Если у меня было изображение 5x5, сверните его с ядром 3x3, используя шаг 2 и заполнение нулями границы,тогда я ожидал бы получить вывод 3x3 от свертки.Но что, если я попрошу num_output: 5
?Или num_output: 100
?