Normalization
Explora cómo la normalización mejora el entrenamiento y la precisión de los modelos. Aprende sobre la escala Min-Max, la estandarización de puntuación Z y su función en los proyectos de Ultralytics YOLO26.
La normalización es una técnica fundamental del preprocesamiento de datos que consiste en reescalar los atributos numéricos a un rango estándar. En el contexto del aprendizaje automático (ML), los conjuntos de datos suelen contener características con escalas diferentes, como los rangos de edad (0–100) frente a los niveles de ingresos (0–100.000). Si no se tratan, estas disparidades pueden hacer que el algoritmo de optimización se incline hacia los valores más grandes, lo que provoca una convergencia más lenta y un rendimiento subóptimo. Al normalizar los datos, los ingenieros garantizan que cada característica contribuya proporcionalmente al resultado final, lo que permite que las redes neuronales aprendan de forma más eficiente.
Técnicas habituales de normalización#
Existen varios métodos estándar para transformar los datos, cada uno adecuado para distintas distribuciones y requisitos de los algoritmos.
- Escalado Min-Max: Esta es la forma más intuitiva de normalización. Reescala los datos a un rango fijo, normalmente [0, 1]. Esta transformación se realiza restando el valor mínimo y dividiendo por el rango (máximo menos mínimo). Se utiliza ampliamente en el procesamiento de imágenes, donde se sabe que las intensidades de los píxeles están acotadas entre 0 y 255.
- Estandarización de puntuación z: Aunque a menudo se usa indistintamente con la normalización, la estandarización transforma específicamente los datos para que tengan una media de 0 y una desviación estándar de 1. Esto resulta especialmente útil cuando los datos siguen una distribución gaussiana y es esencial para algoritmos como las máquinas de vectores de soporte (SVM), que asumen que los datos siguen una distribución normal.
- Escalado logarítmico: En el caso de datos que contienen valores atípicos extremos o siguen una ley de potencias, aplicar una transformación logarítmica puede comprimir el rango de valores. Esto hace que la distribución sea más manejable para que el motor de inferencia la interprete eficazmente sin verse sesgado por enormes picos de valores.
Aplicaciones en el mundo real#
La normalización es un paso estándar en las canalizaciones de sistemas de IA de alto rendimiento de diversos sectores.
-
Visión por ordenador (CV): En tareas como la detección de objetos y la clasificación de imágenes, las imágenes digitales están compuestas por valores de píxel que van de 0 a 255. Introducir directamente estos enteros grandes en una red puede ralentizar el descenso de gradiente. Un paso estándar de preprocesamiento consiste en dividir los valores de píxel por 255.0 para normalizarlos al rango [0, 1]. Esta práctica garantiza entradas coherentes para modelos avanzados como YOLO26, lo que mejora la estabilidad del entrenamiento en la Ultralytics Platform.
-
Análisis de imágenes médicas: Las exploraciones médicas, como las utilizadas en la IA en sanidad, suelen proceder de máquinas diferentes con escalas de intensidad variables. La normalización garantiza que las intensidades de los píxeles de una exploración de MRI o CT sean comparables entre distintos pacientes y equipos. Esta coherencia es fundamental para una detección precisa de tumores, ya que permite que el modelo se centre en anomalías estructurales en lugar de en variaciones de brillo.
Diferenciación de conceptos relacionados#
Es importante diferenciar la normalización de otros términos similares de preprocesamiento y arquitectura utilizados en el aprendizaje profundo.
- frente a la normalización por lotes: La normalización de datos es un paso de preprocesamiento que se aplica al conjunto de datos de entrada sin procesar antes de que entre en la red. En cambio, la normalización por lotes opera internamente entre las capas de la red durante el entrenamiento del modelo. Normaliza la salida de una capa de activación anterior para estabilizar el proceso de aprendizaje.
- frente al aumento de imágenes: Mientras que la normalización cambia la escala de los valores de píxel, el aumento cambia el contenido o la geometría de la imagen (por ejemplo, volteándola, girándola o cambiando sus colores) para aumentar la diversidad del conjunto de datos. Herramientas como Albumentations se utilizan para el aumento, mientras que la normalización es una operación matemática de escalado.
Ejemplo de implementación#
En la visión por ordenador, la normalización suele ser el primer paso de la canalización. El siguiente ejemplo de Python muestra cómo normalizar manualmente datos de imágenes mediante la biblioteca NumPy, un proceso que se realiza automáticamente dentro del cargador de datos de Ultralytics YOLO26 durante el entrenamiento.
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()}")








