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

Weight Decay

O decaimento de pesos é uma técnica de regularização que aproxima os pesos do modelo de zero, ajudando as redes neurais a reduzir o sobreajuste e a generalizar para novos dados.

O decaimento de pesos é uma técnica de regularização que aproxima os pesos aprendidos por um modelo de zero durante o treinamento. Essa redução repetida desestimula valores de parâmetros desnecessariamente grandes e ajuda uma rede neural a generalizar para exemplos não vistos. É especialmente útil quando um modelo tem capacidade suficiente para memorizar ruído nos dados de treinamento.

Geoffrey Hinton introduziu o decaimento de pesos em seu artigo de 1986 Learning Distributed Representations of Concepts. No experimento da árvore genealógica, ele reduziu a magnitude dos pesos em 0,2% após cada atualização para facilitar a interpretação das conexões aprendidas. Posteriormente, o decaimento de pesos passou a ser amplamente usado para controlar o sobreajuste.

Como funciona o decaimento de pesos#

Durante a descida do gradiente, o otimizador altera os parâmetros usando gradientes: derivadas que descrevem como cada parâmetro afeta a função de perda. O decaimento de pesos adiciona uma força que aproxima os pesos de zero. Na convenção escalada pela taxa de aprendizagem, usada por muitos otimizadores, uma atualização simples de SGD sem momento é new weight = (1 - learning rate × decay) × old weight - learning rate × gradient. Isso combina o aprendizado com base nos erros de previsão com uma redução proporcional.

O coeficiente de decaimento controla a intensidade dessa força. O valor zero a desativa; valores positivos maiores aumentam a redução quando a taxa de aprendizagem é fixa. O gradiente da tarefa ainda pode aumentar um peso quando isso melhora as previsões. O decaimento da taxa de aprendizagem reduz progressivamente o tamanho do passo do otimizador; o decaimento de pesos atua sobre os valores dos parâmetros.

Decaimento de pesos vs. regularização L2#

A regularização L2 adiciona à função objetivo de treinamento uma soma escalada dos quadrados dos pesos. Com a descida estocástica do gradiente simples, derivar essa penalização produz a mesma redução proporcional, com coeficientes devidamente ajustados. Em regressão linear, o ajuste com essa penalização dos pesos ao quadrado é chamado de regressão ridge.

Com o otimizador Adam, adicionar uma penalização L2 faz com que o gradiente da penalização passe pelas médias móveis e pela escala específica de cada parâmetro do Adam. Já o AdamW aplica a redução separadamente desse cálculo adaptativo do gradiente. Ilya Loshchilov e Frank Hutter introduziram o AdamW em seu artigo de 2017 Decoupled Weight Decay Regularization, publicado na ICLR 2019. Essa separação torna a intensidade do decaimento independente da escala baseada no histórico de gradientes do Adam.

Como escolher a intensidade do decaimento#

O decaimento de pesos é um hiperparâmetro, selecionado usando dados de validação. Um valor muito baixo não limita suficientemente o sobreajuste. Um decaimento excessivo causa subajuste: o modelo não consegue ajustar padrões úteis, o que resulta em erros elevados nos exemplos de treinamento e validação. Comparar as pontuações de validação para diferentes valores de decaimento revela a intensidade adequada para um determinado modelo e conjunto de dados.

O efeito acumulado também depende do cronograma da taxa de aprendizagem e do número de atualizações do otimizador. Alterar o tamanho do lote ou as épocas de treinamento pode mudar o número de aplicações do decaimento; a acumulação de gradientes combina vários lotes antes de uma atualização. Uma camada de dropout regulariza zerando ativações aleatoriamente, enquanto a parada antecipada limita a duração do treinamento.

O Ultralytics YOLO disponibiliza uma configuração de treinamento weight_decay, com valor padrão de 0,0005, para controlar a regularização durante o treinamento de modelos como o YOLO26. Seus grupos de parâmetros do otimizador excluem os vieses e os parâmetros das camadas de normalização do decaimento de pesos.

Decaimento de pesos no PyTorch#

O otimizador torch.optim.AdamW oferece decaimento de pesos desacoplado no PyTorch. Instala o pacote com pip install torch; este exemplo cria um gradiente da tarefa igual a zero para que a atualização impressa isole o decaimento de pesos:

import torch

weight = torch.nn.Parameter(torch.tensor([2.0]))
optimizer = torch.optim.AdamW([weight], lr=0.1, weight_decay=0.1)
before = weight.item()

# Create a zero gradient while keeping the parameter in the computation.
optimizer.zero_grad()
loss = (weight * 0).sum()
loss.backward()
optimizer.step()

print(f"Weight: {before:.2f} -> {weight.item():.2f}")

A saída é Weight: 2.00 -> 1.98: uma atualização multiplica o peso por 1 - 0.1 × 0.1, ou seja, por 0,99, reduzindo sua magnitude em 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