Glosario

Normalización por lotes

¡Aumenta el rendimiento del aprendizaje profundo con la normalización por lotes! Aprende cómo esta técnica mejora la velocidad de entrenamiento, la estabilidad y la precisión de los modelos de IA.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La normalización por lotes es una técnica utilizada en el entrenamiento de redes neuronales profundas (DNN) para estabilizar el proceso de aprendizaje y reducir significativamente el número de épocas de entrenamiento necesarias. Introducida por Sergey Ioffe y Christian Szegedy en su artículo de 2015,"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift", aborda el problema de que la distribución de las entradas a las capas profundas de la red cambia durante el entrenamiento, lo que ralentiza la convergencia. Al normalizar las entradas de cada capa, la Normalización por Lotes ayuda a mantener distribuciones más estables, lo que conduce a un entrenamiento más rápido y fiable.

Cómo funciona la normalización por lotes

Durante el entrenamiento, la Normalización por Lotes normaliza las entradas a una capa para cada minilote. Esto significa ajustar los datos para que tengan una media de cero y una desviación típica de uno. En concreto, para cada característica del mini lote, calcula la media y la varianza y las utiliza para normalizar la característica. Sin embargo, la simple normalización podría restringir el poder de representación de la capa. Para contrarrestarlo, la Normalización por Lotes introduce dos parámetros aprendibles para cada característica: un parámetro de escala (gamma) y un parámetro de desplazamiento (beta). Estos parámetros permiten que la red aprenda la escala y la media óptimas de las entradas normalizadas, dejando que la red decida si la normalización es beneficiosa y en qué medida. Durante la inferencia, la Normalización por Lotes utiliza estadísticas agregadas (como medias móviles de media y varianza) recogidas durante el entrenamiento, garantizando una salida determinista.

Ventajas de la normalización por lotes

Aplicar la Normalización por Lotes ofrece varias ventajas clave para entrenar modelos de aprendizaje profundo:

  • Entrenamiento más rápido: Permite utilizar tasas de aprendizaje más altas, acelerando significativamente el proceso de convergencia durante el entrenamiento del modelo.
  • Estabiliza el aprendizaje: Al reducir el desplazamiento interno de las covariables (el cambio en la distribución de las entradas de las capas), hace que el proceso de aprendizaje sea más estable y predecible. Esto es especialmente útil en redes muy profundas.
  • Efecto de regularización: la Normalización por Lotes añade un ligero efecto de regularización, que a veces puede reducir la necesidad de otras técnicas de regularización como el Dropout. El ruido introducido por las estadísticas de minilotes actúa como regularizador.
  • Reduce la Sensibilidad a la Inicialización: Las redes con Normalización por Lotes suelen ser menos sensibles a los pesos iniciales, lo que facilita el proceso de inicialización.

Aplicaciones y ejemplos

La Normalización por Lotes se utiliza mucho, sobre todo en tareas de visión por ordenador en las que intervienen Redes Neuronales Convolucionales (CNN).

  1. Clasificación de imágenes: Arquitecturas como ResNet, que alcanzan una precisión de vanguardia en puntos de referencia como ImageNet, dependen en gran medida de la Normalización por Lotes después de las capas convolucionales para permitir el entrenamiento de redes muy profundas. Los modelos Ultralytics admiten tareas de clasificación de imágenes en las que la BN contribuye a un rendimiento sólido.
  2. Detección de objetos: Modelos como Ultralytics YOLO incorporan la Normalización por Lotes en sus estructuras de columna vertebral y cuello. Esto ayuda a estabilizar el entrenamiento y mejora la capacidad del modelo para detectar objetos con precisión y rapidez, algo crucial para aplicaciones como los vehículos autónomos y la vigilancia en tiempo real.

Consideraciones y alternativas

Aunque es muy eficaz, el rendimiento de la Normalización por Lotes puede depender del tamaño del lote; los tamaños de lote muy pequeños pueden dar lugar a estimaciones inexactas de las estadísticas del lote. Su comportamiento también difiere entre las fases de entrenamiento e inferencia, lo que requiere un manejo cuidadoso de las estadísticas en ejecución. Alternativas como la Normalización de Capas, la Normalización de Instancias y la Normalización de Grupos abordan algunas de estas limitaciones y se utilizan en diferentes contextos, sobre todo en Redes Neuronales Recurrentes (RNN) o cuando los tamaños de los lotes son pequeños. Se pueden encontrar implementaciones en marcos populares como PyTorch y TensorFlow.

En general, la Normalización por Lotes sigue siendo una técnica fundamental y ampliamente adoptada que ha influido significativamente en la dinámica de entrenamiento y el rendimiento de los modelos modernos de aprendizaje profundo.

Leer todo