Glosario

Normalización

Aprende cómo la normalización mejora los modelos de IA y ML escalando los datos, mejorando la velocidad de entrenamiento y garantizando un rendimiento óptimo en todas las aplicaciones.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La normalización es una técnica de preprocesamiento fundamental en el aprendizaje automático (AM) y la inteligencia artificial (IA), esencial para garantizar que los datos de entrada sean coherentes y estén correctamente escalados. Consiste en transformar los datos a un formato o rango estándar, lo que ayuda a los modelos a aprender eficazmente, mejorando las tasas de convergencia durante el entrenamiento y reduciendo la probabilidad de predicciones sesgadas. Al garantizar que todas las características contribuyen por igual, la normalización es fundamental para lograr un rendimiento óptimo del modelo.

Por qué es importante la normalización

En el aprendizaje automático, los datos a menudo proceden de varias fuentes y pueden presentar diversos rangos, unidades y distribuciones. Por ejemplo, en un conjunto de datos que predice los precios de la vivienda, características como los metros cuadrados pueden oscilar entre miles, mientras que el número de dormitorios puede oscilar sólo entre 1 y 10. Sin normalización, los algoritmos como el descenso de gradiente pueden tener dificultades para converger porque la escala de una característica puede dominar a las demás, provocando un rendimiento deficiente.

La normalización garantiza que:

  • Las características tienen una escala similar, lo que impide que una característica influya desproporcionadamente en el modelo.
  • El entrenamiento es más rápido y estable, ya que ayuda a los algoritmos de optimización como el Descenso Gradiente a converger de forma más eficiente.
  • Los modelos generalizan mejor al evitar los sesgos introducidos por la variación de las escalas de los rasgos.

Técnicas comunes

  • Escalado Mín-Máx: Transforma los datos a un intervalo fijo, a menudo [0,1], conservando las distancias relativas entre los valores. Esto es especialmente útil para los algoritmos que se basan en métricas de distancia, como K-Nearest Neighbors (KNN).
  • Normalización de la puntuación Z (Estandarización): Centra los datos en torno a una media de 0 y una desviación típica de 1. Este método es especialmente eficaz para conjuntos de datos con distribuciones variables.
  • Escalado decimal: Divide los datos por una potencia de 10, reduciendo su magnitud pero conservando su estructura original.

Para las tareas que implican datos de imágenes, se suelen utilizar técnicas como la Normalización por Lotes durante el entrenamiento para estandarizar las activaciones en todas las capas, mejorando la convergencia y evitando problemas como los Gradientes Desvanecidos.

Aplicaciones en IA y ML

La normalización desempeña un papel fundamental en diversas aplicaciones de ML e IA:

  1. Aprendizaje profundo
    En las redes neuronales, la normalización garantiza una distribución coherente de los datos de entrada, mejorando el rendimiento del entrenamiento. Por ejemplo, la Normalización por Lotes se aplica ampliamente en las Redes Neuronales Convolucionales (CNN ) para estabilizar el entrenamiento normalizando las salidas intermedias.

  2. Procesamiento del Lenguaje Natural (PLN)
    En las tareas de PLN, la normalización puede implicar el preprocesamiento del texto, como convertirlo a minúsculas o eliminar los signos de puntuación, garantizando la uniformidad de los datos de entrada. Esto es especialmente útil para modelos como los Transformadores y los modelos GPT.

  3. Visión por ordenador (CV)
    En los conjuntos de datos de imágenes, los valores de los píxeles suelen normalizarse a un intervalo de [0,1] o [-1,1], lo que garantiza la coherencia entre las imágenes en tareas como la Clasificación de Imágenes y la Detección de Objetos. Más información sobre la preparación de conjuntos de datos para tareas de visión en Ultralytics' Guía de conjuntos de datos.

Ejemplos reales

Ejemplo 1: Imágenes médicas

En sanidad, la normalización garantiza valores de intensidad de píxel coherentes en imágenes médicas como radiografías o resonancias magnéticas. Esto es crucial para modelos como Ultralytics YOLO en tareas como la detección de tumores, donde las variaciones de brillo o contraste podrían inducir a error al modelo.

Ejemplo 2: Vehículos autónomos

Para los coches autoconducidos, los datos de los sensores procedentes de LiDAR, cámaras y GPS deben normalizarse para garantizar una toma de decisiones precisa en tiempo real. La normalización ayuda a alinear los datos de distintas fuentes, como los mapas de profundidad y las imágenes RGB, permitiendo a los algoritmos interpretar el entorno con eficacia. Explora cómo la IA está transformando los vehículos autónomos.

Diferencias clave con conceptos afines

La normalización se confunde a menudo con técnicas afines como:

  • Normalización: Mientras que la normalización escala los datos a un rango específico, la estandarización se centra en centrar los datos en torno a una media de 0 con varianza unitaria. Aprende más sobre las técnicas de preprocesamiento de datos para una comprensión más profunda.
  • Regularización: A diferencia de la normalización, que transforma los datos de entrada, la regularización implica técnicas como las penalizaciones L1 o L2 para reducir el sobreajuste en los modelos. Explora Regularización para más detalles.

Herramientas y recursos

  • Ultralytics HUB: Una plataforma sin código para entrenar y desplegar modelos de IA, que ofrece una integración perfecta de conjuntos de datos normalizados para tareas como la detección y segmentación de objetos.
  • Guía de normalización de Scikit-learn: Un recurso completo para aplicar la normalización en los flujos de trabajo de Python .
  • Conjunto de datos ImageNet: Un popular conjunto de datos en el que la normalización es esencial para un entrenamiento eficaz.

La normalización es una piedra angular del éxito de los flujos de trabajo de aprendizaje automático, ya que garantiza que los datos estén en la mejor forma posible para el entrenamiento de modelos. Al adoptar esta técnica, los desarrolladores pueden mejorar la eficacia, fiabilidad y escalabilidad de sus modelos en diversas aplicaciones de IA.

Leer todo