Regularização em Redes Neurais: generalização, L2, dropout e early stopping

Capítulo 8

Tempo estimado de leitura: 9 minutos

+ Exercício

Regularização como controle de complexidade efetiva

Regularização é o conjunto de técnicas que reduz o overfitting ao limitar a complexidade efetiva do modelo. “Complexidade efetiva” não é apenas o número de parâmetros: é o quanto a rede consegue se ajustar a detalhes específicos do conjunto de treino (incluindo ruído). Em termos práticos, regularizar significa induzir preferências no treinamento para que a rede aprenda padrões mais estáveis e generalizáveis.

Uma forma útil de pensar é: sem regularização, a rede pode usar pesos grandes e combinações muito específicas para “memorizar” o treino. Com regularização, impomos custos ou perturbações que tornam soluções muito específicas menos atraentes, empurrando o treinamento para soluções mais simples (ou mais robustas).

Sinais típicos nas curvas de treino e validação

  • Overfitting: perda de treino continua caindo, mas a perda de validação para de cair e começa a subir; a acurácia de validação estagna ou piora.
  • Regularização bem ajustada: perda de treino cai mais lentamente (às vezes fica um pouco maior), enquanto a perda de validação cai por mais tempo e atinge um mínimo melhor.
  • Regularização excessiva (underfitting): tanto treino quanto validação ficam ruins; a rede não consegue ajustar nem o treino.
CurvasTreinoValidaçãoLeitura
Sem regularizaçãoPerda ↓↓↓Perda ↓ depois ↑Memorização/overfitting
Regularização adequadaPerda ↓↓ (mais lenta)Perda ↓↓ e mínimo melhorGeneralização melhor
Regularização forte demaisPerda ↓ poucoPerda ↓ poucoUnderfitting

L2 (weight decay): preferência por pesos menores

A regularização L2 adiciona uma penalidade proporcional ao quadrado dos pesos. Intuição: soluções com pesos muito grandes tendem a ser mais “sensíveis” (pequenas variações na entrada podem causar grandes variações na saída), o que aumenta o risco de ajustar ruído. Ao penalizar pesos grandes, incentivamos funções mais suaves.

Forma matemática (intuição operacional)

Em vez de otimizar apenas a perda do treino, otimizamos:

Loss_total = Loss_dados + λ * Σ (w^2)

onde λ controla a força da regularização. Quanto maior λ, mais caro fica ter pesos grandes.

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

Como isso muda o treinamento (visão de atualização)

Com L2, a atualização efetiva tende a “puxar” os pesos em direção a zero a cada passo. Em muitos otimizadores isso aparece como decaimento de peso (weight decay):

w = w - lr * grad_w - lr * λ * w

O termo - lr * λ * w é o “encolhimento” dos pesos.

Efeito nas curvas de treino/validação

  • Treino: a perda de treino geralmente cai mais devagar e pode estabilizar em um valor um pouco maior (porque o modelo não “se permite” ajustar tudo).
  • Validação: tende a melhorar (menor gap treino–validação), e o ponto de mínimo costuma ser mais baixo do que sem L2.

Passo a passo prático para ajustar L2

  • 1) Escolha uma faixa de λ: comece testando valores em escala logarítmica, por exemplo 1e-6, 1e-5, 1e-4, 1e-3, 1e-2.
  • 2) Treine por um número fixo de épocas (ou com early stopping) e registre: perda de treino, perda de validação, e o gap entre elas.
  • 3) Interprete: se o gap é grande (validação piora cedo), aumente λ; se treino e validação estão ambos ruins, diminua λ.
  • 4) Reajuste learning rate se necessário: L2 forte pode exigir um lr menor para estabilidade e boa convergência.

Exemplo de leitura de resultados (hipotético)

λPerda treino (final)Perda validação (mín)Diagnóstico
00.050.35Overfitting forte
1e-40.080.22Melhor generalização
1e-20.300.32Regularização excessiva

Dropout: ruído estruturado que força redundância útil

Dropout desliga aleatoriamente uma fração das unidades (ou conexões) durante o treino. Isso injeta um tipo de ruído controlado: a rede não pode depender de um caminho específico para produzir a saída, então é forçada a construir representações mais redundantes e robustas.

Intuição: “comitê” de sub-redes

A cada minibatch, você treina uma sub-rede diferente (porque um conjunto diferente de unidades é desligado). No teste/validação, você usa a rede “inteira”, com escalonamento apropriado, o que se assemelha a uma média de muitas sub-redes.

Como aplicar (conceito de taxa p)

  • p (drop rate): probabilidade de desligar uma unidade. Ex.: p=0.5 em camadas densas é comum; em camadas próximas à entrada costuma-se usar p menor (ex.: 0.1–0.3) para não destruir informação.
  • Somente no treino: dropout é ativo durante o treino e desativado na validação/teste.

Efeito nas curvas de treino/validação

  • Treino: a perda de treino fica mais alta e mais “ruidosa” (oscila mais), porque o modelo está aprendendo sob perturbação.
  • Validação: tende a cair de forma mais estável e a apresentar menor gap em relação ao treino.
  • Dropout alto demais: treino não melhora (ou melhora muito lentamente) e validação também não; sinal de underfitting.

Passo a passo prático para ajustar dropout

  • 1) Comece com p moderado: por exemplo p=0.2 ou p=0.3 em camadas intermediárias.
  • 2) Observe o gap: se overfitting persiste, aumente p gradualmente (ex.: 0.3 → 0.4 → 0.5).
  • 3) Se o treino “travou”: reduza p ou aplique dropout apenas em algumas camadas (não em todas).
  • 4) Combine com L2 quando necessário: dropout e L2 frequentemente se complementam (um atua como ruído/ensemble, outro como suavização por pesos pequenos).

Exemplo de comportamento (hipotético)

Dropout pPerda treino (final)Perda validação (mín)Observação
0.00.060.28Overfitting
0.30.100.20Melhora validação
0.70.350.33Underfitting

Early stopping: critério prático baseado em validação

Early stopping interrompe o treinamento quando o desempenho em validação para de melhorar. A ideia é simples: conforme as épocas avançam, a rede pode começar a ajustar particularidades do treino; o ponto de melhor generalização costuma ocorrer antes do mínimo da perda de treino.

Como early stopping regulariza

Parar cedo limita a complexidade efetiva porque impede que o modelo continue “refinando” ajustes específicos do treino. Em muitos casos, early stopping funciona como uma regularização implícita: você não muda a arquitetura nem adiciona termos na perda, mas controla o quanto o modelo se especializa.

O que observar nas curvas

  • Sem early stopping: validação atinge um mínimo e depois piora, enquanto treino continua melhorando.
  • Com early stopping: você seleciona (e restaura) o checkpoint próximo ao mínimo de validação, reduzindo overfitting.

Passo a passo prático (com parâmetros comuns)

  • 1) Separe validação: use um conjunto de validação representativo (mesma distribuição do teste esperado).
  • 2) Monitore uma métrica: normalmente val_loss (mais sensível que acurácia em alguns problemas).
  • 3) Defina paciência (patience): número de épocas sem melhora antes de parar (ex.: 5, 10, 20). Paciência maior evita parar por flutuações aleatórias.
  • 4) Defina melhoria mínima (min_delta): melhora mínima para contar como progresso (ex.: 1e-4).
  • 5) Restaure o melhor checkpoint: ao parar, volte aos pesos da época com menor val_loss.

Exemplo de leitura (hipotético)

Suponha que val_loss melhora até a época 18 e depois piora. Com patience=5, o treino pode parar na época 23, mas o modelo final será o checkpoint da época 18 (melhor validação).

Como combinar L2, dropout e early stopping

As três técnicas atacam overfitting por ângulos diferentes:

  • L2: reduz magnitude dos pesos, favorece funções mais suaves.
  • Dropout: força robustez via perturbação e redundância.
  • Early stopping: escolhe o ponto de melhor generalização no tempo de treino.

