Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Normalisation

Découvrez comment la normalisation améliore l'entraînement et la précision des modèles. Découvrez le redimensionnement Min-Max, la normalisation Z-score et son rôle dans les projets Ultralytics .

La normalisation est une technique fondamentale dans le prétraitement des données qui consiste à recalibrer les attributs numériques dans une plage standard. Dans le contexte de l' apprentissage automatique (ML), les ensembles de données contiennent souvent des caractéristiques à des échelles variables, telles que les tranches d'âge (0-100) par rapport aux niveaux de revenus (0-100 000). Si elles ne sont pas traitées, ces disparités peuvent entraîner un biais de l' algorithme d'optimisation vers les valeurs les plus élevées, ce qui ralentit la convergence et nuit aux performances. En normalisant les données, les ingénieurs s'assurent que chaque caractéristique contribue de manière proportionnelle au résultat final, ce qui permet aux réseaux neuronaux d'apprendre plus efficacement.

Techniques de normalisation courantes

Il existe plusieurs méthodes standard pour transformer les données, chacune étant adaptée à différentes distributions et exigences algorithmiques .

  • Mise à l'échelle min-max: Il s'agit de la forme de normalisation la plus intuitive. Elle redimensionne les données à une plage fixe, généralement [0, 1]. Cette transformation est effectuée en soustrayant la valeur minimale et en divisant par la plage (maximum moins minimum). Elle est largement utilisée dans le traitement d'images où les intensités des pixels sont connues pour être comprises entre 0 et 255.
  • Normalisation Z-Score: bien qu'elle soit souvent utilisée de manière interchangeable avec la normalisation, la standardisation transforme spécifiquement les 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 est essentiel pour les algorithmes tels que les machines à vecteurs de support (SVM) qui supposent des données normalement distribuées.
  • 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 peut compresser la plage de valeurs. Cela rend la distribution plus facile à gérer pour le moteur d'inférence, qui peut ainsi l'interpréter efficacement sans être faussé 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 divers secteurs.

  1. 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 comprises entre 0 et 255. L'introduction directe de ces grands nombres entiers dans un réseau peut ralentir la descente de gradient. Une étape de prétraitement standard consiste à diviser les valeurs de pixels par 255,0 afin de les normaliser dans la plage [0, 1]. Cette pratique garantit la cohérence des entrées pour les modèles avancés tels que YOLO26, améliorant ainsi la stabilité de l'entraînement sur la Ultralytics .
  2. Analyse d'images médicales : les scans médicaux, tels que ceux utilisés dans l' IA dans le domaine de la santé, proviennent souvent de machines différentes avec des échelles d'intensité variables. La normalisation garantit que les intensités des pixels d'une IRM ou d'un scanner sont comparables entre différents patients et équipements. Cette cohérence est essentielle pour une détection précise des tumeurs, 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 similaires de prétraitement et d'architecture que l'on trouve dans l'apprentissage profond .

  • vs. Normalisation par lots: La normalisation des données est une étape de prétraitement appliquée à l'ensemble de données brutes avant qu'il n'entre dans le réseau. À l'inverse, la normalisation par lots opère en interne entre les couches tout au long du réseau pendant 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'image: Alors que la normalisation modifie l'échelle des valeurs des pixels, l'augmentation modifie le contenu ou la géométrie de l'image (par exemple, retournement, rotation ou changement de couleurs) afin d'accroître la diversité de l'ensemble de données. Des outils tels que Albumentations sont utilisés pour l'augmentation, tandis que la normalisation est une opération mathématique de mise à l'échelle.

Exemple de mise en œuvre

En vision par ordinateur, la normalisation est souvent la première étape du processus. Le code Python suivant Python montre comment normaliser manuellement des données d'image à l'aide de NumPy , un processus qui se déroule automatiquement dans le chargeur de données Ultralytics pendant 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()}")

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant