Glossaire

Normalisation par lots

Booste les performances de l'apprentissage profond avec la normalisation des lots ! Découvre comment cette technique améliore la vitesse d'entraînement, la stabilité et la précision des modèles d'IA.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La normalisation par lots est une technique largement utilisée dans l'apprentissage profond pour stabiliser le processus d'apprentissage et accélérer considérablement la formation des réseaux neuronaux profonds. Introduite par Sergey Ioffe et Christian Szegedy dans leur article de 2015intitulé "Batch Normalization : Accelerating Deep Network Training by Reducing Internal Covariate Shift", elle s'attaque au problème où la distribution des entrées dans les couches profondes du réseau change pendant la formation, ce que l'on appelle le décalage de covariable interne. En normalisant les entrées de chaque couche pour chaque mini-lot, la normalisation des lots permet de maintenir une distribution plus stable des valeurs d'activation, ce qui conduit à une convergence plus lisse et plus rapide.

Comment fonctionne la normalisation par lots

Pendant la formation, la normalisation des lots normalise les entrées d'une couche pour chaque mini-lot. Il s'agit de calculer la moyenne et la variance des activations dans l'ensemble du mini-lot, puis de normaliser ces activations. La technique introduit également deux paramètres d'apprentissage par canal d'activation - un paramètre d'échelle (gamma) et un paramètre de décalage (bêta). Ces paramètres permettent au réseau d'apprendre l'échelle et la moyenne optimales des entrées normalisées, ce qui lui donne essentiellement la possibilité d'annuler la normalisation si cela s'avère bénéfique pour l'apprentissage. Ce processus permet de lutter contre les problèmes tels que les gradients qui s'évanouissent et les gradients qui explosent en maintenant les activations dans une fourchette raisonnable. Pendant l'inférence, la moyenne et la variance sont fixées, généralement à l'aide des statistiques de la population estimées pendant la formation.

Avantages de la normalisation par lots

L'application de la normalisation par lots dans les réseaux neuronaux offre plusieurs avantages clés :

  • Une formation plus rapide : Elle permet souvent d'obtenir des taux d'apprentissage nettement plus élevés, ce qui accélère la convergence du processus de formation. Voir Conseils pour la formation de modèles pour plus de stratégies d'optimisation.
  • Flux de gradient amélioré : en stabilisant les distributions d'activation, il atténue les problèmes de gradients qui s'évanouissent et explosent, ce qui conduit à une formation plus stable, en particulier dans les réseaux très profonds.
  • Effet de régularisation : la normalisation par lots ajoute une légère composante de bruit aux entrées des couches en raison des statistiques des mini-lots. Cela agit comme une forme de régularisation, réduisant potentiellement le besoin d'autres techniques telles que l'élimination.
  • Sensibilité réduite à l'initialisation : Les réseaux avec normalisation par lots sont souvent moins sensibles aux poids initiaux choisis avant le début de la formation.
  • Permet des réseaux plus profonds : En s'attaquant aux problèmes liés à la formation des architectures profondes, il facilite la formation réussie de modèles beaucoup plus profonds.

Applications et exemples

La normalisation des lots est un composant de base dans de nombreux modèles d'apprentissage profond de pointe, en particulier dans le domaine de la vision par ordinateur.

  1. Reconnaissance d'images et détection d'objets : Dans les réseaux neuronaux convolutifs (CNN), la normalisation par lots est généralement appliquée après les couches convolutives et avant la fonction d'activation (comme ReLU). Les modèles tels que ResNet s'appuient fortement sur elle. Dans les modèles de détection d'objets, tels que Ultralytics YOLOla normalisation par lots aide à stabiliser la formation, à améliorer la précision et à accélérer la convergence, ce qui permet une détection efficace sur des ensembles de données complexes comme COCO. Des variantes telles que la normalisation par mini-lots croisés (CmBN) ont été utilisées dans des modèles comme YOLOv4 pour améliorer encore les performances.
  2. Réseaux adverbiaux génératifs (GAN) : La normalisation par lots est souvent utilisée dans les réseaux de générateurs et de discriminateurs des GAN pour stabiliser le processus d'apprentissage adversarial, bien qu'une mise en œuvre prudente soit nécessaire pour éviter les artefacts. Elle permet d'éviter l'effondrement des modes et garantit une dynamique de formation plus régulière.

Concepts et variations connexes

Bien que la normalisation par lots soit largement utilisée, il existe plusieurs techniques de normalisation apparentées, chacune adaptée à des scénarios différents :

  • Normalisation des couches : Normalise les entrées à travers les caractéristiques pour un seul échantillon de données, indépendamment du lot. Elle est souvent préférée dans les réseaux neuronaux récurrents (RNN) et les transformateurs où la longueur des séquences peut varier. Voir l'article original"Layer Normalization".
  • Normalisation des instances : Normalise chaque canal à travers les dimensions spatiales pour chaque échantillon de données indépendamment. Elle est couramment utilisée dans les tâches de transfert de style(transfert de style neuronal) pour supprimer les informations de contraste spécifiques à l'instance. Voir l'article"Normalisation des instances : L'ingrédient manquant pour une stylisation rapide".
  • Normalisation de groupe : Divise les canaux en groupes et normalise au sein de chaque groupe pour un seul échantillon de données. Elle constitue un compromis entre la normalisation par couche et la normalisation par instance et donne de bons résultats même avec des lots de petite taille. Voir l'article"Normalisation par groupe".

Considérations et mises en oeuvre

L'une des principales considérations de la normalisation par lots est sa dépendance à l'égard de la taille du mini-lot au cours de la formation. 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. De plus, le comportement diffère entre l'entraînement (à l'aide des statistiques de lot) et l'inférence (à l'aide des statistiques de population estimées). Les cadres d'apprentissage profond standard comme PyTorch (torch.nn.BatchNorm2d) et TensorFlow (tf.keras.layers.BatchNormalization) fournissent des mises en œuvre robustes. Malgré les alternatives, la normalisation par lots reste une technique fondamentale pour former efficacement de nombreux modèles d'apprentissage profond modernes.

Tout lire