Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Exploding Gradient

Gradientes explosivos crescem exponencialmente durante a retropropagação, causando atualizações enormes dos pesos, picos na função de perda e valores NaN. Abrange causas, sinais e soluções.

Um gradiente explosivo é uma falha de treino em que os gradientes calculados por retropropagação crescem exponencialmente à medida que percorrem para trás uma rede neural profunda ou recorrente. A descida do gradiente aplica então atualizações enormes aos pesos do modelo, a função de perda dispara ou transforma-se em NaN ou inf, e o treino diverge. É o oposto do problema do gradiente evanescente. Pascanu, Mikolov e Bengio analisaram ambos os problemas nas redes neurais recorrentes e propuseram o recorte da norma do gradiente para lidar com gradientes explosivos, uma proteção que continua a ser padrão no treino de aprendizagem profunda.

Porque é que os gradientes explodem#

Pela regra da cadeia, o gradiente que chega a uma camada inicial é o produto de um fator por cada camada posterior ou, numa rede recorrente, por cada passo temporal. Quando esses fatores são sistematicamente superiores a 1, o produto cresce exponencialmente com a profundidade: um fator de 1.5 repetido ao longo de 30 camadas multiplica o sinal por cerca de 190,000. Entre as causas comuns estão uma inicialização inadequada dos pesos, uma taxa de aprendizagem demasiado elevada, entradas não normalizadas, sequências longas em modelos recorrentes e overflow no treino de precisão mista, em que os valores FP16 superiores a 65,504 se tornam inf. Os sinais são uma curva de perda que dá um salto repentino ou passa a NaN, registos da norma do gradiente que aumentam várias ordens de grandeza entre passos e pesos que se tornam NaN.

Prevenção e mitigação#

A maioria dos pipelines de treino modernos combina várias destas proteções.

  • Recorte de gradientes: Quando a norma L2 global de todos os gradientes ultrapassa um limite, cada gradiente é reduzido pelo mesmo fator. A atualização mantém a direção e apenas o seu comprimento é limitado.
  • Normalização por lotes: A normalização por lotes e a normalização por camada reescalam as ativações em cada camada, mantendo os sinais numa escala estável entre camadas e suavizando a superfície da função de perda.
  • Inicialização cuidadosa: A inicialização Xavier (Glorot) e He escala os pesos iniciais para que a variância das ativações permaneça aproximadamente constante entre camadas.
  • Ligações residuais: As ligações de salto proporcionam aos gradientes um percurso de identidade que contorna cada bloco, pelo que o sinal retropropagado é uma soma de percursos e não um único produto longo.
  • Aquecimento da taxa de aprendizagem: Começar com uma taxa de aprendizagem baixa e aumentá-la gradualmente nos primeiros passos evita atualizações iniciais enormes enquanto os pesos e as estatísticas do otimizador ainda estão instáveis.

O excerto abaixo cria uma pilha de 30 camadas em que cada camada amplifica a entrada 1.5x e, em seguida, recorta o gradiente resultante com o 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}")

A norma bruta do gradiente é 9.90e+10 e, depois do recorte, é 1.00; assim, o passo seguinte do otimizador permanece limitado, independentemente da magnitude do gradiente bruto.

O treino do Ultralytics YOLO26 aplica esta proteção em cada passo: o treinador repõe a escala dos gradientes de precisão mista, recorta a respetiva norma global para 10.0 e permite que o escalonador de gradientes ignore qualquer atualização que ainda contenha valores inf ou NaN. Um treinador personalizado pode alterar o limite, por exemplo, reduzi-lo para 0.1 no RT-DETR.

Gradientes explosivos vs. gradientes evanescentes#

Ambos os problemas resultam do mesmo produto de fatores por camada na retropropagação. Fatores superiores a 1 fazem os gradientes explodir, causando atualizações instáveis, overflow numérico e divergência; a solução habitual é o recorte. Fatores inferiores a 1 fazem os gradientes diminuir até quase zero, impedindo a aprendizagem das camadas iniciais; as soluções habituais incluem ativações não saturáveis, como ReLU, ligações residuais e unidades recorrentes com portas, como as LSTMs. A normalização e uma inicialização cuidadosa ajudam a resolver ambos os problemas.

Aplicações no mundo real#

Os grandes modelos de linguagem são treinados ao longo de centenas de milhares de passos com sequências de texto longas, nas quais os picos repentinos da função de perda são um risco conhecido; por isso, as receitas de treino incluem o recorte de gradientes: o GPT-3 foi treinado com Adam e com a norma global do gradiente limitada a 1.0.

Na visão computacional, as redes profundas de deteção de objetos são treinadas com conjuntos de dados à escala do COCO, taxas de aprendizagem elevadas e precisão mista; por isso, o recorte e o escalonamento da perda impedem que um lote extremo e raro corrompa os pesos. Os detetores baseados em Transformer são mais sensíveis porque os gradientes que passam pela atenção cruzada do descodificador podem ter picos, pelo que modelos da família DETR, como RT-DETR e DINO, costumam usar um limite máximo da norma de 0.1.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina