Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Normalisation par lots (Batch Normalization)

Explore how [batch normalization](https://www.ultralytics.com/glossary/batch-normalization) stabilizes training, prevents vanishing gradients, and boosts accuracy for models like [YOLO26](https://docs.ultralytics.com/models/yolo26/).

La normalisation par lots, souvent appelée BatchNorm, est une technique utilisée dans l' apprentissage profond (DL) pour stabiliser et accélérer l' entraînement des réseaux neuronaux artificiels. Introduite pour résoudre le problème du décalage interne des covariables, où la distribution des entrées vers une couche change continuellement à mesure que les paramètres des couches précédentes sont mis à jour, BatchNorm normalise les entrées vers une couche pour chaque mini-lot. En normalisant les entrées de la couche pour qu'elles aient une moyenne de zéro et un écart type de un, puis en les mettant à l'échelle et en les décalant à l'aide de paramètres apprenables, cette méthode permet aux réseaux d'utiliser des taux d'apprentissage plus élevés et réduit la sensibilité à l' initialisation.

Comment fonctionne la normalisation par lots

Dans un réseau neuronal convolutif (CNN) standard, les données circulent à travers des couches où chaque couche effectue une transformation. Sans normalisation, l'échelle des valeurs de sortie peut varier considérablement, ce qui rend difficile pour l' algorithme d'optimisation de trouver les meilleurs poids. La normalisation par lots est généralement appliquée juste avant la fonction d'activation (comme ReLU ou SiLU).

Le processus comprend deux étapes principales pendant la formation :

  1. Normalisation : la couche calcule la moyenne et la variance des activations dans la taille du lot actuel. Elle soustrait ensuite la moyenne du lot et divise par l'écart type du lot.
  2. Mise à l'échelle et décalage : Afin de garantir que le réseau puisse toujours représenter des fonctions complexes, deux paramètres apprenables (gamma et beta) sont introduits. Ceux-ci permettent au réseau d'annuler la normalisation si la distribution optimale des données n'est pas une distribution normale standard.

Ce mécanisme agit comme une forme de régularisation, réduisant légèrement le besoin d'autres techniques telles que les couches de dropout en ajoutant une petite quantité de bruit aux activations pendant l'entraînement.

Principaux avantages de la formation en IA

L'intégration de la normalisation par lots dans des architectures telles que ResNet ou les détecteurs d'objets modernes offre plusieurs avantages distincts :

  • Faster Convergence: Models train significantly faster because the normalization prevents gradients from becoming too small or too large, effectively combating the vanishing gradient problem.
  • Stabilité : cela rend le réseau moins sensible au choix spécifique des poids initiaux et au réglage des hyperparamètres, ce qui rend le processus d'entraînement du modèle plus robuste.
  • Généralisation améliorée : en lissant le paysage d'optimisation, BatchNorm aide le modèle à mieux généraliser aux données de test non vues.

Applications concrètes

La normalisation par lots est un élément incontournable de presque tous les systèmes modernes de vision par ordinateur (CV).

  1. Conduite autonome : dans les systèmes de voitures autonomes, des modèles tels que Ultralytics traitent des images vidéo afin de detect les piétons, les véhicules et les panneaux de signalisation. BatchNorm garantit que les couches de détection d'objets restent stables, indépendamment des changements d'intensité lumineuse ou des conditions météorologiques, en maintenant une précision moyenne élevée (mAP).
  2. Imagerie médicale : lors de la détection de tumeurs en imagerie médicale, les données de scan peuvent varier considérablement d'un appareil IRM ou CT à l'autre. BatchNorm aide à normaliser ces caractéristiques en interne, permettant à l'IA de se concentrer sur les anomalies structurelles plutôt que sur les différences d'intensité des pixels, améliorant ainsi la précision des diagnostics dans les solutions d'IA pour les soins de santé.

Normalisation par lots vs normalisation des données

Il est utile de distinguer la normalisation par lots de la normalisation standard des données.

  • La normalisation des données est une étape de prétraitement appliquée à l'ensemble de données brutes (par exemple, redimensionnement des images et mise à l'échelle des valeurs de pixels de 0 à 1) avant le début de l'entraînement. Des outils tels que Albumentations sont souvent utilisés à ce stade.
  • La normalisation par lots s'effectue à l'intérieur des couches du réseau neuronal pendant le processus d'apprentissage lui-même. Elle ajuste dynamiquement les valeurs internes du réseau à mesure que les données le traversent.

Exemple de mise en œuvre

Les frameworks d'apprentissage profond tels que PyTorch comprennent des implémentations optimisées de la normalisation par lots. Dans lesYOLO Ultralytics , ces couches sont automatiquement intégrées aux blocs de convolution.

Le texte suivant Python L'extrait de code montre comment inspecter un modèle pour voir où BatchNorm2d les couches sont situées au sein de l'architecture.

from ultralytics import YOLO

# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")

# Print the model structure to view layers
# You will see 'BatchNorm2d' listed after 'Conv2d' layers
print(model.model)

Comprendre comment ces couches interagissent aide les développeurs lorsqu'ils utilisent Ultralytics pour affiner les modèles sur des ensembles de données personnalisés, garantissant ainsi que l'entraînement reste stable même avec des données limitées.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant