Les Reseaux Convolutifs
Comment une machine apprend-elle a voir ?
Decouvrez pas a pas le fonctionnement des CNN : de l'image numerique jusqu'a la reconnaissance de formes. Completez les 6 defis interactifs pour tester vos connaissances.
Commencer ↓01L'Image Numerique
Pour un ordinateur, une image n'est qu'une grille de nombres. Chaque case de la grille s'appelle un pixel.
Niveaux de gris : Chaque pixel = un nombre entre 0 (noir) et 255 (blanc). L'image est donc une matrice 2D : hauteur × largeur.
Images couleur (RGB) : Chaque pixel a 3 canaux (Rouge, Vert, Bleu). L'image devient un volume 3D : hauteur × largeur × 3.
Exemple : une image 28×28 en couleur = 28×28×3 = 2352 nombres.
C'est a partir de ces simples nombres que le CNN va apprendre a reconnaitre des formes !
En mode niveaux de gris, calculez la moyenne des pixels surlignés en orange (arrondissez a l'entier).
02La Convolution
La convolution est l'operation centrale des CNN. Elle consiste a faire glisser un petit noyau (kernel) sur l'image.
A chaque position, on multiplie les valeurs du noyau par celles de l'image en dessous, puis on fait la somme. Le resultat est un nombre dans la grille de sortie.
Suivez l'animation etape par etape pour voir comment le noyau parcourt l'image et produit une nouvelle grille :
Calculez le resultat de la convolution a la position surlignee en orange.
03Les Filtres
Le choix du noyau determine ce que la convolution detecte. Differents noyaux agissent comme des filtres :
- Identite : ne change rien a l'image
- Flou : moyenne les pixels voisins, lisse l'image
- Bords : detecte les contours horizontaux ou verticaux
- Nettete : accentue les details et les contrastes
Dans un CNN, le reseau apprend automatiquement les meilleurs filtres pour sa tache !
Associez chaque image filtree au bon filtre.
04Le Pooling
Apres la convolution, on applique souvent un pooling (sous-echantillonnage) pour reduire la taille spatiale.
Le Max Pooling 2×2 parcourt la grille par blocs de 2×2 et garde la valeur maximale de chaque bloc.
Important : Le pooling ne change PAS le nombre de canaux, seulement la taille spatiale.
Effets du pooling :
- Reduit la taille spatiale :
28×28×32→14×14×32(divise par 2 largeur et hauteur, garde 32 canaux) - Invariance locale : un petit deplacement du motif ne change pas la sortie
- Reduit le calcul : moins de pixels a traiter dans les couches suivantes
Quel est le resultat du Max Pooling pour le bloc surligné en orange ?
05Les Feature Maps
En pratique, un CNN applique plusieurs filtres en parallele a chaque couche de convolution. Chaque filtre produit une feature map (carte de caracteristiques).
Regle importante : Le nombre de canaux en sortie = nombre de filtres appliques. Si on applique 32 filtres, on obtient 32 feature maps, donc hauteur × largeur × 32.
Exemple : 28×28×1 (image N&B) → Conv avec 32 filtres → 28×28×32 (32 canaux).
Ci-contre : 1 image → 3 filtres → 3 feature maps. Cliquez sur une feature map pour voir son filtre.
06L'Architecture Complete
Un CNN complet enchaine plusieurs etapes :
- Convolution + ReLU : extrait des caracteristiques
- Pooling : reduit la taille, garde l'essentiel
- On repete 1-2 pour approfondir la detection
- Aplatir (Flatten) : transforme le volume 3D en vecteur
- Couche Dense (FC) : classification finale
Le schema ci-contre montre l'architecture exacte du CNN utilise dans le projet MNIST de cette plateforme.
Remettez les couches dans le bon ordre en cliquant dessus une par une.
07Un Exemple Reel
Maintenant, voyons comment le vrai CNN entraine sur MNIST traite un chiffre reel !
A gauche : les filtres appris par la premiere couche de convolution (Conv1). Le reseau a appris automatiquement ces 8 filtres (parmi 32 au total) pendant l'entrainement.
A droite : un chiffre reel du dataset MNIST et sa classification par le CNN.
Remarquez comment certains filtres detectent des bords verticaux, d'autres des bords horizontaux, des coins, etc. Le reseau a decouvert ces caracteristiques tout seul !
En observant les 8 filtres ci-dessus, combien detectent principalement des bords verticaux ? (Indices : valeurs negatives a gauche, positives a droite)
Recapitulatif
Une image est une grille de nombres (pixels) de 0 a 255.
Un noyau glisse sur l'image, multiplie et somme pour extraire des motifs.
Differents noyaux detectent differentes caracteristiques (bords, flou, nettete).
Reduit la taille en gardant les valeurs les plus importantes.
Plusieurs filtres en parallele creent un volume 3D de caracteristiques.
Conv + Pool repetes, puis aplatir et couche dense pour classifier.
Le CNN entraine reconnaît les chiffres grace aux filtres appris automatiquement.