tadata
← Retour à l'accueil

Réseaux de neurones convolutifs : de LeNet aux architectures modernes

#deep-learning#computer-vision#neural-networks#cnn

Les réseaux de neurones convolutifs (CNN) restent le pilier de la vision par ordinateur. Comprendre leur évolution de LeNet-5 (1998) aux architectures modernes comme ConvNeXt révèle les principes fondamentaux de la conception en deep learning.

Briques de base

Un CNN empile trois types de couches :

Les couches convolutives appliquent des filtres apprenables (noyaux) qui glissent sur l'entrée, détectant des motifs locaux. Un noyau 3×33 \times 3 avec stride 1 sur une image 28×2828 \times 28 produit une carte de features 26×2626 \times 26. Chaque filtre apprend à détecter un motif spécifique — bords, textures, formes — avec une abstraction croissante dans les couches profondes.

Les couches de pooling réduisent les dimensions spatiales. Le max pooling prend la valeur maximale dans chaque fenêtre 2×22 \times 2, divisant par deux largeur et hauteur. Cela fournit une invariance par translation et réduit le calcul. L'average pooling et le global average pooling (GAP) sont des alternatives courantes.

Les couches entièrement connectées en fin de réseau aplatissent les cartes de features et les projettent vers les classes de sortie. Les architectures modernes remplacent souvent les couches FC par du GAP pour réduire les paramètres.

tadata
  • Image d'entrée [3 × 224 × 224]
    • → 2 × (Conv 3x3, 64 → ReLU → BatchNorm)
      • → MaxPool 2x2 [64 × 112 × 112]
        • → 2 × (Conv 3x3, 128 → ReLU → BatchNorm)
          • → MaxPool 2x2 [128 × 56 × 56]
            • → ... (blocs plus profonds)
              • → Global Avg Pool [512 × 1 × 1]
                • → FC → Softmax [num_classes]
Architecture CNN (simplifiée)
tadata
Input X 5×5 3 3 3 0 0 3 3 3 0 0 3 3 3 0 0 3 3 3 0 0 3 3 3 0 0 * Kernel K 3×3 1 0 −1 1 0 −1 1 0 −1 = Output Y 3×3 0 9 9 0 9 9 0 9 9 0 1 2 0 1 2 Y[0, 1] = Σ window × kernel = 3×1 + 3×0 + 0×(−1) + 3×1 + 3×0 + 0×(−1) + 3×1 + 3×0 + 0×(−1) = 9 Output size = ⌊(n + 2p − k) / s⌋ + 1 height: ⌊(5 + 2·0 − 3) / 1⌋ + 1 = 3 · width: ⌊(5 + 2·0 − 3) / 1⌋ + 1 = 3 Y[r, c] = Σ X[r·s + i, c·s + j] · K[i, j] (cross-correlation: the kernel is not flipped) where n = input height or width (cells); p = zero padding added on each side; k = kernel height or width; s = stride (cells the window moves per step);⌊ ⌋ = round down; r, c = output row and column (from 0); i, j = kernel row and column
Input X 5×5 3 3 3 0 0 3 3 3 0 0 3 3 3 0 0 3 3 3 0 0 3 3 3 0 0 * Kernel K 3×3 1 0 −1 1 0 −1 1 0 −1 = Output Y 3×3 0 9 9 0 9 9 0 9 9 0 1 2 0 1 2 Y[0, 1] = Σ window × kernel = 3×1 + 3×0 + 0×(−1) + 3×1 + 3×0 + 0×(−1) + 3×1 + 3×0 + 0×(−1) = 9 Output size = ⌊(n + 2p − k) / s⌋ + 1 height: ⌊(5 + 2·0 − 3) / 1⌋ + 1 = 3 · width: ⌊(5 + 2·0 − 3) / 1⌋ + 1 = 3 Y[r, c] = Σ X[r·s + i, c·s + j] · K[i, j] (cross-correlation: the kernel is not flipped) where n = input height or width (cells); p = zero padding added on each side; k = kernel height or width; s = stride (cells the window moves per step);⌊ ⌋ = round down; r, c = output row and column (from 0); i, j = kernel row and column
Un noyau de détection de bords verticaux sur une image 5 × 5, stride 1, sans padding : sortie 3 × 3. Les 9 produits de la fenêtre surlignée sont détaillés ; la sortie est grande là où le côté gauche est plus clair que le côté droit

Extrait de la fiche « Convolutional Neural Networks » · Demander la fiche complète

Évolution des architectures

