Connectez-vous à YOLO Vision 2025 !
25 septembre 2025
10:00 — 18:00, heure d'été britannique
Événement hybride
Yolo Vision 2024
Glossaire

Normalisation par lots (Batch Normalization)

Améliorez les performances de l'apprentissage profond grâce à la normalisation par lots ! Découvrez comment cette technique améliore la vitesse d'entraînement, la stabilité et la précision des modèles d'IA.

La normalisation par lots, souvent abrégée en BatchNorm, est une technique utilisée dans les réseaux neuronaux profonds pour stabiliser et accélérer le processus d'entraînement. Introduite par Sergey Ioffe et Christian Szegedy dans leur article de 2015, elle fonctionne en normalisant les entrées de chaque couche pour chaque mini-lot de données. Cela a pour effet de réduire ce que l'on appelle le "déplacement interne des covariables", un phénomène où la distribution des entrées de chaque couche change pendant l'entraînement lorsque les paramètres des couches précédentes changent. En maintenant une distribution plus stable des entrées, la normalisation par lots permet un entraînement plus rapide et plus stable des réseaux profonds.

Comment fonctionne la normalisation par lots

Pendant le processus d'entraînement du modèle, les données sont transmises à travers le réseau en petits groupes appelés lots. Une couche de normalisation par lot (Batch Normalization), généralement insérée après une couche convolutionnelle ou entièrement connectée et avant la fonction d'activation, effectue deux étapes principales pour chaque lot :

  1. Normalisation : Elle calcule la moyenne et la variance des activations dans le lot actuel. Elle utilise ensuite ces statistiques pour normaliser les activations, en leur donnant une moyenne de zéro et une variance de un. Cette étape garantit que les entrées de la couche suivante sont sur une échelle cohérente.
  2. Mise à l'échelle et décalage : La normalisation des activations pourrait limiter la puissance expressive de la couche. Pour contrer cela, la couche introduit deux paramètres apprenables : un facteur d'échelle (gamma) et un facteur de décalage (bêta). Ces paramètres permettent au réseau d'apprendre l'échelle et la moyenne optimales pour les entrées de la couche suivante, annulant efficacement la normalisation si c'est ce que le réseau détermine être le mieux.

Pendant l'inférence, le modèle traite des exemples uniques au lieu de lots. Par conséquent, la moyenne et la variance spécifiques au lot ne sont pas disponibles. Au lieu de cela, le modèle utilise une moyenne et une variance agrégées calculées à partir de l'ensemble des données d'entraînement, qui sont calculées et stockées pendant la phase d'entraînement. Cela garantit que la sortie du modèle est déterministe et cohérente.

Avantages de la normalisation par lots

La mise en œuvre de la normalisation par lots dans un modèle d'apprentissage profond offre plusieurs avantages clés :

  • Entraînement plus rapide : en stabilisant les distributions d’entrée, BatchNorm permet d’utiliser un taux d’apprentissage beaucoup plus élevé, ce qui accélère considérablement la convergence du modèle.
  • Réduction du décalage interne de covariance : C'est le principal problème que la normalisation par lots (Batch Normalization) a été conçue pour résoudre. Elle atténue le problème où les changements dans les paramètres des couches précédentes entraînent un décalage de la distribution des entrées vers les couches suivantes, ce qui rend l'entraînement plus difficile.
  • Effet de régularisation : La normalisation par lots ajoute une petite quantité de bruit aux activations de chaque couche en raison des statistiques basées sur les lots. Ce bruit agit comme une forme de régularisation, ce qui peut aider à prévenir le surapprentissage et peut réduire le besoin d'autres techniques comme Dropout.
  • Réduction de la dépendance à l'initialisation : Cela rend le réseau moins sensible aux poids initiaux, ce qui rend le processus d'entraînement plus robuste.

Applications concrètes

La normalisation par lots (Batch Normalization) est un composant quasi omniprésent dans les modèles de vision artificielle modernes, y compris les architectures de pointe comme Ultralytics YOLO.

  • Classification d'images : Dans les modèles entraînés sur de grands ensembles de données comme ImageNet, la normalisation par lots est essentielle pour entraîner des réseaux très profonds, tels que ResNet, en évitant des problèmes tels que les gradients qui s'annulent. Cela permet une plus grande précision dans des tâches telles que la classification d'objets dans des photographies.
  • Analyse d'images médicales : Lors de l'entraînement de modèles pour la détection de tumeurs ou la segmentation d'organes à partir d'IRM ou de scanners, la normalisation par lots (Batch Normalization) garantit que les variations d'intensité d'image entre les différentes machines et les différents patients n'ont pas d'impact négatif sur l'entraînement. Cela conduit à des outils de diagnostic plus fiables et robustes pour l'IA dans le domaine de la santé.

Concepts connexes et distinctions

Il est important de différencier la normalisation par lots (Batch Normalization) des autres concepts connexes :

  • Normalisation des données : La normalisation des données générale est une étape de prétraitement appliquée aux données d'entrée avant le début de l'entraînement. En revanche, la normalisation par lots est un processus dynamique qui se produit à l'intérieur du réseau pendant l'entraînement, normalisant les activations entre les couches.
  • Autres couches de normalisation : D'autres techniques telles que la normalisation de couche, la normalisation d'instance et la normalisation de groupe existent. La principale différence réside dans la portée de la normalisation. Alors que BatchNorm normalise à travers la dimension du lot, Layer Normalization normalise à travers les caractéristiques d'un seul exemple d'entraînement, ce qui la rend indépendante de la taille du lot. Ces alternatives sont souvent utilisées dans des domaines comme le NLP ou lorsque de petites tailles de lots sont nécessaires.

Considérations et mises en œuvre

Un élément clé à prendre en compte pour la normalisation par lots est sa dépendance à la taille du mini-lot pendant l'entraînement. Les performances peuvent se dégrader si la taille du lot est trop petite (par exemple, 1 ou 2), car les statistiques du lot deviennent des estimations bruitées des statistiques de la population. Les frameworks de deep learning standard comme PyTorch (torch.nn.BatchNorm2d) et TensorFlow (tf.keras.layers.BatchNormalization) fournissent des implémentations robustes. Malgré les alternatives, la normalisation par lots reste une technique fondamentale pour l'entraînement efficace de nombreux modèles d'apprentissage profond modernes. Vous pouvez gérer et entraîner des modèles intégrant de telles techniques à l'aide de plateformes telles que Ultralytics HUB.

Rejoignez la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant
Lien copié dans le presse-papiers