J'ai récemment lu les commentaires de Yan LeCuns sur 1x1 convolutions :
Dans les réseaux convolutionnels, il n’existe pas de "couches entièrement connectées". Il existe uniquement des couches de convolution avec des noyaux de convolution 1x1 et une table de connexion complète.
C'est un fait trop rarement compris que ConvNets n'a pas besoin d'une entrée de taille fixe. Vous pouvez les former sur des entrées produisant un seul vecteur de sortie (sans étendue spatiale), puis les appliquer à des images plus grandes. Au lieu d'un seul vecteur de sortie, vous obtenez alors une carte spatiale des vecteurs de sortie. Chaque vecteur voit les fenêtres d’entrée à différents endroits sur l’entrée. Dans ce scénario, les "couches entièrement connectées" agissent vraiment comme des convolutions 1x1.
Je voudrais voir un exemple simple pour cela.
Exemple
Supposons que vous ayez un réseau entièrement connecté. Il ne comporte qu'un calque d'entrée et un calque de sortie. La couche d'entrée a 3 nœuds, la couche de sortie a 2 nœuds. Ce réseau a paramètres. Pour le rendre encore plus concret, disons que vous avez une fonction d'activation ReLU dans la couche en sortie et la matrice de pondération
Ainsi , le réseau est avec .
À quoi la couche convolutive doit-elle ressembler? Que veut dire LeCun avec "table de connexion complète"?
Je suppose que pour obtenir un CNN équivalent, il faudrait exactement le même nombre de paramètres. Le MLP de dessus a paramètres.