Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
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, fréquemment abrégée en BatchNorm, est une technique fondamentale de l'apprentissage profond (DL) conçue pour augmenter la qualité des données. l'apprentissage profond (DL) conçue pour augmenter la stabilité et la rapidité de la formation réseaux neuronaux profonds. Introduite dans un article de recherche de recherche de Sergey Ioffe et Christian Szegedy, cette méthode relève le défi de la "covariation interne". Cette méthode s'attaque au problème du "changement de covariable interne", un phénomène où la distribution des entrées dans une couche du réseau change continuellement à mesure que les paramètres de la couche précédente sont modifiés par le changement de covariable interne. couche du réseau change continuellement au fur et à mesure que les paramètres des couches précédentes sont mis à jour. En normalisant les entrées pour chaque couche dans un mini-lot, BatchNorm permet aux modèles d'utiliser des taux d'apprentissage plus élevés et réduit considérablement le temps d'apprentissage. d'apprentissage plus élevés et réduit considérablement la sensibilité aux poids initiaux des paramètres.

Fonctionnement de la normalisation des lots

Dans un réseau neuronal Dans un réseau neuronal convolutif (CNN) typique, une couche de normalisation par lots est insérée immédiatement après une couche convolutive ou entièrement connectée et avant la fonction d'activation non linéaire (telle que ReLU ou ReLU). fonction d'activation non linéaire (telle que ReLU ou SiLU). Le processus comprend deux étapes principales réalisées au cours de la phase d'apprentissage du modèle phase d'apprentissage du modèle:

  1. Normalisation: La couche calcule la moyenne et la variance des activations dans le lot actuel. taille du lot. Elle soustrait ensuite la moyenne du lot et divise par l'écart type du lot, normalisant ainsi les entrées pour qu'elles aient une moyenne nulle et une variance unitaire.
  2. Mise à l'échelle et déplacement: Pour éviter que la normalisation ne limite le pouvoir d'expression du réseau, la couche introduit deux paramètres pouvant être appris : un facteur d'échelle (gamma) et un facteur de décalage (bêta). Ces paramètres permettent au réseau réseau de rétablir la transformation d'identité si elle est optimale, ce qui garantit que les poids du modèle peuvent toujours représenter des caractéristiques complexes. les poids du modèle peuvent toujours représenter des caractéristiques complexes.

Lors de l'inférence, l'utilisation de statistiques par lots n'est pas pratique parce que les prédictions sont souvent faites sur des éléments uniques. Au lieu de cela, le modèle utilise une moyenne mobile de la moyenne et de la variance accumulées pendant la formation pour normaliser les entrées de manière déterministe.

Principaux avantages de l'apprentissage profond

L'intégration de la normalisation par lots dans la conception de l'architecture offre plusieurs avantages distincts qui en ont fait une norme dans l'IA moderne. une norme dans l'IA moderne :

  • Convergence accélérée: En stabilisant la distribution des entrées des couches, BatchNorm lisse le paysage de l'optimisation. d'optimisation. Cela permet à l'algorithme l'algorithme de descente de gradient de converger plus converger plus rapidement, réduisant ainsi le temps total de formation.
  • Atténuation des gradients qui s'évanouissent: Dans les réseaux très profonds, les gradients peuvent devenir insignifiants, ce qui interrompt l'apprentissage. insignifiants, ce qui interrompt l'apprentissage. BatchNorm permet de maintenir les activations dans une région non saturée, ce qui permet de lutter efficacement contre le problème du gradient de fuite commun aux réseaux sigmoïdes. problème de gradient qui s'évanouit, commun aux architectures sigmoïdes ou les architectures basées sur le tanh.
  • Effet de régularisation: Le bruit introduit par l'estimation des statistiques sur les mini-lots agit comme une forme légère de régularisation. forme légère de régularisation. Cela peut réduire l'overfitting et, dans certains cas, réduire le recours à d'autres techniques d'autres techniques telles que les couches Dropout.

Applications concrètes

La normalisation par lots est omniprésente dans les domaines suivants vision artificielle (CV) et au-delà, permettant la performance des modèles de pointe. performance des modèles de pointe.

  • Détection avancée d'objets: Les architectures modernes telles que Ultralytics YOLO11 s'appuient fortement sur les couches BatchNorm. Dans ces Dans ces modèles, la normalisation garantit que les caractéristiques détectées à différentes échelles (telles que les bords ou les textures) restent cohérentes malgré les variations du contraste ou de l'éclairage de l'image. restent cohérentes malgré les variations de contraste ou d'éclairage de l'image. précision dans des environnements diversifiés.
  • Analyse d'images médicales: Dans des domaines tels que l l 'IA dans les soins de santé, les modèles d'analyse des tomodensitogrammes ou des IRM doivent traiter des données provenant de différentes machines avec des plages d'intensité variables. BatchNorm aide les réseaux neuronaux à se généraliser dans ces domaines, ce qui permet de prendre en charge des tâches essentielles telles que la la détection de tumeurs en se concentrant sur les caractéristiques structurelles plutôt que sur l'intensité absolue des pixels.

Distinctions par rapport aux concepts connexes

Il est important de distinguer la normalisation par lots des techniques de prétraitement et d'architecture similaires :

  • vs. normalisation des données: La normalisation des données est une étape de prétraitement des données appliquée à l'ensemble de données d'entrée brutes (par ex. données brutes (par exemple, mise à l'échelle des valeurs de pixels sur [0, 1]) avant qu'elles n'entrent dans le réseau. BatchNorm, à l'inverse, opère en interne entre les couches du réseau. entre les couches du réseau.
  • par rapport à la normalisation des couches: Alors que la normalisation par lot normalise la dimension du lot, la normalisation par couche calcule les statistiques sur la dimension de la caractéristique pour un seul échantillon, La normalisation par couche calcule les statistiques sur la dimension de la caractéristique pour un seul échantillon. La normalisation par couche Norm est souvent préférée dans les les réseaux neuronaux récurrents (RNN) et les transformateurs utilisés dans le traitement du langage naturel (NLP) où les dépendances de lots peuvent être problématiques.

Exemple de mise en œuvre

Des cadres populaires comme PyTorch et TensorFlow fournissent des implémentations intégrées (par ex, torch.nn.BatchNorm2d ou tf.keras.layers.BatchNormalization). L'exemple suivant montre comment inspecter un modèle YOLO11 pour observer les couches BatchNorm intégrées dans son architecture.

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Display the model summary
# Look for 'BatchNorm2d' in the output to see where normalization is applied
model.info()

# Example output line from info():
# 0  -1  1  464  ultralytics.nn.modules.conv.Conv  [3, 16, 3, 2]
# The Conv module in Ultralytics typically includes Conv2d + BatchNorm2d + SiLU

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant