Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Normalización por lotes (Batch Normalization)

Descubra cómo la normalización por lotes estabiliza los modelos de aprendizaje profundo. Aprenda cómo Ultralytics utiliza BatchNorm para acelerar el entrenamiento y mejorar la precisión de la IA.

La normalización por lotes, frecuentemente denominada BatchNorm, es una técnica utilizada en el aprendizaje profundo (DL) para estabilizar y acelerar el entrenamiento de redes neuronales artificiales. Introducida para resolver el problema del desplazamiento interno de covariables, en el que la distribución de las entradas a una capa cambia continuamente a medida que se actualizan los parámetros de las capas anteriores, BatchNorm estandariza las entradas a una capa para cada minilote. Al normalizar las entradas de la capa para que tengan una media de cero y una desviación estándar de uno, y luego escalarlas y desplazarlas con parámetros aprendibles, este método permite a las redes utilizar tasas de aprendizaje más altas y reduce la sensibilidad a la inicialización.

¿Cómo funciona la normalización por lotes?

En una red neuronal convolucional (CNN) estándar, los datos fluyen a través de capas en las que cada capa realiza una transformación. Sin normalización, la escala de los valores de salida puede variar enormemente, lo que dificulta que el algoritmo de optimización encuentre los mejores pesos. La normalización por lotes se aplica normalmente justo antes de la función de activación (como ReLU o SiLU).

El proceso implica dos pasos principales durante la formación:

  1. Normalización: La capa calcula la media y la varianza de las activaciones dentro del tamaño del lote actual. A continuación, resta la media del lote y divide por la desviación estándar del lote.
  2. Escalado y desplazamiento: Para garantizar que la red pueda seguir representando funciones complejas, se introducen dos parámetros aprendibles (gamma y beta). Estos permiten a la red deshacer la normalización si la distribución óptima de los datos no es una distribución normal estándar.

Este mecanismo actúa como una forma de regularización, reduciendo ligeramente la necesidad de otras técnicas como las capas de dropout al añadir una pequeña cantidad de ruido a las activaciones durante el entrenamiento.

Ventajas clave de la formación en IA

La integración de la normalización por lotes en arquitecturas como ResNet o los detectores de objetos modernos ofrece varias ventajas claras:

  • Convergencia más rápida: los modelos se entrenan significativamente más rápido porque la normalización evita que los gradientes se vuelvan demasiado pequeños o demasiado grandes, combatiendo eficazmente el problema del gradiente desaparecido.
  • Estabilidad: hace que la red sea menos sensible a la elección específica de los pesos iniciales y al ajuste de los hiperparámetros, lo que hace que el proceso de entrenamiento del modelo sea más robusto.
  • Generalización mejorada: al suavizar el panorama de optimización, BatchNorm ayuda al modelo a generalizar mejor los datos de prueba no vistos.

Aplicaciones en el mundo real

La normalización por lotes es un elemento básico en casi todos los sistemas modernos de visión por computadora (CV).

  1. Conducción autónoma: en los sistemas de vehículos autónomos, modelos como Ultralytics procesan fotogramas de vídeo detect detectar peatones, vehículos y señales. BatchNorm garantiza que las capas de detección de objetos se mantengan estables independientemente de los cambios en la intensidad de la iluminación o las condiciones meteorológicas, manteniendo una alta precisión media (mAP).
  2. Imágenes médicas: al realizar la detección de tumores en imágenes médicas, los datos de exploración pueden variar significativamente entre diferentes máquinas de resonancia magnética o tomografía computarizada. BatchNorm ayuda a normalizar estas características internamente, lo que permite a la IA centrarse en las anomalías estructurales en lugar de en las diferencias de intensidad de los píxeles, mejorando la precisión del diagnóstico en las soluciones de IA para la atención sanitaria.

Normalización por lotes frente a normalización de datos

Es útil distinguir la normalización por lotes de la normalización de datos estándar.

  • La normalización de datos es un paso de preprocesamiento que se aplica al conjunto de datos de entrada sin procesar (por ejemplo, cambiar el tamaño de las imágenes y escalar los valores de píxeles a 0-1) antes de que comience el entrenamiento. Para esta etapa se suelen utilizar herramientas como Albumentations. .
  • La normalización por lotes se produce dentro de las capas de la red neuronal durante el propio proceso de entrenamiento. Ajusta dinámicamente los valores internos de la red a medida que los datos fluyen a través de ella.

Ejemplo de aplicación

Los marcos de aprendizaje profundo como PyTorch incluyen implementaciones optimizadas de la Normalización por lotes. En lasYOLO Ultralytics , estas capas se integran automáticamente en los bloques de convolución.

Los siguientes Python El fragmento de código muestra cómo inspeccionar un modelo para ver dónde BatchNorm2d Las capas se encuentran dentro de la arquitectura.

from ultralytics import YOLO

# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")

# Print the model structure to view layers
# You will see 'BatchNorm2d' listed after 'Conv2d' layers
print(model.model)

Comprender cómo interactúan estas capas ayuda a los desarrolladores cuando utilizan la Ultralytics para ajustar los modelos en conjuntos de datos personalizados, lo que garantiza que el entrenamiento se mantenga estable incluso con datos limitados.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora