A segunda arquitetura de rede neural convolucional (CNN) que você postou vem deste artigo . No artigo, os autores descrevem o que acontece entre as camadas S2 e C3. A explicação deles não é muito clara. Eu diria que essa arquitetura da CNN não é 'padrão' e pode ser bastante confusa como primeiro exemplo para as CNNs.
28×285×5M×MN×NM≥N(M−N+1)×(M−N+1)
O que acontece entre a camada S2 e a camada C3 é o seguinte. Existem 16 mapas de recursos na camada C3 produzidos a partir de 6 mapas de recursos na camada S2. O número de filtros na camada C3 não é de fato óbvio. De fato, apenas do diagrama da arquitetura, não se pode julgar qual é o número exato de filtros que produzem esses 16 mapas de recursos. Os autores do artigo fornecem a seguinte tabela (página 8):
Com a tabela, eles fornecem a seguinte explicação (parte inferior da página 7):
5 × 5
Na tabela, os autores mostram que todos os mapas de recursos na camada C3 são produzidos combinando 3 ou mais mapas de recursos (página 8):
Os seis primeiros mapas de recursos C3 recebem entradas de todos os subconjuntos contíguos de três mapas de recursos no S2. Os próximos seis recebem informações de cada subconjunto contíguo de quatro. Os próximos três recebem informações de alguns subconjuntos descontínuos de quatro. Finalmente, o último recebe informações de todos os mapas de recursos do S2.
Agora, quantos filtros existem na camada C3? Infelizmente, eles não explicam isso. As duas possibilidades mais simples seriam:
- Há um filtro por mapa de recursos S2 por mapa de recursos C3, ou seja, não há compartilhamento de filtro entre os mapas de recursos S2 associados ao mesmo mapa de recursos C3.
- Há um filtro por mapa de recursos C3, que é compartilhado entre os (3 ou mais) mapas de recursos da camada S2 combinados.
Em ambos os casos, 'combinar' significaria que os resultados da convolução por grupo de mapas de recursos S2 precisariam ser combinados para produzir mapas de recursos C3. Os autores não especificam como isso é feito, mas a adição é uma escolha comum (veja, por exemplo, o gif animado próximo ao meio desta página .
Os autores fornecem algumas informações adicionais, que podem nos ajudar a decifrar a arquitetura. Eles dizem que 'a camada C3 tem 1.516 parâmetros treináveis' (página 8). Podemos usar essas informações para decidir entre os casos (1) e (2) acima.
( 6 × 3 ) + ( 9 × 4 ) + ( 1 × 6 ) = 60( 14 - 10 + 1 ) x ( 14 - 10 + 1 ) = 5 × 55 × 5 × 60 = 1 , 5001 , 500 + 16 = 1 , 516( 5 × 5 × 16 ) + 16 = 416
Portanto, se olharmos novamente para a Tabela I acima, existem 10 filtros C3 distintos associados a cada mapa de recursos S2 (portanto, 60 filtros distintos no total).
Os autores explicam esse tipo de escolha:
Mapas de recursos diferentes [na camada C3] são forçados a extrair recursos diferentes (que se espera que sejam complementares) porque eles obtêm diferentes conjuntos de entradas.
Espero que isso esclareça a situação.