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 . 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 e segundo momento bruto por coordenada. Em termos aproximados, divide o primeiro corrigido pela raiz do segundo corrigido mais . 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
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Diederik P. Kingma e Jimmy Ba (2014). Adam: A Method for Stochastic Optimization.
- Ilya Loshchilov e Frank Hutter (2017). Decoupled Weight Decay Regularization.