Aller au contenu principal

Réseaux de neurones convolutifs

Les réseaux de neurones convolutifs (CNN) encodent deux hypothèses utiles pour les données organisées sur une grille :

  • localité : les valeurs proches interagissent avant les valeurs lointaines ;
  • partage des paramètres : le même détecteur appris est appliqué à toutes les positions.

Ces hypothèses réduisent le nombre de paramètres et rendent la représentation équivariante aux translations : décaler l’entrée tend à décaler la carte de caractéristiques obtenue. L’équivariance n’est pas l’invariance. Le pooling, l’agrégation, l’augmentation et la conception de la tâche peuvent apporter une certaine tolérance aux décalages, mais la convolution seule ne rend pas la sortie inchangée.

Couche de corrélation croisée

Les bibliothèques de deep learning implémentent généralement une corrélation croisée même lorsque l’opération porte le nom de convolution. Pour l’entrée X\mathbf{X} et le noyau V\mathbf{V},

Hi,j,d=bd+abcVa,b,c,dXi+a,j+b,c.H_{i,j,d} = b_d + \sum_a\sum_b\sum_c V_{a,b,c,d}\,X_{i+a,j+b,c}.

Le noyau couvre tous les canaux d’entrée cc et produit un canal de sortie dd. Plusieurs noyaux appris créent plusieurs cartes de caractéristiques.

En une dimension, avec un noyau de largeur kk, un padding pp de chaque côté et un pas ss, la longueur de sortie vaut

n+2pks+1.\left\lfloor\frac{n+2p-k}{s}\right\rfloor+1.

Le même calcul s’applique séparément à la hauteur et à la largeur. La dilatation espace les éléments du noyau et modifie sa taille effective.

Calculer un noyau et une forme

Pour l’entrée [1,2,4,8][1,2,4,8], le noyau [1,1][1,-1], un biais nul, aucun padding et un pas de un, la corrélation croisée produit [1,2,4][-1,-2,-4] : chaque sortie soustrait deux valeurs voisines. La convolution mathématique retourne le noyau et donnerait [1,2,4][1,2,4] avec la même convention de fenêtres valides.

Pour une couche 2-D dense ordinaire, une entrée [B, 3, 32, 32] et 16 noyaux de forme [3, 3, 3] (canaux d’entrée, hauteur, largeur), avec padding un et pas deux, donnent [B, 16, 16, 16]. Il y a 16(333+1)=44816(3\cdot3\cdot3+1)=448 paramètres appris, biais compris, indépendamment des dimensions de l’image. Le gradient d’un poids partagé additionne les contributions de chaque position et exemple du lot qui utilise ce poids.

Avec une dilatation rr, remplacer kk par r(k1)+1r(k-1)+1 dans la formule de longueur. L’équation de corrélation ci-dessus suppose un pas et une dilatation de un, avec des indices valides ; le padding fournit les valeurs de bord supplémentaires. Comme l’explique le manuel sur le padding et le pas, les bords comptent. L’équivariance exacte vaut sur une grille infinie avec un pas de un ; le padding fini la rompt aux bords, et un pas de deux ne préserve généralement que les décalages alignés sur la grille d’échantillonnage. Le pooling ne garantit pas l’invariance à tout décalage.

Composants fondamentaux

  • Le padding contrôle le traitement des bords et sert souvent à conserver la taille spatiale.
  • Le pas sous-échantillonne pendant l’application du noyau.
  • Le pooling résume des voisinages locaux sans poids spatiaux appris.
  • Une convolution 1×11\times1 mélange les canaux indépendamment à chaque position spatiale.
  • Des couches empilées élargissent le champ réceptif et composent des caractéristiques locales en représentations de plus haut niveau.

Limites

  • L’utilité du biais inductif dépend des données ; localité et structure de translation ne sont pas universelles.
  • Le sous-échantillonnage peut perdre des signaux petits ou précisément localisés.
  • Un vaste champ réceptif ne prouve pas que le modèle exploite tout le contexte pertinent.
  • Une bonne précision sur des recadrages aléatoires ne démontre pas la robustesse à un véritable changement de distribution.
  • La construction du jeu de données et les augmentations peuvent peser davantage que les changements d’architecture.

Utilisez un petit MLP ou un modèle linéaire comme baseline lorsque la structure spatiale n’apporte pas de bénéfice évident. Des implémentations et exercices maintenus figurent dans Dive into Deep Learning: Convolutional Neural Networks.

Explorer les liensOuvrir le réseau