Normalization
Explora cómo la normalización mejora el entrenamiento y la precisión del modelo. Aprende sobre el escalado Min-Max, la estandarización de puntuación Z y su papel en los proyectos de Ultralytics YOLO26.
La normalización es una técnica fundamental en el 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 variables, como rangos de edad (0-100) frente a niveles de ingresos (0-100.000). Si no se tratan, estas disparidades pueden hacer que el algoritmo de optimización se sesgue hacia valores más grandes, lo que da lugar a una convergencia más lenta y a un rendimiento subóptimo. Al normalizar los datos, los ingenieros se aseguran de que cada característica contribuya de manera proporcional al resultado final, permitiendo que las redes neuronales aprendan de forma más eficiente.
Técnicas de normalización comunes#
Existen varios métodos estándar para transformar datos, cada uno adecuado para diferentes 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 (el máximo menos el 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 Z-Score: Aunque a menudo se utiliza de forma indistinta con la normalización, la estandarización transforma específicamente los datos para que tengan una media de 0 y una desviación típica 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 datos con distribución normal.
- Escalado logarítmico: Para datos que contienen valores atípicos extremos o que 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 con eficacia sin verse sesgada por picos masivos de valores.
Aplicaciones en el mundo real#
La normalización es un paso estándar en los pipelines de sistemas de IA de alto rendimiento en diversas industrias.
-
Visión artificial (CV): En tareas como la detección de objetos y la clasificación de imágenes, las imágenes digitales se componen de valores de píxeles que van de 0 a 255. Introducir estos enteros grandes directamente en una red puede ralentizar el descenso de gradiente. Un paso de preprocesamiento estándar consiste en dividir los valores de los píxeles por 255.0 para normalizarlos al rango [0, 1]. Esta práctica garantiza entradas coherentes para modelos avanzados como YOLO26, mejorando 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 el ámbito sanitario, suelen proceder de diferentes máquinas con escalas de intensidad variables. La normalización garantiza que las intensidades de los píxeles de una resonancia magnética o una tomografía computarizada sean comparables entre distintos pacientes y equipos. Esta coherencia es fundamental para una detección de tumores precisa, permitiendo que el modelo se centre en las anomalías estructurales en lugar de en las variaciones de brillo.
Distinguir conceptos relacionados#
Es importante diferenciar la normalización de otros términos similares de preprocesamiento y arquitectura que se encuentran en el aprendizaje profundo.
- vs. 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. Por el contrario, la normalización por lotes opera de forma interna entre las capas de toda la red durante el entrenamiento del modelo. Normaliza la salida de una capa de activación anterior para estabilizar el proceso de aprendizaje.
- vs. Aumento de datos: Mientras que la normalización cambia la escala de los valores de los píxeles, el aumento cambia el contenido o la geometría de la imagen (por ejemplo, voltearla, rotarla o cambiar los 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 de escalado matemático.
Ejemplo de implementación#
En visión artificial, la normalización suele ser el primer paso de la canalización. El siguiente ejemplo de Python demuestra cómo normalizar manualmente los datos de imagen utilizando 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()}")