ArchitectureAnnéeInnovation cléErreur Top-5 (ImageNet)Params
LeNet-51998Premier CNN pratique—60K
AlexNet2012Entraînement GPU, ReLU, dropout15.3%61M
VGGNet2014Petits filtres 3x3, profondeur7.3%138M
GoogLeNet2014Modules Inception, convs 1x16.7%6.8M
ResNet2015Connexions résiduelles, 152 couches3.6%60M
DenseNet2017Connexions denses entre couches3.5%20M
EfficientNet2019Scaling composé (profondeur/largeur/résolution)2.9%66M
ConvNeXt2022ResNet modernisé avec astuces Transformer2.7%89M
tadata
LeNet-5 (LeCun et al.) conv-pool-conv-pool-dense on 32 × 32 digits, about 60 kparameters; read bank cheques AlexNet ReLU, dropout, 2 GPUs, 60 M parameters; ImageNet top-5error 15.3 % vs 26.2 % for the runner-up: the start ofthe deep-learning era VGG-16/19 only 3 × 3 convs stacked deep; 138 M parameters(VGG-16), simple and still used as a feature extractor GoogLeNet / Inception parallel 1 × 1, 3 × 3, 5 × 5 branches, 1 × 1bottlenecks, global average pooling ResNet residual connections (sheet 05), batch norm, 152 layers;ILSVRC 2015 winner MobileNet, DenseNet depthwise separable convs for phones; denseconcatenation of all earlier maps EfficientNet compound scaling of depth, width and resolution with onecoefficient, found by architecture search Vision Transformer patches + attention, no convolution(perception-and-generation folder) ConvNeXt a ResNet modernised with transformer recipes (7 × 7depthwise, LayerNorm, GELU, inverted bottleneck):matches Swin transformers 1998 2012 2014 2014 2015 2017 2019 2020 2022
LeNet-5 (LeCun et al.) conv-pool-conv-pool-dense on 32 × 32 digits, about 60 kparameters; read bank cheques AlexNet ReLU, dropout, 2 GPUs, 60 M parameters; ImageNet top-5error 15.3 % vs 26.2 % for the runner-up: the start ofthe deep-learning era VGG-16/19 only 3 × 3 convs stacked deep; 138 M parameters(VGG-16), simple and still used as a feature extractor GoogLeNet / Inception parallel 1 × 1, 3 × 3, 5 × 5 branches, 1 × 1bottlenecks, global average pooling ResNet residual connections (sheet 05), batch norm, 152 layers;ILSVRC 2015 winner MobileNet, DenseNet depthwise separable convs for phones; denseconcatenation of all earlier maps EfficientNet compound scaling of depth, width and resolution with onecoefficient, found by architecture search Vision Transformer patches + attention, no convolution(perception-and-generation folder) ConvNeXt a ResNet modernised with transformer recipes (7 × 7depthwise, LayerNorm, GELU, inverted bottleneck):matches Swin transformers 1998 2012 2014 2014 2015 2017 2019 2020 2022

Extrait de la fiche « Convolutional Neural Networks » · Demander la fiche complète

La révolution ResNet

Les connexions résiduelles de ResNet ont résolu le problème de dégradation — les réseaux plus profonds étaient plus difficiles à entraîner, non pas à cause de la disparition du gradient, mais parce qu'apprendre des applications identité est difficile pour des couches non linéaires empilées. La formulation résiduelle F(x)+x\mathcal{F}(x) + x fait de l'identité le comportement par défaut, laissant les couches supplémentaires n'apprendre que le résidu.

tadata
  • Entrée x
    • → Conv 3x3 → BN → ReLU
      • → Conv 3x3 → BN
        • → +
          • → ReLU
            • → Sortie : F(x) + x
    • skip / raccourci: + (see above)
Bloc résiduel
tadata
QuantityFormulaMeaning
Block outputy = x + F(x)the block learns a correction F to the identity
Local gradientpartial y / partial x = I + partial F / partial xthe identity term I passes the gradient through unchanged
Stack of L blocksx_L = x_0 + Σ_(l=0)^(L-1) F_l(x_l)every block writes into a shared 'residual stream'
Un bloc résiduel offre au gradient une autoroute identité

Extrait de la fiche « Initialisation, Normalisation and Residuals » · Demander la fiche complète

Techniques modernes

Convolutions séparables en profondeur (MobileNet) : décomposent une convolution standard en une convolution par canal (depthwise) et une convolution ponctuelle (1x1). Réduit le calcul d'environ 88-9×9\times avec une perte de précision minimale. Essentiel pour le déploiement mobile et edge.

Attention dans les CNN : les blocs Squeeze-and-Excitation (SE) recalibrent les réponses par canal. CBAM ajoute une attention spatiale. Ces mécanismes aident le réseau à se concentrer sur les features pertinentes.

Augmentation de données à grande échelle : RandAugment, CutMix, MixUp et AugMax sont devenus standards. Ils agissent comme des régulariseurs et peuvent améliorer la précision top-1 de 1 à 3% sans changement architectural.

Distillation de connaissances : entraîner un petit CNN « élève » à imiter la distribution de sortie d'un grand modèle « professeur ». Les cibles douces portent plus d'information que les labels durs, permettant des modèles compacts qui conservent l'essentiel de la performance du professeur.

CNN vs Vision Transformers

Les Vision Transformers (ViT) traitent les images comme des séquences de patches utilisant l'auto-attention. Ils surpassent les CNN sur les grands jeux de données mais nécessitent plus de données et de calcul. Le paysage en 2026 :

AspectCNNVision Transformers
Biais inductifÉquivariance par translation intégréeDoit apprendre la structure spatiale
Efficacité donnéesFort avec peu de donnéesNécessite grands datasets ou pré-entraînement
ScalabilitéPlafonne en profondeur extrêmeScale bien avec données et calcul
Vitesse d'inférenceRapide, optimisé matérielPlus lent (attention quadratique)
Déploiement edgeOutillage mature (TFLite, CoreML)En amélioration mais plus lourd
Meilleur usageMobile, temps réel, données limitéesGrande échelle, haute précision

La tendance est à la convergence : ConvNeXt apporte les principes de conception Transformer aux CNN, tandis que des modèles comme CoAtNet et EfficientFormer combinent les deux approches.

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.