Rapport: Réseaux de Neurones Convolutifs
Rapport: Réseaux de Neurones Convolutifs
RAPPORT
Réseaux de Neurones Convolutifs
Convolutional Neural Networks (CNN)
Un CNN est constitué d'une succession de couches spécialisées : des couches de convolution qui extraient
des caractéristiques hiérarchiques, des couches de pooling qui réduisent la dimensionnalité, et des couches
entièrement connectées (Dense) qui réalisent la classification ou la régression finale. Contrairement aux
réseaux ANN classiques (MLP), les CNN exploitent la structure spatiale des données en imposant la
connectivité locale et le partage des poids.
Définition Formelle
Un réseau de neurones convolutif (CNN) est une architecture de réseau profond spécialisée dans
le traitement de données à structure spatiale (grilles, séquences). Il repose sur trois principes :
• Connectivité locale : chaque neurone n'est connecté qu'à une région limitée (champ récepteur).
• Partage des poids : un même filtre est appliqué sur toute l'entrée, réduisant massivement le nombre
de paramètres.
• Invariance à la translation : détection des motifs indépendamment de leur position.
Les CNN trouvent leur origine dans les travaux de Fukushima (1980) sur le Neocognitron et ont été
popularisés par LeCun et al. (1989, 1998) avec l'application à la reconnaissance de caractères manuscrits
(LeNet). La révolution du deep learning de 2012, avec AlexNet (Krizhevsky et al., 2012), a démontré la
supériorité des CNN sur les méthodes classiques pour la vision par ordinateur, ouvrant la voie à leur
adoption massive dans de nombreux domaines.
Ce rapport présente les fondements théoriques des CNN, leur architecture, leurs mécanismes
d'apprentissage, les grandes architectures de référence, et leurs applications dans des domaines variés
incluant la vision par ordinateur, le traitement du signal et le TALN.
1959–68 Hubel & Wiesel : découverte des cellules simples et complexes dans le cortex visuel — Prix Nobel
1981
1980 Fukushima : Neocognitron — premier réseau convolutif inspiré du cortex visuel, sans apprentissage
supervisé
1989 LeCun et al. : application de la rétropropagation aux CNN pour la reconnaissance de chiffres
manuscrits (USPS)
1998 LeCun et al. : LeNet-5 — architecture CNN complète appliquée à la lecture de chèques bancaires
(MNIST)
2003 Simard et al. : best practices pour les CNN appliqués aux documents
2012 Krizhevsky, Sutskever & Hinton : AlexNet — erreur top-5 de 15,3% sur ImageNet, révolution du deep
learning
2014 Simonyan & Zisserman : VGGNet — profondeur avec petits filtres 3×3 systématiques
2014 Szegedy et al. : GoogLeNet / Inception — module Inception pour la profondeur et la largeur
simultanées
2015 He et al. : ResNet — connexions résiduelles permettant des réseaux de 152 couches (erreur top-5 :
3,57%)
2017 Huang et al. : DenseNet — connexions denses entre toutes les couches
2019 Tan & Le : EfficientNet — mise à l'échelle composée (largeur, profondeur, résolution)
2020 Dosovitskiy et al. : Vision Transformer (ViT) — attention sur des patches d'images
• Couche d'entrée (Input Layer) : Reçoit les données brutes sous forme de tenseur. Pour une image
couleur, l'entrée est de dimension [H × W × C] où H est la hauteur, W la largeur, et C le nombre de
canaux (3 pour RGB). Aucune transformation n'est appliquée.
• Couches de convolution (Conv Layers) : Couches fondamentales du CNN. Chaque couche applique un
ensemble de filtres apprenables sur l'entrée pour produire des cartes d'activation (feature maps).
Détectent des motifs locaux : bords, textures, formes.
• Couches de normalisation (BN) : Normalisent les activations pour stabiliser et accélérer l'entraînement.
La Batch Normalization (Ioffe & Szegedy, 2015) est désormais standard après les couches convolutives.
• Couches de pooling (Pooling Layers) : Réduisent la dimensionnalité spatiale des feature maps,
introduisant une invariance locale à la translation et réduisant le coût computationnel.
• Couche d'aplatissement (Flatten) : Convertit les feature maps 3D en vecteur 1D pour l'entrée dans les
couches Dense.
• Couches entièrement connectées (Dense Layers) : Réalisent la classification ou la régression finale à
partir des caractéristiques extraites par les couches convolutives.
• Couche de sortie (Output Layer) : Softmax pour la classification multi-classes, Sigmoid pour la
classification binaire, linéaire pour la régression.
Convolution standard Chaque filtre couvre toute la profondeur de l'entrée. Type le plus courant
pour la vision.
Convolution dépthwise Un filtre distinct par canal d'entrée. Utilisé dans MobileNet pour l'efficacité
computationnelle.
Convolution séparable en profondeur Convolution dépthwise suivie d'une convolution 1×1 pointwise. Réduit
massivamente les paramètres.
Convolution dilatée (atrous) Introduit des espaces entre les éléments du filtre. Augmente le champ
récepteur sans paramètres supplémentaires.
Convolution transposée Inverse de la convolution standard. Utilisée pour l'upsampling dans les
réseaux génératifs et segmentation.
Connexion résiduelle Raccourci entre couches non adjacentes. Fondamentale dans ResNet pour
l'entraînement de réseaux très profonds.
Paramètres :
I / X_c : entrée / canal c de l'entrée
K : filtre (kernel) appris — K_n ∈ R^(kH × kW × C)
b : biais du filtre
S : stride (pas de déplacement du filtre)
f : fonction d'activation (typiquement ReLU)
Nombre de filtres N Nombre de feature maps produites. Détermine la richesse des représentations. Valeurs
typiques : 32, 64, 128, 256, 512.
Taille du filtre (kH × kW) Champ récepteur local. 3×3 est le standard (VGG, ResNet). 5×5 et 7×7 pour plus de
contexte. 1×1 pour les transformations de canaux.
Stride S Pas de déplacement du filtre. S=1 : sortie ≈ entrée. S=2 : réduit la résolution de moitié
(alternative au pooling).
Padding P Ajout de zéros sur les bords. SAME padding (P=kH/2) : préserve la taille spatiale. VALID
padding (P=0) : réduit la taille.
Dilatation D Espacement entre les éléments du filtre. Augmente le champ récepteur effectif sans
paramètres supplémentaires. Utile en segmentation.
Max Pooling y(i,j) = max{x(i·S+m, j·S+n) | 0≤m,n<k}. Sélectionne la valeur maximale dans chaque
fenêtre. Invariance locale, préserve les motifs les plus forts. Standard actuel.
Average Pooling y(i,j) = (1/k²) Σ x(i·S+m, j·S+n). Moyenne sur la fenêtre. Moins agressif que Max. Utilisé
en Global Average Pooling (GAP) avant la couche Dense.
Global Average Pooling (GAP) Réduit chaque feature map à un scalaire (moyenne globale). Remplace les couches
Dense dans GoogLeNet, ResNet. Réduit fortement l'overfitting.
Adaptive Pooling Produce une sortie de taille fixe quelle que soit la taille d'entrée. Utile pour des entrées
de tailles variables (PyTorch AdaptiveAvgPool2d).
L2 Pooling y(i,j) = sqrt(Σ x²(i·S+m, j·S+n)). Norme L2 sur la fenêtre. Moins courant, utilisé dans
certaines architectures de reconnaissance.
Layer Normalization (LN) Normalise sur les features d'un exemple unique. Utilisée dans les Transformers.
Indépendante de la taille du batch.
Instance Normalization Normalise chaque feature map séparément. Utilisée dans le style transfer et les
réseaux génératifs.
Group Normalization Divise les canaux en groupes et normalise par groupe. Robuste aux petits batch
sizes. Utile en détection d'objets.
Local Response Normalization Normalisation entre canaux adjacents. Utilisée dans AlexNet, basée sur
(LRN) l'inhibition latérale biologique. Moins utilisée actuellement.
Entrée X (6×6) :
[[1,0,2,3,0,1], [0,1,1,0,2,1], ...]
1. Forward Pass L'image traverse le réseau couche par couche. Toutes les valeurs intermédiaires (Z^(l), X^(l))
sont stockées en mémoire pour le backward pass.
2. Calcul de la perte La fonction de coût L(ŷ, y) mesure l'écart entre la prédiction et la vérité. Pour la classification :
entropie croisée. Pour la détection : combinaison de termes de localisation et de classification.
3. Backward Pass Le gradient de L est calculé par rapport à chaque filtre W^(l) et biais b^(l). La rétropropagation
dans une couche de convolution nécessite une convolution transposée pour propager le
gradient.
4. Mise à jour Les paramètres (filtres, biais) sont mis à jour par descente de gradient : W ← W - η · ∂L/∂W. En
pratique, on utilise Adam, SGD+Momentum ou RMSprop.
Entropie Croisée Catégorielle L = -Σ y_i · log(ŷ_i). Classification multi-classes (sortie Softmax). Standard pour
ImageNet, CIFAR.
Smooth L1 (Huber) L1 pour grandes erreurs, L2 pour petites. Utilisée dans Faster R-CNN pour la
régression des bounding boxes.
Focal Loss L = -α(1-p_t)^γ log(p_t). Corrige le déséquilibre de classes (Lin et al., 2017).
Standard en détection d'objets (RetinaNet).
IoU / GIoU Loss Mesure le chevauchement entre boîtes prédites et réelles. Directement
différentiable pour l'entraînement des détecteurs.
Top-1 Accuracy Proportion d'images correctement classées (classe prédite = vraie classe).
Standard ImageNet.
Top-5 Accuracy Proportion d'images où la vraie classe est dans les 5 premières prédictions.
Utilisée pour ImageNet.
mAP (mean Average Precision) Moyenne des AP sur toutes les classes. Standard en détection d'objets (COCO,
Pascal VOC).
IoU (Intersection over Union) IoU = |A∩B| / |A∪B|. Évalue la qualité des bounding boxes. Seuil typique : 0.5
(IoU@0.5).
mIoU (mean IoU) Moyenne des IoU sur toutes les classes. Standard en segmentation sémantique.
FID (Fréchet Inception Distance) Mesure la qualité des images générées (GAN, VAE) par rapport aux images
réelles.
9. Algorithmes d'Optimisation
SGD + Momentum v ← μ·v - η·∇L(w) ; w ← w + v. Accumule l'historique des gradients. μ typiquement 0.9.
Accélère la convergence.
SGD + Nesterov Calcul du gradient à la position anticipée. Légère amélioration sur Momentum
classique. Préféré par certains auteurs.
Mini-Batch SGD Mise à jour sur des sous-ensembles de 32 à 256 images. Standard en vision par
ordinateur.
Adam Combine Momentum + RMSprop + correction Converge rapidement. Peut généraliser moins bien
du biais. m_t = β₁m_{t-1} + (1-β₁)g_t ; v_t = que SGD sur ImageNet.
β₂v_{t-1} + (1-β₂)g²_t
AdamW Adam + weight decay découplé. L'application Meilleure généralisation. Utilisé pour fine-tuning de
directe de L2 dans Adam est incorrecte — ViT, EfficientNet.
AdamW le corrige.
RMSprop Moyenne mobile du carré des gradients. w ← Bon pour les réseaux récurrents intégrés aux CNN.
w - η·g/sqrt(E[g²]+ε) Stable.
Lion Optimiseur récent (Chen et al., 2023). Utilise Efficace sur les grands modèles de vision. En cours
seulement le signe du gradient. Mémoire d'adoption.
réduite.
LARS / LAMB Adaptent le taux d'apprentissage par couche Permettent d'utiliser batch size 32 000+ pour
selon la norme des paramètres. Conçus pour ResNet. Utilisés à grande échelle.
les très grands batch sizes.
• Warm-up cosine decay : augmentation linéaire initiale puis décroissance cosinus. Standard ResNet, ViT.
• Step decay : réduction par facteur 0.1 à des époques prédéfinies (ex : 30, 60, 90 pour ImageNet).
• One-cycle policy (Smith, 2018) : montée puis descente cyclique. Bonne généralisation rapide.
• Linear scaling rule (Goyal et al., 2017) : η ∝ batch_size. Permet le passage à l'échelle distribué.
L2 Regularization (Weight Decay) L_reg = L + λ/2 · Σ||W||². Pénalise les grands poids. Avec SGD, revient à une
décroissance multiplicative : W ← (1-ηλ)W - η∇L.
Dropout (Srivastava et al., 2014) Désactive aléatoirement une fraction p des neurones. En CNN, le Spatial Dropout
désactive des canaux entiers (plus efficace que le dropout neurone par neurone
pour les feature maps).
Label Smoothing (Szegedy et al., Cibles lissées : y_ls = (1-ε)·y + ε/K. ε typiquement 0.1. Réduit la sur-confiance du
2016) modèle. Améliore la calibration.
Stochastic Depth (Huang et al., Désactive aléatoirement des couches entières pendant l'entraînement. Réduit
2016) l'overfitting et accélère l'entraînement des réseaux très profonds.
DropBlock (Ghiasi et al., 2018) Supprime des blocs contigus de feature maps. Plus efficace que Dropout standard
pour les CNN car les activations sont corrélées spatialement.
MixUp (Zhang et al., 2018) x̃ = λ·x_i + (1-λ)·x_j ; ỹ = λ·y_i + (1-λ)·y_j. Mélange linéaire d'images et étiquettes.
CutMix (Yun et al., 2019) Remplace une région rectangulaire d'une image par la région correspondante
d'une autre image. Étiquettes mixées proportionnellement à la surface.
AutoAugment (Cubuk et al., 2019) Recherche automatique de politiques d'augmentation optimales via
apprentissage par renforcement.
RandAugment (Cubuk et al., 2020) Sélection aléatoire parmi N transformations avec magnitude M. Simplifie
AutoAugment, performances comparables.
Initialisation à Zéro W = 0. INTERDIT : tous les filtres apprennent la même chose. Symétrie parfaite non
brisée.
He / Kaiming (2015) W ~ N(0, 2/n_in). Standard pour ReLU dans les CNN. Compense le facteur 1/2 dû à
ReLU.
MSRA (He et al., 2015) Variante He pour les couches convolutives : σ² = 2 / (kH · kW · C_in). Standard ResNet.
Orthogonale W initialisée comme matrice orthogonale. Préserve les normes. Utile pour les CNN
récurrents (ConvLSTM).
• Feature extraction : geler toutes les couches convolutives, réentraîner uniquement le classificateur.
• Fine-tuning partiel : dégeler les N dernières couches convolutives. LR réduit (η/10 à η/100).
• Fine-tuning complet : décharger tous les poids avec un très faible LR. Pour grands datasets cibles.
• Linear probing : n'entraîner qu'une couche linéaire sur les features gelées. Standard pour évaluation.
AlexNet 2012 ReLU, Dropout, Data Augmentation, GPU training, LRN. 15.3%
Révolutionne la vision par ordinateur.
VGGNet-16/19 2014 Profondeur avec petits filtres 3×3 systématiques. Montre 7.3%
que la profondeur est clé.
DenseNet-121 2017 Connexions denses (chaque couche reçoit les feature ~5%
maps de toutes les couches précédentes).
ConvNeXt 2022 CNN pur modernisé avec les principes des Transformers ~2%
(Liu et al., 2022). Compétitif avec ViT.
1. Préparation du Organisation des données (classes/dossiers ou CSV/JSON), analyse de la distribution des classes,
dataset vérification de la qualité des images (résolution, corruption).
3. Choix de Transfer learning depuis ImageNet fortement recommandé. Choisir selon la taille du dataset et les
l'architecture contraintes de déploiement (EfficientNet, ResNet, MobileNet).
4. Réglage des LR : 1e-3 (Adam) ou 1e-1 (SGD+momentum). Batch : 32–256. Epochs : 50–200 avec early stopping.
hyperparamètres Dropout 0.2–0.5.
5. Entraînement Monitorer les courbes loss/accuracy train et validation. Utiliser TensorBoard ou W&B.
Sauvegarder les meilleurs checkpoints.
6. Diagnostic Analyser la matrice de confusion. Inspecter les erreurs. Visualiser les Grad-CAM pour
l'interprétabilité.
7. Déploiement Conversion en ONNX, TorchScript ou TFLite. Quantification int8 pour edge. Serveur TF Serving,
TorchServe ou Triton Inference Server.
Loss train faible, val. élevée Overfitting Data augmentation plus forte, Dropout, L2,
réduire la complexité
Loss train et val. élevées Underfitting Modèle plus profond, transfer learning, plus
d'époques
Loss ne diminue pas LR trop petit ou initialisation Augmenter LR, utiliser He init., vérifier BN
mauvaise
Loss explose LR trop grand ou gradient explosif Réduire LR, gradient clipping, vérifier les
données
Convergence lente LR trop petit ou mauvais Warm-up cosine, AdamW, batch norm
optimiseur
NaN dans les activations Gradient explosif sévère LR très bas, gradient clipping, vérifier les
données d'entrée
Classification ImageNet — 1000 classes, 1.2M images EfficientNet-B7 : Top-1 84.3% ; ViT-L : 85.2%
Détection d'objets COCO Detection — 80 classes, bounding YOLO v8 : mAP@50 53.9% en temps réel
boxes
Segmentation Segmentation IRM, CT scan, histologie U-Net et variantes : IoU > 90% sur organes
médicale
Estimation de Profondeur monoculaire depuis une seule MiDaS, DPT : δ₁ accuracy > 90%
profondeur image
Vision industrielle Contrôle qualité — défauts de surface Précision > 99% sur défauts visuels
Médecine Détection de cancers, pathologies oculaires AUC > 0.97 sur rétinopathie diabétique
TALN (NLP) Classification de textes, sentiment CNN 1D sur embeddings de mots (Kim, 2014)
analysis
Audio / Parole Reconnaissance vocale, classification CNN sur spectrogrammes mel (MelSpec + ResNet)
audio
Finance Détection de fraude sur données CNN 1D sur séries temporelles de transactions
séquentielles
import tensorflow as tf
from tensorflow import keras
from [Link] import layers
# 1. Chargement et prétraitement
(X_train, y_train), (X_test, y_test) = [Link].cifar10.load_data()
X_train = X_train.astype('float32') / 255.0
X_test = X_test.astype('float32') / 255.0
# Normalisation ImageNet standard
mean = [0.4914, 0.4822, 0.4465]; std = [0.2023, 0.1994, 0.2010]
# 2. Pipeline d'augmentation
data_aug = [Link]([
[Link]('horizontal'),
[Link](32, 32, padding=4),
[Link](0.1),
])
# 3. Architecture CNN
def residual_block(x, filters, stride=1):
shortcut = x
x = layers.Conv2D(filters, 3, stride, padding='same', use_bias=False)(x)
x = [Link]()(x)
x = [Link]()(x)
x = layers.Conv2D(filters, 3, 1, padding='same', use_bias=False)(x)
x = [Link]()(x)
if stride != 1:
shortcut = layers.Conv2D(filters, 1, stride, use_bias=False)(shortcut)
shortcut = [Link]()(shortcut)
return [Link]()([x, shortcut])
# 4. Compilation et entraînement
[Link](
optimizer=[Link](learning_rate=0.1, momentum=0.9, weight_decay=1e-4),
loss='sparse_categorical_crossentropy', metrics=['accuracy']
)
callbacks = [
[Link](initial_lr=0.1, first_decay_steps=50),
[Link](patience=10, restore_best_weights=True)
]
history = [Link](X_train, y_train, epochs=200, batch_size=128,
validation_split=0.1, callbacks=callbacks)
Architecture résiduelle Blocs résiduels : évitent la dégradation avec la profondeur. Optimal pour
CIFAR-10.
Global Average Pooling Remplace les couches Dense après convolutions. Réduit les paramètres et
l'overfitting.
SGD + Momentum 0.9 Meilleure généralisation finale que Adam pour les CNN sur vision. LR initial
0.1.
Weight Decay 1e-4 Régularisation L2 découplée. Standard pour les CNN de vision par
ordinateur.
Dropout 0.3 avant Dense Régularisation légère avant la classification finale. Pas de Dropout dans les
couches conv.
BatchNorm partout Après chaque Conv, avant ReLU. Stabilise l'entraînement, permet LR élevé.
CNN + Transformers hybrides Combiner la localité des CNN avec l'attention globale des Transformers
(ConvNeXt, SwinTransformer, MaxViT).
Auto-supervision (SSL) Apprendre des représentations visuelles sans labels : DINO, SimCLR, MAE
(Masked AutoEncoder). Performances proches du supervisé.
Efficacité computationnelle Pruning, quantification (int8, int4), Neural Architecture Search (NAS), knowledge
distillation.
Robustesse aux attaques Adversarial training certifié, purification par diffusion, représentations
invariantes.
IA Explicable (XAI) Grad-CAM++, LIME, SHAP, concept-based explanations (TCAV). Vers des CNN
interpretables by design.
Apprentissage continuel Permettre aux CNN d'apprendre de nouvelles classes sans oublier les anciennes
(catastrophic forgetting).
17. Conclusion
Les réseaux de neurones convolutifs (CNN) représentent l'une des contributions les plus profondes et
durables du deep learning à l'intelligence artificielle. Nés de l'intuition biologique du cortex visuel et
formalisés par les travaux de LeCun, ils ont révolutionné la vision par ordinateur à partir de 2012 avec
AlexNet, et se sont depuis imposés comme la référence pour tout traitement de données à structure
spatiale.
Au fil de ce rapport, nous avons exploré les fondements mathématiques de la convolution et son
implémentation efficace en tenseurs, la richesse architecturale des CNN modernes (ResNet, EfficientNet,
ConvNeXt), les mécanismes d'apprentissage par rétropropagation adaptés aux couches convolutives, et les
techniques de régularisation et d'optimisation essentielles à la généralisation.
Les CNN ont démontré leur efficacité dans un spectre d'applications remarquablement large : classification
d'images, détection d'objets, segmentation, diagnostic médical, reconnaissance vocale via
spectrogrammes, bioinformatique et au-delà. Leur inductive bias spatial — connectivité locale, partage des
poids, invariance à la translation — les rend particulièrement efficaces pour les données structurées
spatialement.
Malgré leurs succès, les CNN font face à des défis persistants : vulnérabilité aux exemples adversariaux,
coût computationnel élevé, besoin de grandes quantités de données annotées, et manque
d'interprétabilité. L'émergence des Vision Transformers (ViT) et des architectures hybrides CNN-
Transformer représente la prochaine étape, combinant les forces des deux paradigmes.
Synthèse Finale
• Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning. MIT Press. ISBN: 978-0-262-03561-3.
Chapitres 9 (Réseaux Convolutifs) et 11 (Applications pratiques).
• LeCun, Y., Bengio, Y. & Hinton, G.E. (2015). Deep Learning. Nature, 521, 436–444.
doi:10.1038/nature14539.
• Chollet, F. (2021). Deep Learning with Python, 2nd Edition. Manning Publications. ISBN: 978-
1617296864.
• Geron, A. (2022). Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow, 3rd Edition.
O'Reilly. ISBN: 978-1098125974.
Articles Scientifiques Fondateurs — CNN
• Hubel, D.H. & Wiesel, T.N. (1962). Receptive Fields, Binocular Interaction and Functional Architecture in
the Cat's Visual Cortex. Journal of Physiology, 160(1), 106–154.
• Fukushima, K. (1980). Neocognitron: A Self-organizing Neural Network Model for a Mechanism of
Pattern Recognition Unaffected by Shift in Position. Biological Cybernetics, 36(4), 193–202.
• LeCun, Y., Bottou, L., Bengio, Y. & Haffner, P. (1998). Gradient-Based Learning Applied to Document
Recognition. Proceedings of the IEEE, 86(11), 2278–2324.
• Krizhevsky, A., Sutskever, I. & Hinton, G.E. (2012). ImageNet Classification with Deep Convolutional
Neural Networks. NIPS 2012. Advances in Neural Information Processing Systems, 25.
• Simonyan, K. & Zisserman, A. (2014). Very Deep Convolutional Networks for Large-Scale Image
Recognition. ICLR 2015. arXiv:1409.1556.
• Szegedy, C. et al. (2015). Going Deeper with Convolutions (GoogLeNet/Inception V1). CVPR 2015.
• He, K., Zhang, X., Ren, S. & Sun, J. (2016). Deep Residual Learning for Image Recognition. CVPR 2016.
arXiv:1512.03385.
• Huang, G. et al. (2017). Densely Connected Convolutional Networks. CVPR 2017. arXiv:1608.06993.
• Howard, A.G. et al. (2017). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision
Applications. arXiv:1704.04861.
• Tan, M. & Le, Q. (2019). EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. ICML
2019. arXiv:1905.11946.
• Liu, Z. et al. (2022). A ConvNet for the 2020s (ConvNeXt). CVPR 2022. arXiv:2201.03545.
Articles Scientifiques — Techniques de Base
• Ioffe, S. & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing
Internal Covariate Shift. ICML 2015. arXiv:1502.03167.
• Srivastava, N. et al. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal
of Machine Learning Research, 15(1), 1929–1958.
• Kingma, D.P. & Ba, J. (2015). Adam: A Method for Stochastic Optimization. ICLR 2015. arXiv:1412.6980.
• He, K. et al. (2015). Delving Deep into Rectifiers (He Initialization). ICCV 2015. arXiv:1502.01852.
• Lin, T.Y. et al. (2017). Focal Loss for Dense Object Detection (RetinaNet). ICCV 2017. arXiv:1708.02002.
• Selvaraju, R.R. et al. (2017). Grad-CAM: Visual Explanations from Deep Networks. ICCV 2017.
• Yun, S. et al. (2019). CutMix: Training Strategy that Makes Strong Classifiers with Localizable Features.
ICCV 2019. arXiv:1905.04899.
Ressources Pédagogiques et Outils
• CS231n — Convolutional Neural Networks for Visual Recognition, Stanford University. Andrej Karpathy,
Fei-Fei Li. Disponible : [Link]
• Practical Deep Learning for Coders — [Link]. Jeremy Howard & Rachel Thomas. Disponible :
[Link]
• TensorFlow Documentation & Tutorials. Disponible : [Link] — Guide officiel, Keras API, tutoriels
CNN.
• PyTorch Tutorials & torchvision. Disponible : [Link]/tutorials — Transfer learning, fine-tuning,
modèles pré-entraînés.
• Papers With Code — Image Classification on ImageNet. Disponible : [Link]/sota — Suivi
des SOTA.
• Hugging Face timm (PyTorch Image Models). Disponible : [Link]/huggingface/pytorch-image-
models — 700+ architectures CNN pré-entraînées.