Un réseau neuronal convolutif (CNN) est un type spécialisé de réseau neuronal (NN) particulièrement efficace pour traiter les données en forme de grille, telles que les images et les vidéos. Contrairement aux réseaux neuronaux traditionnels qui traitent les entrées comme des vecteurs plats, les CNN sont conçus pour apprendre automatiquement et de manière adaptative des hiérarchies spatiales de caractéristiques directement à partir des données d'entrée. Cela se fait principalement par l'application de l'opération de convolution, ce qui en fait une pierre angulaire de la vision par ordinateur moderne et entraîne des avancées significatives dans le domaine de l'intelligence artificielle (IA). Leur capacité à capturer les dépendances locales et les relations spatiales les rend particulièrement adaptées aux tâches où la disposition des pixels est importante.
Composants et fonctionnalités de base
Les CNN sont généralement construits à partir de plusieurs couches clés qui traitent et transforment les informations visuelles :
- Couches convolutives : Ce sont les couches fondamentales d'un CNN. Elles appliquent un ensemble de filtres apprenables (noyaux) à l'image d'entrée. Chaque filtre détecte des caractéristiques spécifiques telles que les bords, les coins ou les textures. Au fur et à mesure que le filtre glisse (convolution) sur l'image d'entrée, il produit des cartes de caractéristiques qui mettent en évidence l'emplacement et la force des caractéristiques détectées. Le réseau apprend ces filtres automatiquement au cours du processus d'apprentissage du modèle.
- Couches d'activation : Après les couches convolutives, les fonctions d'activation comme ReLU (Rectified Linear Unit) ou Leaky ReLU introduisent la non-linéarité. Cela permet au réseau d'apprendre des modèles plus complexes qui vont au-delà des simples combinaisons linéaires.
- Couches de mise en commun : Ces couches réduisent les dimensions spatiales (largeur et hauteur) des cartes de caractéristiques, diminuant ainsi la charge de calcul et contrôlant le surajustement. Les méthodes courantes comprennent la mise en commun maximale, qui prend la valeur maximale dans une région locale, ce qui aide le réseau à devenir plus robuste face aux variations de la position des caractéristiques. Une vue d'ensemble des méthodes de mise en commun peut fournir plus de détails.
- Couches entièrement connectées : Généralement situées vers la fin du réseau, ces couches connectent chaque neurone de la couche précédente à chaque neurone de la couche actuelle, comme dans un réseau neuronal feedforward traditionnel. Elles utilisent les caractéristiques de haut niveau extraites par les couches de convolution et de mise en commun pour effectuer des tâches de classification ou de régression, comme l'attribution d'une étiquette finale à l'image.
Principales différences avec les autres réseaux neuronaux
Les CNN possèdent des caractéristiques uniques qui les distinguent des autres types de réseaux :
- Hiérarchie spatiale : Contrairement aux NN de base, les CNN modélisent explicitement les relations spatiales. Les premières couches détectent des caractéristiques simples (arêtes), tandis que les couches plus profondes les combinent pour reconnaître des modèles plus complexes (formes, objets). Cette structure hiérarchique imite certains aspects du traitement visuel humain.
- Partage des paramètres : Un seul filtre est appliqué sur différentes parties de l'image d'entrée, ce qui réduit considérablement le nombre total de paramètres par rapport à un réseau entièrement connecté traitant la même image. Cela rend les CNN plus efficaces et moins enclins à l'adaptation excessive, en particulier pour les images de grande taille. La zone couverte par un filtre en tout point est connue sous le nom de champ réceptif.
- Invariance de la traduction : Grâce à la mise en commun et au partage des paramètres, les CNN peuvent reconnaître un objet même si sa position se déplace légèrement dans l'image.
- vs. les réseaux neuronaux récurrents (RNN) : Alors que les CNN excellent dans le traitement des données spatiales comme les images, les réseaux neuronaux récurrents (RNN) sont conçus pour les données séquentielles, ce qui les rend adaptés à des tâches comme le traitement du langage naturel (NLP) et l'analyse des séries temporelles.
Applications dans le monde réel
Les CNN sont à l'origine de nombreuses percées dans divers domaines :
- Analyse d'images médicales : Dans le cadre de l'IA dans le domaine de la santé, les CNN analysent les scans médicaux tels que les radiographies, les tomographies et les IRM. Ils aident les radiologues à détecter des anomalies subtiles comme les tumeurs, les fractures ou la rétinopathie diabétique. Des recherches publiées dans des revues telles que Radiology : Artificial Intelligence présentent des CNN qui identifient des modèles indicatifs de maladies, avec souvent une grande précision. Par exemple, des modèles comme Ultralytics YOLO peuvent être adaptés à des tâches telles que la détection de tumeurs dans l'imagerie médicale, ce qui démontre l'application pratique des architectures basées sur les CNN dans l'analyse d'images médicales.
- Véhicules autonomes : Les CNN sont cruciaux pour l'IA dans les voitures autonomes. Ils alimentent les systèmes de perception qui effectuent une détection des objets en temps réel pour identifier les piétons, les véhicules, les panneaux de signalisation et les marquages de voie à l'aide des données des caméras et du LiDAR. Cela permet au véhicule de comprendre son environnement et de prendre des décisions de conduite sûres. Des entreprises comme Waymo s'appuient fortement sur les CNN pour leurs systèmes autonomes. Les CNN contribuent également à la segmentation des images, ce qui permet aux véhicules de différencier les zones carrossables des obstacles.
Outils et cadres de travail
Le développement et le déploiement des CNN s'appuient sur de puissants outils et frameworks d'apprentissage profond (DL) :