Fundamentos

Optimizers: SGD → Momentum → Adam → AdamW

Optimizers transformam gradientes em updates usando velocidade, escala adaptativa e weight decay explícito.

Atualizada em

1

Conceito

Backpropagation produz gradientes; um optimizer os transforma em updates. Ele acrescenta estado e política ao sinal local. Seu comportamento depende de learning rate, schedule, batch, clipping, precisão e regularização. Comparar apenas os nomes sem igualar condições raramente informa.

SGD de minibatch atualiza θt=θt1ηgt\theta_t=\theta_{t-1}-\eta g_t. Tem pouco estado e interpretação clara. O ruído ajuda a explorar, mas vales curvos geram oscilação. Uma única taxa global é difícil de ajustar quando escalas úteis variam entre parâmetros.

Momentum mantém velocidade, normalmente uma média móvel exponencial dos gradientes. Direções persistentes acumulam velocidade, enquanto componentes alternados se cancelam em parte. Isso acelera num vale raso e reduz o zigue-zague entre paredes. Bibliotecas usam equações ou variantes Nesterov diferentes; hiperparâmetros não são perfeitamente portáveis apenas pelo rótulo.

Adam estima um primeiro momento mtm_t e segundo momento bruto vtv_t por coordenada. Em termos aproximados, divide o primeiro corrigido pela raiz do segundo corrigido mais ϵ\epsilon. Direção recente move o passo; magnitude quadrada recente o normaliza. A correção de viés importa no início porque médias inicializadas em zero tenderiam a zero.

A escala adaptativa ajuda em gradientes esparsos ou desiguais, e Adam tornou-se comum em Transformers. Não é automaticamente estável em qualquer configuração. Significado e posição de epsilon, precisão do estado, clipping e betas importam. O estado também consome memória: Adam costuma guardar dois tensores de momentos além de parâmetros e gradientes.

Regularização traz uma distinção. Em SGD comum, adicionar penalidade L2 ao objetivo pode equivaler a encolher pesos no update sob condições padrão. Em Adam, o gradiente da penalidade passa pela escala adaptativa por coordenada e deixa de ser encolhimento uniforme. AdamW desacopla weight decay: calcula o update adaptativo e aplica o decay explicitamente. Isso preserva melhor a definição pretendida.

Nem todo parâmetro deve receber decay. Biases e escalas de normalização costumam entrar em grupos sem decay, dependendo da arquitetura e evidência. O agrupamento é parte da configuração e fonte de bugs silenciosos. Registre quais nomes entram em cada grupo e falhe diante de omissões ou duplicatas inesperadas.

Schedules importam tanto quanto o optimizer. Warmup evita updates efetivos grandes antes de activations e momentos estabilizarem. Decay reduz o passo para convergência posterior. Um experimento justo relata equação ou implementação, curva de learning rate, batch, clipping, grupos, total de tokens e seeds. SGD, Momentum, Adam e AdamW são regras com vieses diferentes — não uma escada cronológica em que o nome mais novo sempre vence.

Um checkpoint de optimizer precisa incluir contador de passos e buffers de momentos, não apenas pesos do modelo. Retomar Adam com momentos vazios muda a regra mesmo quando os parâmetros são idênticos. Da mesma forma, avançar o schedule por batch ou por epoch produz curvas radicalmente diferentes. Um run reproduzível registra essas fronteiras e compara o primeiro update retomado com uma execução ininterrupta.

Faça ainda um teste de grupos de parâmetros. Liste quais nomes recebem decay, quais ficam sem decay e verifique duplicatas ou ausências. Uma expressão de matching ampla demais pode aplicar decay a LayerNorm; estreita demais pode deixar matrizes principais sem regularização. O treinamento continua rodando e por isso esse defeito é especialmente silencioso.

2

Como explicar para uma criança de cinco anos

Quatro ciclistas descem uma pista sinuosa. SGD dirige apenas pela inclinação atual. Momentum carrega velocidade e suaviza curvas alternadas. Adam mantém medidores separados de direção recente e magnitude quadrada em cada controle, pisando menos onde gradientes são grandes. AdamW aplica ainda encolhimento deliberado aos pesos como manutenção separada. Nenhuma bicicleta vence toda pista; schedule, terreno e tuning decidem.

3

Ensine de volta

Compare SGD, Momentum, Adam e AdamW, destacando a diferença entre L2 no gradiente adaptativo e weight decay desacoplado.

Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.

Salvo somente neste dispositivo.

Ver uma resposta-modelo

SGD segue o gradiente negativo do minibatch. Momentum mantém velocidade exponencial para suavizar ruído e acelerar direções persistentes. Adam acompanha primeiro e segundo momentos, corrige o viés e escala coordenadas adaptativamente. Com essa escala, adicionar L2 ao gradiente também recebe preconditioning e não equivale a encolhimento multiplicativo. AdamW desacopla weight decay do update de gradiente, aplicando regularização diretamente.

4

Teste seu entendimento

1. O que Momentum acumula?
Resposta e explicação

Histórico exponencial de gradientes ou updates — A velocidade amortece oscilações e reforça direções persistentes.

2. Qual mudança define AdamW em relação a Adam com L2 ingênuo?
Resposta e explicação

Weight decay é desacoplado do gradiente adaptativo — O desacoplamento impede que o preconditioning altere a forma do encolhimento.

Conclua o teach-back e acerte o quiz para finalizar a aula.

Fontes

  1. Diederik P. Kingma e Jimmy Ba (2014). Adam: A Method for Stochastic Optimization.
  2. Ilya Loshchilov e Frank Hutter (2017). Decoupled Weight Decay Regularization.