La deuxième architecture de réseau neuronal convolutif (CNN) que vous avez publiée provient de cet article . Dans l'article, les auteurs décrivent ce qui se passe entre les couches S2 et C3. Leur explication n'est cependant pas très claire. Je dirais que cette architecture CNN n'est pas «standard», et elle peut être assez déroutante comme premier exemple pour les CNN.
Tout d'abord, une clarification est nécessaire sur la façon dont les cartes d'entités sont produites et sur leur relation avec les filtres. Une carte d'entités est le résultat de la convolution d'un filtre avec une carte d'entités. Prenons l'exemple des calques INPUT et C1. Dans le cas le plus courant, pour obtenir 6 cartes d'entités de taille dans la couche C1, vous avez besoin de 6 filtres de taille (le résultat d'une convolution "valide" d'une image de taille avec un filtre de taille , en supposant que , a une taille28 × 285 × 5M× MN× NM≥ N( M- N+ 1 ) × ( M- N+ 1 ). Vous pouvez cependant produire 6 cartes d'entités en combinant des cartes d'entités produites par plus ou moins de 6 filtres (par exemple en les additionnant). Dans le document, rien de tel n'est impliqué pour la couche C1.
Ce qui se passe entre la couche S2 et la couche C3 est le suivant. Il y a 16 cartes d'entités dans la couche C3 produites à partir de 6 cartes d'entités dans la couche S2. Le nombre de filtres dans la couche C3 n'est en effet pas évident. En fait, à partir du diagramme d'architecture uniquement, on ne peut pas juger du nombre exact de filtres qui produisent ces 16 cartes d'entités. Les auteurs de l'article fournissent le tableau suivant (page 8):
Avec le tableau, ils fournissent l'explication suivante (bas de la page 7):
La couche C3 est une couche convolutionnelle avec 16 cartes d'entités. Chaque unité de chaque carte d'entités est connectée à plusieurs quartiers à des emplacements identiques dans un sous-ensemble des cartes d'entités de S2.5 × 5
Dans le tableau, les auteurs montrent que chaque carte d'entités de la couche C3 est produite en combinant 3 cartes d'entités ou plus (page 8):
Les six premières cartes d'entités C3 prennent des entrées de tous les sous-ensembles contigus de trois cartes d'entités dans S2. Les six suivants prennent la contribution de chaque sous-ensemble contigu de quatre. Les trois suivants prennent en compte certains sous-ensembles discontinus de quatre. Enfin, la dernière prend en compte toutes les cartes d'entités S2.
Maintenant, combien de filtres y a-t-il dans la couche C3? Malheureusement, ils n'expliquent pas cela. Les deux possibilités les plus simples seraient:
- Il existe un filtre par carte d'entités S2 par carte d'entités C3, c'est-à-dire qu'il n'y a pas de partage de filtre entre les cartes d'entités S2 associées à la même carte d'entités C3.
- Il existe un filtre par carte d'entités C3, qui est partagé entre les (3 ou plus) cartes d'entités de la couche S2 qui sont combinées.
Dans les deux cas, «combiner» signifierait que les résultats de la convolution par groupe de cartes d'entités S2 devraient être combinés pour produire des cartes d'entités C3. Les auteurs ne précisent pas comment cela se fait, mais l'ajout est un choix courant (voir par exemple le gif animé au milieu de cette page .
Les auteurs donnent cependant quelques informations supplémentaires, qui peuvent nous aider à déchiffrer l'architecture. Ils disent que «la couche C3 a 1 516 paramètres entraînables» (page 8). Nous pouvons utiliser ces informations pour décider entre les cas (1) et (2) ci-dessus.
Dans le cas (1) nous avons filtres. La taille du filtre est . Le nombre de paramètres entraînables dans ce cas serait de paramètres entraînables. Si nous supposons une unité de biais par carte d'entités C3, nous obtenons paramètres, ce que disent les auteurs. Pour être complet, dans le cas (2) nous aurions paramètres, ce qui n'est pas le cas.( 6 × 3 ) + ( 9 × 4 ) + ( 1 × 6 ) = 60( 14 - 10 + 1 ) × ( 14 - 10 + 1 ) = 5 × 55 × 5 × 60 = 1 , 5001 , 500 + 16 = 1 , 516( 5 × 5 × 16 ) + 16 = 416
Par conséquent, si nous regardons à nouveau le tableau I ci-dessus, il y a 10 filtres C3 distincts associés à chaque carte de caractéristiques S2 (donc 60 filtres distincts au total).
Les auteurs expliquent ce type de choix:
Différentes cartes d'entités [dans la couche C3] sont obligées d'extraire différentes entités (espérons-le complémentaires) car elles obtiennent différents ensembles d'entrées.
J'espère que cela clarifie la situation.