Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Exploding Gradient

Los gradientes explosivos crecen exponencialmente durante la retropropagación y provocan actualizaciones enormes de los pesos, picos en la pérdida y valores NaN. Incluye causas, señales y soluciones.

Un gradiente explosivo es un fallo de entrenamiento en el que los gradientes calculados mediante retropropagación crecen de forma exponencial al propagarse hacia atrás por una red neuronal profunda o recurrente. A continuación, el descenso del gradiente aplica actualizaciones enormes a los pesos del modelo, la función de pérdida se dispara o se convierte en NaN o inf, y el entrenamiento diverge. Es el fenómeno opuesto al problema del gradiente desvanecido. Pascanu, Mikolov y Bengio analizaron ambos problemas en las redes neuronales recurrentes y propusieron limitar la norma del gradiente para evitar su explosión, una medida que sigue siendo una protección estándar en el entrenamiento de aprendizaje profundo.

Por qué explotan los gradientes#

Según la regla de la cadena, el gradiente que llega a una capa inicial es el producto de un factor por cada capa posterior o por cada paso temporal en una red recurrente. Cuando esos factores son sistemáticamente mayores que 1, el producto crece de forma exponencial con la profundidad: repetir un factor de 1.5 a lo largo de 30 capas multiplica la señal por aproximadamente 190,000. Entre las causas habituales están una inicialización deficiente de los pesos, una tasa de aprendizaje demasiado alta, entradas sin normalizar, secuencias largas en modelos recurrentes y el desbordamiento en el entrenamiento de precisión mixta, donde los valores FP16 superiores a 65,504 se convierten en inf. Los síntomas son una curva de pérdida que de repente se dispara o se convierte en NaN, registros de la norma del gradiente que aumentan varios órdenes de magnitud entre pasos y pesos que se convierten en NaN.

Prevención y mitigación#

La mayoría de los procesos de entrenamiento modernos combinan varias de estas medidas de protección.

  • Recorte de gradientes: Cuando la norma L2 global de todos los gradientes supera un umbral, cada gradiente se escala hacia abajo por el mismo factor. La actualización conserva la dirección y solo se limita su magnitud.
  • Normalización por lotes: La normalización por lotes y la normalización por capas reescalan las activaciones de cada capa, lo que mantiene una escala estable de las señales entre capas y suaviza el paisaje de pérdida.
  • Inicialización cuidadosa: Las inicializaciones Xavier (Glorot) y He escalan los pesos iniciales para que la varianza de las activaciones se mantenga aproximadamente constante entre capas.
  • Conexiones residuales: Las conexiones de salto proporcionan a los gradientes una ruta identidad que evita cada bloque, por lo que la señal hacia atrás es una suma de rutas en lugar de un único producto largo.
  • Calentamiento de la tasa de aprendizaje: Empezar con una tasa de aprendizaje pequeña y aumentarla gradualmente durante los primeros pasos evita grandes actualizaciones iniciales mientras los pesos y las estadísticas del optimizador aún se están estabilizando.

El fragmento siguiente crea una secuencia de 30 capas, cada una de las cuales amplifica su entrada 1.5 veces, y después recorta el gradiente resultante con PyTorch:

import torch
from torch import nn

torch.manual_seed(0)

# 30 stacked linear layers, each initialized to amplify its input by 1.5x
layers = [nn.Linear(64, 64, bias=False) for _ in range(30)]
for layer in layers:
    nn.init.orthogonal_(layer.weight, gain=1.5)
model = nn.Sequential(*layers)

loss = model(torch.randn(8, 64)).pow(2).mean()
loss.backward()

# clip_grad_norm_ rescales all gradients in place and returns their norm before clipping
norm_before = nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
norm_after = nn.utils.get_total_norm([p.grad for p in model.parameters()])
print(f"Gradient norm before clipping: {norm_before:.2e}, after: {norm_after:.2f}")

La norma del gradiente sin recortar es 9.90e+10 y, después del recorte, es 1.00; así, el siguiente paso del optimizador queda acotado por grande que fuera el gradiente original.

El entrenamiento de Ultralytics YOLO26 aplica esta protección en cada paso: el entrenador desescala los gradientes de precisión mixta, limita su norma global a 10.0 y permite que el escalador de gradientes omita cualquier actualización que aún contenga valores inf o NaN. Un entrenador personalizado puede cambiar el límite, por ejemplo, reducirlo a 0.1 para RT-DETR.

Gradientes explosivos frente a gradientes desvanecientes#

Ambos problemas se deben al mismo producto de factores por capa durante la retropropagación. Los factores superiores a 1 hacen que los gradientes exploten, lo que provoca actualizaciones inestables, desbordamiento numérico y divergencia; la solución habitual es recortarlos. Los factores inferiores a 1 hacen que los gradientes se acerquen a cero, por lo que las capas iniciales dejan de aprender; las soluciones habituales son activaciones que no se saturan, como ReLU, las conexiones residuales y las unidades recurrentes con compuertas, como LSTM. La normalización y una inicialización cuidadosa ayudan a evitar ambos problemas.

Aplicaciones en el mundo real#

Los modelos de lenguaje grandes se entrenan durante cientos de miles de pasos con secuencias de texto largas, en las que los picos repentinos de pérdida son un riesgo conocido, y sus recetas de entrenamiento incluyen el recorte de gradientes: GPT-3 se entrenó con Adam y un límite de 1.0 para la norma global del gradiente.

En visión artificial, las redes profundas de detección de objetos se entrenan con conjuntos de datos del tamaño de COCO, tasas de aprendizaje altas y precisión mixta; por eso, el recorte y el escalado de la pérdida evitan que un lote extremo poco frecuente corrompa los pesos. Los detectores basados en Transformer son más sensibles porque los gradientes de la atención cruzada de su decodificador pueden dispararse; por eso, los modelos de la familia DETR, como RT-DETR y DINO, suelen aplicar un límite de norma máxima de 0.1.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático