🧠 Réseau de neurones convolutif
Visualisez comment un réseau de neurones convolutif traite les images couche par couche. Observez les filtres de convolution glisser sur une image, les activations ReLU et le max-pooling en temps réel.
À propos du visualiseur de réseau de neurones convolutif
Cette simulation fait traverser une petite image à travers un CNN une couche à la fois. Une entrée de 8×8 pixels est convoluée avec un noyau 3×3 : à chaque position, le filtre est multiplié élément par élément avec le patch sous-jacent puis sommé pour former une carte de caractéristiques. Cette carte passe ensuite par une activation ReLU, f(x)=max(0,x), une étape de max-pooling 2×2, une seconde convolution et une activation finale, reflétant la façon dont les vrais CNN construisent des caractéristiques de manière hiérarchique.
Les contrôles vous permettent de choisir un motif d'entrée (chiffre 7, croix, cercle, contour ou damier), de choisir le noyau de la couche 1 (contour horizontal, contour vertical, netteté ou flou), de régler la vitesse de balayage et de parcourir les onglets Voir la couche (Entrée, Conv1, ReLU, Pool, Conv2, Sortie). Les CNN construits sur exactement ces opérations alimentent la classification d'images, la détection de visages, l'analyse de scanners médicaux et les systèmes de vision des voitures autonomes.
Questions fréquentes
Qu'est-ce qu'un réseau de neurones convolutif ?
Un réseau de neurones convolutif, ou CNN, est un modèle d'apprentissage profond conçu pour des données en grille comme les images. Au lieu de connecter chaque pixel à chaque neurone, il fait glisser de petits filtres apprenables sur l'entrée pour détecter des motifs locaux comme les contours et les textures, puis les empile en caractéristiques plus profondes et plus abstraites.
Comment fonctionne l'étape de convolution dans cette simulation ?
Un noyau 3×3 est positionné sur chaque pixel de l'entrée 8×8. Les neuf poids du noyau sont multipliés par les neuf pixels situés en dessous et les produits sont additionnés en une seule valeur de sortie. Répéter cela sur toute l'image produit une carte de caractéristiques de sommes pondérées brutes, qui peuvent être négatives lorsqu'un noyau de contour détecte une transition inversée. Ce sont ces valeurs brutes sur lesquelles ReLU agit ; seule l'échelle de gris affichée à l'écran est redimensionnée de 0 à 1 pour l'affichage.
Que font réellement les quatre boutons de filtre ?
Chaque bouton charge un noyau 3×3 différent. Edge H détecte les transitions horizontales de luminosité, Edge V détecte les transitions verticales, Sharpen accentue les détails fins en soustrayant la moyenne locale du pixel central, et Blur est un filtre de moyenne qui moyenne les pixels voisins pour lisser l'image.
Pourquoi l'activation ReLU est-elle nécessaire ?
ReLU applique f(x)=max(0,x), ramenant chaque valeur négative à zéro. Cela introduit une non-linéarité, ce qui permet au réseau de représenter des frontières de décision complexes et courbes plutôt que de simples combinaisons linéaires de pixels. Sans activation non linéaire, l'empilement de nombreuses couches s'effondrerait en une seule transformation linéaire.
Que réalise le max pooling ?
La couche de max-pooling 2×2 prend la plus grande valeur de chaque fenêtre 2×2 non chevauchante, divisant par deux la largeur et la hauteur. Cela conserve les activations les plus fortes, réduit le calcul et confère au réseau un certain degré d'invariance par translation, de sorte qu'une caractéristique est reconnue même si elle se déplace d'un ou deux pixels.
Les filtres de cette démo sont-ils appris ou fixes ?
Ce sont des noyaux fixes, choisis à la main pour rendre les mathématiques visibles. Dans un CNN entraîné, les poids du noyau sont appris automatiquement par rétropropagation et descente de gradient, de sorte que le réseau découvre les filtres qui minimisent le mieux sa perte sur les données d'entraînement plutôt que de s'appuyer sur des noyaux de contour ou de flou classiques.
Pourquoi la carte de caractéristiques rétrécit-elle après le pooling ?
Le pooling combine quatre valeurs voisines en une seule, donc une carte 8×8 devient 4×4. Réduire les dimensions spatiales tout en augmentant le nombre de canaux de caractéristiques est le schéma central des CNN : les couches plus profondes voient une grille plus petite et plus grossière mais représentent des concepts plus riches et de plus haut niveau comme les coins et les courbes.
Que signifient les statistiques comme Scan X et Scan Y ?
Scan X et Scan Y indiquent la colonne et la ligne actuelles du noyau alors qu'il balaie l'entrée pendant l'animation Conv1. Kernel Weights vaut 9, les neuf nombres du noyau unique 3×3 utilisé dans cette démo (il est réutilisé dans Conv1 et Conv2, sans biais et sans entraînement), et Feature Maps vaut 1, car un seul noyau produit exactement une carte par couche. Un CNN de production utiliserait une banque de nombreux noyaux par couche et produirait donc de nombreuses cartes.
Est-ce une représentation fidèle d'un vrai CNN ?
Les opérations sont fidèles : convolution authentique, ReLU, max pooling et une seconde convolution dans le bon ordre. C'est simplifié pour plus de clarté, utilisant une seule petite image, des noyaux fixés à la main, des valeurs d'affichage normalisées et aucun entraînement réel, ce qui enseigne les mécanismes plutôt que de reproduire l'échelle d'un réseau de production.
Où les CNN sont-ils utilisés dans le monde réel ?
Les CNN sous-tendent la plupart de la vision par ordinateur moderne. Ils classent des objets sur des photos, lisent des chiffres manuscrits, détectent des tumeurs sur des scanners médicaux, reconnaissent des visages, alimentent des filtres de réalité augmentée et nourrissent les systèmes de perception des véhicules autonomes. Les mêmes briques de convolution, d'activation et de pooling montrées ici s'étendent à ces applications.
Un filtre parcourt une image 8×8 couche par couche — observez la convolution, l'activation ReLU et le max-pooling construire des cartes de caractéristiques en temps réel.
3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · s'exécute entièrement côté client, sans installation