Regularização é o nome genérico para técnicas que evitam que seu modelo memorize os dados de treino e o forçam a aprender padrões mais genéricos. É um dos pilares de qualquer projeto de ML sério.
Tipos clássicos de regularização:
- L1 (Lasso): adiciona à função de perda a soma absoluta dos pesos. Empurra muitos pesos para zero — útil para seleção de features.
- L2 (Ridge / weight decay): adiciona a soma dos quadrados dos pesos. Empurra todos os pesos para perto de zero (mas raramente exatamente zero). É o mais comum em redes neurais.
- Elastic net: combina L1 e L2.
Regularização específica para deep learning:
- Dropout: durante o treino, aleatoriamente "desliga" uma fração dos neurônios em cada passo. Força a rede a não depender de nenhum neurônio específico.
- Batch normalization / Layer normalization: normaliza as ativações entre camadas. Estabiliza treino e tem efeito regularizador.
- Data augmentation: criar variações artificiais dos dados (flip, crop em imagens; sinônimos em texto).
- Early stopping: parar o treino quando a performance no validation set piora.
- Label smoothing: em vez de rotular como [0, 0, 1, 0], rotular como [0.025, 0.025, 0.925, 0.025]. Evita que o modelo fique super confiante.
Como escolher o quanto regularizar:
- Underfitting (modelo simples demais): reduza regularização.
- Overfitting (gap entre treino e validação): aumente regularização.
- Use validação cruzada para encontrar o ponto certo.
Para LLMs, regularização foi crucial no desenvolvimento. GPT-4, Claude Sonnet 4, Llama: todos usam dropout, weight decay, augmentation e técnicas modernas como QK-LayerNorm. Sem isso, treinar com bilhões de parâmetros seria impossível sem catastrophic overfitting.
Para o profissional brasileiro, se você está fine-tunando um modelo (Llama, Mistral) para sua empresa, regularização é seu melhor amigo: previne que o modelo "esqueça" o que sabia (catastrophic forgetting) e o ajuda a generalizar para novos casos. Técnicas como LoRA já trazem regularização embutida e por isso são tão populares.
