Glossaire

Normalisation par lots

Boostez les performances de l'apprentissage profond grâce à la normalisation des lots ! Découvrez comment cette technique améliore la vitesse d'apprentissage, 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'apprentissage. Introduite par Sergey Ioffe et Christian Szegedy dans leur article de 2015, elle consiste à normaliser 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 des covariables internes", un phénomène dans lequel la distribution des entrées de chaque couche change au cours de l'apprentissage lorsque les paramètres des couches précédentes changent. En maintenant une distribution plus stable des entrées, la normalisation par lots permet une formation plus rapide et plus stable des réseaux profonds.

Fonctionnement de la normalisation par lots

Au cours du processus d'apprentissage du modèle, les données sont transmises au réseau par petits groupes appelés lots. Une couche de normalisation des lots, généralement insérée après une couche convolutive ou entièrement connectée et avant la fonction d'activation, effectue deux étapes principales pour chaque lot :

  1. Normalisation : Il calcule la moyenne et la variance des activations dans le lot actuel. Il utilise ensuite ces statistiques pour normaliser les activations, en leur donnant une moyenne de zéro et une variance de un. Cette étape permet de s'assurer 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 le pouvoir d'expression de la couche. Pour y remédier, 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 d'apprendre l'échelle et la moyenne optimales pour les entrées de la couche suivante, annulant ainsi la normalisation si le réseau détermine que c'est ce qu'il y a de mieux.

Lors de 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'apprentissage, qui sont calculées et stockées pendant la phase d'apprentissage. Cela garantit que les résultats du modèle sont déterministes et cohérents.

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 :

  • Formation 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éduit le décalage interne des covariables : Il s'agit du principal problème que la normalisation par lots a été conçue pour résoudre. Elle atténue le problème lorsque des changements dans les paramètres des couches précédentes entraînent une modification de la distribution des entrées dans les couches ultérieures, ce qui rend la formation 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 permet d'éviter l'ajustement excessif et de réduire la nécessité d'utiliser d'autres techniques telles que le Dropout.
  • Réduit la dépendance à l'égard de l'initialisation : Le réseau est moins sensible aux poids initiaux, ce qui rend le processus de formation plus robuste.

Applications dans le monde réel

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

  • Classification d'images : Dans les modèles formés sur de grands ensembles de données comme ImageNet, la normalisation par lots est cruciale pour la formation de réseaux très profonds, comme ResNet, en évitant des problèmes tels que la disparition des gradients. Cela permet d'obtenir 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 tomodensitogrammes, la normalisation par lots garantit que les variations d'intensité de l'image entre différentes machines et différents patients n'ont pas d'impact négatif sur l'entraînement. Cela permet d'obtenir des outils de diagnostic plus fiables et plus robustes pour l'IA dans le secteur de la santé.

Concepts et distinctions connexes

Il est important de différencier la normalisation par lots d'autres concepts connexes :

  • Normalisation des données : La normalisation générale des données est une étape de prétraitement appliquée aux données d'entrée avant le début de la formation. En revanche, la normalisation par lots est un processus dynamique qui se produit à l'intérieur du réseau pendant la formation et qui normalise les activations entre les couches.
  • Autres couches de normalisation : Il existe d'autres techniques telles que la normalisation des couches, la normalisation des instances et la normalisation des groupes. La principale différence réside dans l'étendue de la normalisation. Alors que BatchNorm normalise la dimension du lot, la normalisation par couche normalise les caractéristiques d'un seul exemple d'apprentissage, ce qui la rend indépendante de la taille du lot. Ces alternatives sont souvent utilisées dans des domaines tels que le NLP ou lorsque des lots de petite taille sont nécessaires.

Considérations et mise en œuvre

L'une des principales considérations de la normalisation par lots est sa dépendance à l'égard de la taille du mini-lot pendant 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. Les cadres d'apprentissage profond standard tels que 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 former efficacement de nombreux modèles d'apprentissage profond modernes. Vous pouvez gérer et former des modèles incorporant de telles techniques en utilisant des plateformes telles que HUB Ultralytics.

Rejoindre la communauté Ultralytics

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

S'inscrire
Lien copié dans le presse-papiers