A dimensão de saída de uma convolução na aprendizagem profunda depende de vários fatores
- o tamanho do filtro (também conhecido como kernel)
- o preenchimento (se você adiciona zeros ou não à sua imagem e quantos)
- os números de filtro que você usa
- o passo
A dependência mais simples é a do número de filtros N
. Ele fornece o número de mapas de recursos que sua saída possui. Para a entrada que pode ser os canais RGB, ou seja, 3, para a saída, esse número pode ser escolhido livremente.
O próximo fator é o preenchimento zero. Se você usar um tamanho de filtro de (3,3) e um preenchimento "válido", ou seja, adicionar zeros NÃO ao redor da imagem, você terá uma saída de dimensão.
(100, 100, 3) -> (98, 98, N)
Como você usa um passo de 1. Se você mover o filtro pela imagem no final da imagem em cada direção, o filtro atingirá a borda após 98 etapas.
No entanto, se você usar o preenchimento "SAME", compensa o tamanho do filtro - no caso de um tamanho de filtro de (3,3) que corresponda a uma linha de zeros ao redor da imagem - você terá:
(100, 100, 3) -> (100, 100, N)
Com um passo de 2, por exemplo, você altera a posição do filtro em dois pixels. Portanto, você obtém
(100, 100, 3) -> (50, 50, N)