Normalization
Explore comment la normalisation améliore l'entraînement et la précision des modèles. Apprends le scaling Min-Max, la standardisation Z-score et son rôle dans les projets Ultralytics YOLO26.
La normalisation est une technique fondamentale du prétraitement des données qui consiste à rééchelonner les attributs numériques sur une plage standard. Dans le contexte de l'apprentissage automatique (ML), les ensembles de données contiennent souvent des caractéristiques aux échelles variables, telles que des tranches d'âge (0–100) par rapport à des niveaux de revenu (0–100 000). Si elles ne sont pas traitées, ces disparités peuvent amener l'algorithme d'optimisation à développer un biais en faveur des valeurs les plus élevées, ce qui entraîne une convergence plus lente et des performances sous-optimales. En normalisant les données, les ingénieurs s'assurent que chaque caractéristique contribue proportionnellement au résultat final, permettant aux [réseaux de neurones](https://ultralytics-translation-3.invalid d) d'apprendre plus efficacement.
Techniques courantes de normalisation#
Il existe plusieurs méthodes standard pour transformer les données, chacune étant adaptée à des distributions et des exigences algorithmiques différentes.
- Mise à l'échelle Min-Max : C'est la forme de normalisation la plus intuitive. Elle rééchelonne les données sur une plage fixe, généralement [0, 1]. Cette transformation est effectuée en soustrayant la valeur minimale et en divisant par l'étendue (le maximum moins le minimum). Elle est largement utilisée en traitement d'images où les intensités des pixels sont connues pour être comprises entre 0 et 255.
- Standardisation par score Z : Bien qu'utilisé souvent de manière interchangeable avec la normalisation, ce terme désigne spécifiquement la transformation des données pour obtenir une moyenne de 0 et un écart-type de 1. Cela est particulièrement utile lorsque les données suivent une distribution gaussienne et s'avère essentiel pour des algorithmes tels que les machines à vecteurs de support (SVM) qui supposent des données distribuées normalement.
- Mise à l'échelle logarithmique : Pour les données contenant des valeurs aberrantes extrêmes ou suivant une loi de puissance, l'application d'une transformation logarithmique permet de compresser la plage des valeurs. Cela rend la distribution plus facile à interpréter efficacement pour le moteur d'inférence sans être faussée par des pics de valeurs massifs.
Applications concrètes#
La normalisation est une étape standard dans les pipelines des systèmes d'IA haute performance dans diverses industries.
-
Vision par ordinateur (CV) : Dans des tâches telles que la détection d'objets et la classification d'images, les images numériques sont composées de valeurs de pixels allant de 0 à 255. Injecter directement ces grands entiers dans un réseau peut ralentir la descente de gradient. Une étape de prétraitement standard consiste à diviser les valeurs des pixels par 255,0 pour les normaliser dans la plage [0, 1]. Cette pratique garantit des entrées cohérentes pour les modèles avancés tels que YOLO26, améliorant ainsi la stabilité de l'entraînement sur la plateforme Ultralytics.
-
Analyse d'images médicales : Les examens médicaux, tels que ceux utilisés dans l'IA dans la santé, proviennent souvent de machines différentes aux échelles d'intensité variables. La normalisation garantit que les intensités des pixels d'une IRM ou d'un scanner CT sont comparables d'un patient et d'un équipement à l'autre. Cette cohérence est essentielle pour une détection de tumeur précise, permettant au modèle de se concentrer sur les anomalies structurelles plutôt que sur les variations de luminosité.
Distinguer les concepts apparentés#
Il est important de différencier la normalisation des termes de prétraitement et d'architecture similaires rencontrés dans l'apprentissage profond.
- vs Normalisation par lots : La normalisation des données est une étape de prétraitement appliquée au jeu de données d'entrée brut avant qu'il n'entre dans le réseau. À l'inverse, la normalisation par lots opère en interne entre les couches du réseau lors de l'entraînement du modèle. Elle normalise la sortie d'une couche d'activation précédente afin de stabiliser le processus d'apprentissage.
- vs Augmentation d'images : Alors que la normalisation modifie l'échelle des valeurs de pixels, l'augmentation modifie le contenu ou la géométrie de l'image (par exemple, un retournement, une rotation ou un changement de couleur) afin d'accroître la diversité du jeu de données. Des outils tels qu'Albumentations sont utilisés pour l'augmentation, tandis que la normalisation est une opération mathématique de mise à l'échelle.
Exemple d'implémentation#
En vision par ordinateur, la normalisation est souvent la première étape du pipeline. L'exemple Python suivant montre comment normaliser manuellement des données d'image à l'aide de la bibliothèque NumPy, un processus qui s'effectue automatiquement au sein du chargeur de données Ultralytics YOLO26 lors de l'entraînement.
import numpy as np
# Simulate a 2x2 pixel image with values ranging from 0 to 255
raw_image = np.array([[0, 255], [127, 64]], dtype=np.float32)
# Apply Min-Max normalization to scale values to [0, 1]
# This standardizes the input for the neural network
normalized_image = raw_image / 255.0
print(f"Original Range: {raw_image.min()} - {raw_image.max()}")
print(f"Normalized Range: {normalized_image.min()} - {normalized_image.max()}")





