A decadência de pesos (weight decay) é uma técnica de regularização usada em aprendizado de máquina para prevenir o sobreajuste, adicionando um termo de penalidade à função de perda que é proporcional à magnitude quadrática dos pesos do modelo. Esta penalidade incentiva o modelo a manter os pesos pequenos, o que normalmente leva a modelos mais simples que generalizam melhor a dados não vistos. A decadência de pesos é mais comumente implementada como regularização L2, onde a penalidade é a soma dos pesos quadráticos multiplicada por um hiperparámetro (frequentemente denotado como lambda ou weight_decay). É uma ferramenta padrão no treinamento de redes neurais profundas, incluindo grandes modelos de linguagem, e é suportada por todos os principais frameworks de aprendizado profundo.
O conceito tem raízes na estatística clássica, onde a regressão ridge (também conhecida como regularização de Tikhonov) aplica a mesma ideia a modelos lineares. No contexto das redes neurais, a decadência de pesos foi popularizada nas décadas de 1980 e 1990, notavelmente através do trabalho de pesquisadores como Anders Krogh e John Hertz, que demonstraram sua eficacia em melhorar a generalização. Hoje, a decadência de pesos é onipresente na prática do aprendizado profundo, frequentemente usada em conjunto com outros métodos de regularização como dropout e normalização por lotes.
Mecanismo e Formulación Matemática
No treinamento padrão, a função de perda mede quão bem o modelo se ajusta aos dados de treinamento. Com a decadência de pesos, o objetivo se torna:
L_total = L_data + (lambda / 2) * sum(w_i^2)
onde L_data é a perda original (por exemplo, entropia cruzada), lambda é o coeficiente de regularização, e a soma percorre todos os pesos treináveis. O fator de 1/2 é às vezes incluído por conveniencia matemática, já que simplifica a derivada. Durante a descida de gradiente, a regra de atualização para cada peso se torna:
w_i <- w_i - learning_rate (dL_data/dw_i + lambda w_i)
Isto mostra que a decadência de pesos efetivamente encoge os pesos por um fator de (1 - learning_rate * lambda) em cada passo, além da atualização do gradiente. Este encogimiento é a razão pela qual o termo 'decadência de pesos' é usado.
Na prática, frameworks como PyTorch e TensorFlow implementam a decadência de pesos seja como uma penalidade separada adicionada à perda, seja como um parámetro no optimizador (por exemplo, AdamW). Esta última abordagem, decadência de pesos desacoplada, aplica a decadência diretamente aos pesos em lugar de através do gradiente, o que pode melhorar a dinâmica de treinamento, especialmente para optimizadores adaptativos.
Papel na Prevenção do Sobreajuste
O sobreajuste ocorre quando um modelo aprende os dados de treinamento demasiado bem, incluindo ruido, e falha ao generalizar a novos dados. Pesos grandes frequentemente indicam que o modelo está se ajustando a padrões específicos no conjunto de treinamento. Ao penalizar pesos grandes, a decadência de pesos força o modelo a encontrar soluções que são mais distribuídas e menos extremas, o que tende a melhorar a generalização. Isto é particularmente importante no aprendizado profundo, onde os modelos têm milhões ou bilhões de parámetros e podem facilmente memorizar os dados de treinamento.
Estudios empíricos têm mostrado que a decadência de pesos pode reduzir significativamente a brecha entre o desempeño de treinamento e de validação. Por exemplo, em tarefas de classificação de imagens como aquelas que usam redes neurais convolucionais, adicionar decadência de pesos frequentemente melhora a precisão de teste em alguns pontos percentuais. No processamento de linguagem natural, a decadência de pesos é um componente padrão no treinamento de transformers, incluindo grandes modelos de linguagem, para prevenir o sobreajuste em grandes corpus.
Relação com a Regularização L2 e Outras Técnicas
A decadência de pesos é matematicamente equivalente à regularização L2 quando a função de perda é diferenciable e o optimizador usa descida de gradiente estocástica vanilla. No entanto, com optimizadores adaptativos como Adam, a equivalência se rompe porque a decadência de pesos é aplicada de maneira diferente. Isto levou ao desenvolvimento de AdamW, que aplica decadência de pesos desacoplada, como foi introducido por Ilya Loshchilov e Frank Hutter em 2019. AdamW se tornou o optimizador padrão para muitos modelos baseados em transformers, incluindo aqueles de OpenAI e Google DeepMind.
A decadência de pesos é frequentemente usada junto com outros métodos de regularização. Dropout desativa aleatoriamente neurones durante o treinamento, proporcionando uma forma complementaria de regularização. A normalização por lotes, embora principalmente para estabilizar o treinamento, também tem um leve efeito regularizador. A parada antecipada, que detiene o treinamento quando o desempeño de validação se estabiliza, é outra prática comum. A decadência de pesos não é um substituto para estes métodos, mas funciona bem em combinação.
Considerações Práticas e Ajuste de Hiperparámetros
O coeficiente de decadência de pesos (lambda) é um hiperparámetro que deve ser ajustado. Valores comuns variam de 1e-4 a 1e-2, dependendo do modelo e do conjunto de dados. Um valor demasiado pequeno pode não prevenir o sobreajuste, enquanto um valor demasiado grande pode causar subajuste, onde o modelo é demasiado simples para capturar os padrões subyacentes. Na prática, lambda é frequentemente escolhido via validação cruzada ou baseado em heurísticas de tarefas similares.
A decadência de pesos é tipicamente aplicada a todos os pesos excepto os sesgos, já que os sesgos têm menos impacto no sobreajuste. Algumas implementações também excluem os parámetros das capas de normalização (como aqueles na normalização por lotes) da decadência, já que são invariantes à escala. Em frameworks modernos, isto é controlado por grupos de parámetros.
Para treinamento em grande escala, como o de grandes modelos de linguagem, a decadência de pesos é frequentemente definida a um valor pequeno como 0.01 ou 0.1. Por exemplo, o modelo GPT-3 de OpenAI usou decadência de pesos de 0.1 durante o treinamento. Similarmente, muitos modelos na família Transformer usam AdamW com decadência de pesos.
Desenvolvimento Histórico e Contribuciones Clave
A ideia de penalizar pesos grandes data da regressão ridge, desenvolvida na década de 1970. Em redes neurais, a decadência de pesos foi explicitamente introducida no final da década de 1980. Um artigo seminal de Anders Krogh e John Hertz em 1992, 'A Simple Weight Decay Can Improve Generalization', demonstrou que a decadência de pesos podia melhorar a generalização em redes neurais. Este trabalho estabeleceu a base para sua adoção generalizada.
Posteriormente, na década de 2010, com o auge do aprendizado profundo, a decadência de pesos se tornou um componente padrão no treinamento de redes profundas. A introdução de AdamW em 2019 por Ilya Loshchilov e Frank Hutter abordou a interação entre a decadência de pesos e os optimizadores adaptativos, levando a um melhor desempeño em muitas tarefas. Desde então, a decadência de pesos tem sido um padrão na maioria dos modelos baseados em transformers.
Aplicações em Sistemas Modernos de IA
A decadência de pesos é usada em virtualmente todo projeto de aprendizado profundo, desde modelos pequenos até massivos grandes modelos de linguagem. Em visão por computador, é aplicada em modelos como ResNet e EfficientNet. No processamento de linguagem natural, é usada no treinamento de modelos como BERT, GPT e T5. Empresas como OpenAI, Anthropic e Google DeepMind incorporam a decadência de pesos em seus pipelines de treinamento para assegurar que seus modelos generalizem bem.
No contexto dos grandes modelos de linguagem, a decadência de pesos ajuda a mitigar o sobreajuste no corpus de treinamento, o que é crucial para modelos que se espera que desempeñen tarefas diversas. Também desempeña um papel na prevenção de que o modelo dependa demasiado de exemplos de treinamento específicos, o que pode levar à memorização e a um desempeño pobre em novas entradas.
Limitaciones e Alternativas
Embora a decadência de pesos seja eficaz, não é uma bala de prata. Pode às vezes interagir mal com outros métodos de regularização, e sua eficacia depende da arquitetura e dos dados. Alternativas incluyen a regularização L1, que fomenta a esparsidad (muitos pesos se tornam zero), e dropout, que é particularmente eficaz para capas totalmente conectadas. Métodos más recentes como profundidade estocástica e aumento de dados também proporcionan regularização.
Em alguns casos, a decadência de pesos pode ser prejudicial se aplicada de maneira demasiado agresiva, levando ao subajuste. Também adiciona um hiperparámetro extra para ajustar, o que pode ser desafiante em experimentos de grande escala. No entanto, a decadência de pesos permanece uma ferramenta fundamental no kit de herramientas do praticante de aprendizado de máquina.
Conclusión
A decadência de pesos é uma técnica de regularização simples mas poderosa que tem resistido ao teste do tempo. Ao penalizar pesos grandes, encoraja modelos mais simples que generalizam melhor. Sua equivalência à regularização L2 e sua integração em optimizadores modernos como AdamW a têm feito uma escolha padrão no aprendizado profundo. À medida que os modelos continuam a crescer em tamaño, a decadência de pesos provavelmente permanecerá um componente essencial no treinamento de sistemas de IA robustos e confiables.
Para leitura adicional, veja conceitos relacionados como machine learning, deep learning, neural network e Overfitting.