1. Introduction générale
Les réseaux de neurones convolutifs, ou CNN (Convolutional Neural Networks), représentent une avancée majeure dans le domaine de l'intelligence artificielle, et plus spécifiquement dans celui de l’apprentissage automatique supervisé. Inspirés du fonctionnement du cortex visuel humain, les CNN sont aujourd’hui omniprésents dans les applications de reconnaissance d’images, de vidéos, de traitement du langage naturel, de diagnostic médical, et bien plus encore.
L’objectif de cette présentation est de fournir une compréhension approfondie mais accessible des CNN. Nous allons explorer leur structure, leur fonctionnement, les raisons de leur efficacité, ainsi que des exemples d’applications réelles. Le tout sera soutenu par des illustrations et, si pertinent, des démonstrations pratiques.
2. Contexte et motivation
a. Origine
Les CNN trouvent leurs racines dans les années 1980 avec les travaux de Yann LeCun, qui a introduit les premiers réseaux convolutifs pour la reconnaissance de chiffres manuscrits. Ce système a été notamment utilisé par la banque américaine pour la lecture automatique des chèques.
b. Pourquoi les CNN ?
Avant les CNN, les modèles traditionnels nécessitaient une étape manuelle de feature engineering, c’est-à-dire que les humains devaient extraire les caractéristiques d’une image à la main (ex : bords, coins, formes). Les CNN permettent à la machine d’apprendre automatiquement ces caractéristiques à partir des données brutes.
c. Applications
Vision par ordinateur : détection d’objets, reconnaissance faciale, segmentation d’images.
Médical : détection de tumeurs sur des IRM.
Sécurité : reconnaissance biométrique, surveillance vidéo intelligente.
Voitures autonomes : lecture des panneaux, identification des piétons.
Art et création : style transfer, colorisation automatique.
3. Anatomie d’un CNN
Un CNN est composé de plusieurs couches, chacune jouant un rôle spécifique dans le traitement et l’analyse des images.
a. Convolution Layer
Le cœur du CNN.
Applique un filtre (ou noyau) sur l’image pour extraire des caractéristiques locales.
Par exemple, un filtre peut détecter des bords verticaux ou horizontaux.
b. ReLU (Rectified Linear Unit)
Fonction d’activation non-linéaire.
Applique f(x) = max(0, x) à chaque valeur, supprimant les valeurs négatives.
Permet d’introduire de la non-linéarité dans le modèle.
c. Pooling Layer (Sous-échantillonnage)
Réduit la taille des représentations (feature maps).
Les plus courants : Max Pooling, Average Pooling.
Réduction de la complexité, amélioration de la robustesse.
d. Flatten + Fully Connected Layers
À la fin du CNN, les données sont aplaties puis traitées par des couches entièrement connectées.
C’est ici que la classification finale est effectuée (ex. : chat ou chien).
4. Fonctionnement global d’un CNN
a. Propagation avant (Forward Propagation)
L’image passe de couche en couche, transformée à chaque étape.