Aller au contenu principal

Leçon 3 — Les convolutions

Les réseaux de la leçon 1, où chaque neurone est relié à toutes les entrées, s'appellent des réseaux entièrement connectés. Ils fonctionnent bien sur de petites entrées et échouent sur des images. Comprendre pourquoi mène directement à l'invention qui a débloqué la vision par ordinateur.

Pourquoi un réseau entièrement connecté échoue sur une image

Deux problèmes, tous deux rédhibitoires.

Le nombre de paramètres explose. Une image couleur de 224 par 224 pixels contient environ 150 000 valeurs. Reliez-la à une couche de mille neurones : cela fait 150 millions de poids pour la première couche seulement. Impossible à entraîner avec un jeu de données raisonnable, et gaspilleur.

La position est traitée comme une identité. C'est le problème le plus profond. Pour un réseau entièrement connecté, le pixel en haut à gauche et le pixel au centre sont deux entrées sans aucun rapport. Si le réseau apprend à reconnaître un œil au centre, il n'en sait strictement rien lorsque l'œil apparaît dans un coin : il devra le réapprendre séparément, pour chaque emplacement possible.

Or nous savons quelque chose que le réseau ignore : un motif visuel garde le même sens où qu'il se trouve. Un contour est un contour, en haut comme en bas. Cette connaissance, il faut la lui donner par construction.

Le filtre, et l'idée du glissement

Une convolution applique un petit détecteur — un filtre, typiquement de 3 par 3 pixels — en le faisant glisser sur toute l'image. À chaque position, il calcule une somme pondérée des pixels qu'il recouvre et produit une valeur. Le résultat est une nouvelle image, appelée carte d'activation, qui indique où le motif recherché est présent.

Le point essentiel : c'est le même filtre partout. Ses neuf poids sont partagés sur l'intégralité de l'image.

Deux conséquences majeures :

Le nombre de paramètres s'effondre. Neuf poids au lieu de cent cinquante millions. Une couche de convolution comportant 64 filtres différents utilise moins de 2 000 paramètres, là où l'équivalent entièrement connecté en demandait des dizaines de millions.

L'invariance par translation est acquise par construction. Le détecteur fonctionne à tout emplacement, parce que c'est le même détecteur qui a été promené partout. Le réseau n'a plus rien à réapprendre selon la position.

Ce que les filtres apprennent

Les poids des filtres ne sont pas choisis : ils sont appris, comme tous les autres paramètres. Et ce qu'ils apprennent suit exactement la hiérarchie de la leçon 2.

Les filtres de la première couche convergent, presque systématiquement, vers des détecteurs de contours à différentes orientations et de transitions de couleur. C'est reproductible : entraînez deux réseaux différents sur deux jeux d'images différents, leurs premières couches se ressembleront.

Les couches suivantes appliquent des filtres aux cartes d'activation produites par les précédentes, et non plus aux pixels. Elles détectent donc des combinaisons de motifs : un coin est une rencontre de deux contours, une texture est une répétition de motifs. Puis des parties d'objets, puis des objets.

Le fait qui explique le transfer learning

Les premières couches d'un réseau de vision apprennent des détecteurs génériques, valables pour toute image du monde réel. C'est pourquoi on peut prendre un réseau entraîné sur des photographies de la vie quotidienne et le réutiliser pour analyser des radiographies : les contours et les textures restent des contours et des textures. Seules les dernières couches, spécifiques à la tâche, doivent être réapprises.

Le sous-échantillonnage

Entre les couches de convolution, on réduit régulièrement la taille des cartes d'activation, par une opération de sous-échantillonnage (pooling) qui ne conserve, par exemple, que la valeur maximale de chaque carré de 2 par 2 pixels.

Trois effets :

  • Moins de calcul pour les couches suivantes.
  • Un champ de vision plus large : après plusieurs réductions, un filtre de 3 par 3 couvre en réalité une grande portion de l'image d'origine, ce qui lui permet de raisonner sur des structures étendues.
  • Une tolérance aux petits déplacements : le maximum d'un carré ne change pas si le motif se décale d'un pixel.

L'image rétrécit donc en résolution spatiale tout en s'enrichissant en nombre de canaux : on passe de « 224 par 224 avec 3 couleurs » à « 7 par 7 avec 512 descripteurs appris ». La description devient de plus en plus abstraite et de moins en moins localisée.

Les architectures qui ont marqué

ArchitectureAnnéeApport principal
LeNet1998la première démonstration convaincante, sur la lecture de chiffres
AlexNet2012l'usage du GPU et de ReLU, et le résultat qui a lancé le domaine
VGG2014la simplicité : uniquement des filtres 3 par 3, empilés profondément
ResNet2015les connexions résiduelles, qui ont permis plus de cent couches
EfficientNet2019l'équilibrage systématique entre profondeur, largeur et résolution
Vision Transformer2020l'attention appliquée à des morceaux d'image, sans convolution

Un mot sur le dernier : les transformeurs, conçus pour le texte, se sont révélés compétitifs sur l'image. Ils demandent en revanche beaucoup plus de données pour égaler un réseau convolutif, précisément parce qu'ils n'ont pas l'hypothèse d'invariance par translation intégrée par construction — ils doivent l'apprendre. Sur des jeux de données de taille moyenne, les convolutions restent souvent préférables, et les architectures récentes combinent volontiers les deux.

Au-delà des images

Le raisonnement qui justifie la convolution s'applique à toute donnée où la position relative compte et la position absolue non. Cela dépasse largement la vision.

  • Le son, traité comme un spectrogramme, c'est-à-dire une image temps-fréquence.
  • Les séries temporelles, avec des convolutions à une dimension qui détectent des motifs quelle que soit leur date d'apparition.
  • Le texte, où des convolutions repèrent des tournures locales — approche largement remplacée par les transformeurs, mais rapide et efficace.
  • Les molécules et les graphes, avec des convolutions généralisées aux voisinages d'un graphe.

En trois phrases

Un réseau entièrement connecté échoue sur les images parce que le nombre de paramètres explose et parce qu'il traite chaque position comme une entrée sans rapport avec les autres, l'obligeant à réapprendre le même motif pour chaque emplacement. La convolution fait glisser un même petit filtre sur toute l'image, ce qui divise massivement le nombre de paramètres et donne l'invariance par translation par construction. Les filtres appris forment la hiérarchie contours, textures, parties, objets, et le caractère générique des premières couches est exactement ce qui rend le transfer learning possible.


SuiteLeçon 4 : séquences et transformeurs →