Combinações comuns:

  • L2 + early stopping: base sólida e simples; costuma funcionar bem como “padrão” inicial.
  • Dropout + early stopping: útil quando há forte coadaptação entre neurônios (muito overfitting em redes densas).
  • L2 + dropout + early stopping: potente, mas exige ajuste cuidadoso para não regularizar demais.

Atividade: seleção de regularização por cenário

Objetivo: escolher uma estratégia de regularização (e valores iniciais) com base no cenário de dados e no comportamento das curvas.

Cenário A: poucos dados (ex.: poucas centenas a poucos milhares de exemplos)

  • Risco principal: overfitting rápido; validação piora cedo.
  • Escolha recomendada: early stopping + L2 (moderado) e, se necessário, dropout moderado.
  • Valores iniciais: λ=1e-4 a 1e-3; dropout p=0.2 a 0.5; patience=10.
  • O que esperar nas curvas: treino cai menos; validação cai por mais tempo; gap reduz.

Cenário B: muitos dados (ex.: centenas de milhares ou milhões)

  • Risco principal: overfitting menor; gargalo pode ser underfitting ou otimização.
  • Escolha recomendada: L2 leve + early stopping (paciência maior). Dropout pode ser menor ou até desnecessário dependendo do gap.
  • Valores iniciais: λ=1e-6 a 1e-4; dropout p=0.0 a 0.2; patience=20.
  • O que esperar nas curvas: treino e validação melhoram juntos por mais tempo; gap pequeno.

Cenário C: ruído alto nos rótulos ou nas entradas (dados “sujos”)

  • Risco principal: a rede memoriza ruído; validação pode oscilar e degradar.
  • Escolha recomendada: early stopping (muito importante) + L2 moderado; dropout pode ajudar como robustez adicional.
  • Valores iniciais: λ=1e-4 a 1e-3; dropout p=0.2 a 0.4; patience=5 a 10 com min_delta definido.
  • O que esperar nas curvas: treino pode continuar caindo (memoriza ruído), mas validação atinge mínimo cedo; early stopping captura esse ponto.

Tarefa prática (checklist de decisão)

Para cada cenário acima, faça:

  • 1) Treino base: rode um treinamento sem dropout e com L2=0, com early stopping desligado, e registre as curvas.
  • 2) Diagnóstico: identifique se há (a) gap grande, (b) validação piora cedo, (c) ambos ruins.
  • 3) Ação:
    • Gap grande → aumente L2 e/ou adicione dropout.
    • Validação piora cedo → habilite early stopping e reduza paciência se o ruído for alto.
    • Ambos ruins → reduza regularização (L2 menor, dropout menor) e reavalie.
  • 4) Seleção final: escolha o conjunto (L2, dropout, early stopping) que minimiza val_loss e mantém o gap controlado.

Miniestudo guiado: interpretando três padrões de curva

Padrão observadoInterpretaçãoAjuste sugerido
Treino melhora muito; validação piora após poucas épocasOverfitting rápidoEarly stopping + aumentar L2; considerar dropout
Treino e validação ruins e próximosUnderfitting/regularização excessivaReduzir L2/dropout; aumentar capacidade ou treinar mais
Validação oscila forte; mínimo ocorre cedoRuído alto/instabilidade na métricaEarly stopping com paciência menor; L2 moderado; dropout moderado

Agora responda o exercício sobre o conteúdo:

Ao observar que a perda de treino continua caindo, enquanto a perda de validação atinge um mínimo e depois começa a subir, qual ação é mais alinhada com as técnicas de regularização apresentadas para melhorar a generalização?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Esse padrão indica overfitting: o modelo melhora no treino, mas piora na validação. O early stopping interrompe o treino quando a validação para de melhorar e restaura o melhor checkpoint, limitando a complexidade efetiva e favorecendo generalização.

Próximo capitúlo

Redes Neurais Convolucionais (CNN): convolução, filtros e invariâncias em visão

Arrow Right Icon
Capa do Ebook gratuito Introdução a Redes Neurais: do perceptron ao deep learning moderno
53%

Introdução a Redes Neurais: do perceptron ao deep learning moderno

Novo curso

15 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.