Como um modelo se simplifica sem distorcer a forma como aprende.

SRC·56 Source
Dois jeitos de manter um modelo humilde: antes idênticos, agora não.

Dois jeitos de manter um modelo humilde: antes idênticos, agora não.

Um modelo que se apoia demais em algumas manias não vai longe: afiado no que viu, perdido no que não viu. A cura é continuar empurrando cada peso suavemente para zero. Por anos, duas receitas para esse empurrão eram comprovadamente idênticas — então tanto fazia qual usar. Aí o otimizador mudou, e as duas se separaram em silêncio. Escolher a certa rende precisão de verdade. Isto é o decaimento de pesos desacoplado.
Pesos grandes deixam o modelo frágil. Então prenda cada um a zero.

Pesos grandes deixam o modelo frágil. Então prenda cada um a zero.

Lreg=L+λ2w2\mathcal{L}_{\text{reg}} = \mathcal{L} + \tfrac{\lambda}{2}\lVert w \rVert^{2}
Deixe um peso ficar enorme e o modelo aposta tudo numa única mania berrante. Então adicionamos um puxão suave para zero: quanto maior o peso, mais forte ele é trazido de volta. Como uma mola: cada peso pende de um fino elo elástico até zero, e quanto mais se afasta, mais forte é o repuxo. Em palavras simples: a perda ganha um acréscimo de metade de λ vezes o comprimento do peso ao quadrado — exatamente a energia armazenada de uma mola.
Para o otimizador simples, a mola é só um encolhimento constante.

Para o otimizador simples, a mola é só um encolhimento constante.

wt+1=wtηLηλwt=(1ηλ)wtηLw_{t+1} = w_t - \eta\nabla\mathcal{L} - \eta\lambda w_t = (1-\eta\lambda)\,w_t - \eta\nabla\mathcal{L}
Pegue o puxão da mola e a conta é mansa: sua inclinação é simplesmente λ vezes o peso, então cada passo primeiro reduz o peso um tiquinho e depois segue os dados. Penalidade e encolhimento são o mesmo movimento. Como um alfaiate: redesenhe o molde menor, ou ajuste cada costura um ponto — a roupa pronta sai do mesmo tamanho. Em palavras simples: somar a mola à perda é idêntico a multiplicar cada peso por (1−ηλ) a cada passo.
Mas o otimizador moderno não dá passos uniformes.

Mas o otimizador moderno não dá passos uniformes.

wt+1=wtηm^tv^t+ϵw_{t+1} = w_t - \eta\,\dfrac{\hat m_t}{\sqrt{\hat v_t}+\epsilon}
O otimizador que quase todo mundo usa hoje dá a cada peso seu próprio tamanho de passo — dividindo seu movimento pela raiz quadrada de quão grandes foram seus gradientes recentes (√v̂), guiando-se pela média móvel deles. Um peso que vinha oscilando com violência dá passos minúsculos e cuidadosos; um calmo avança a passos largos. Como um equilibrista na corda bamba: onde a corda balança mais, os pés vão menores.
Passe a mola por aí, e o encolhimento fica torto.

Passe a mola por aí, e o encolhimento fica torto.

Δwdecay    λwtv^t+ϵ\Delta w_{\text{decay}} \;\propto\; \dfrac{\lambda\,w_t}{\sqrt{\hat v_t}+\epsilon}
Aqui está o problema. Parafuse a mola no gradiente — o jeito óbvio — e o otimizador divide o decaimento por essa mesma escala de cada peso. Assim os pesos mais ativos, os que você mais quer conter, encolhem menos. Como um empurrão numa pedra de curling versus um disco de hóquei: o mesmo empurrão mal arrasta a pedra pesada, mas manda o disco voando. Em palavras simples: o encolhimento que um peso sente é o seu tamanho dividido por quão ativo ele andou (√v̂).
A solução: tirar o encolhimento do mostrador.

A solução: tirar o encolhimento do mostrador.

wt+1=wtηm^tv^t+ϵηλwtw_{t+1} = w_t - \eta\,\dfrac{\hat m_t}{\sqrt{\hat v_t}+\epsilon} - \eta\lambda w_t
Como desengatar um reboque: tire o encolhimento da maquinaria motriz e deixe-o agir sozinho. Dê o passo adaptativo normal para os dados — depois, separadamente, puxe cada peso para zero pela mesma fração fixa, não importa quão ativo ele tenha sido. Essa separação é a ideia toda. Em palavras simples: o termo −ηλw agora fica fora da divisão por √v̂, então cada peso encolhe o mesmo (1−ηλ) a cada passo.
Agora dois botões que não brigam mais entre si.

Agora dois botões que não brigam mais entre si.

Com o decaimento solto, os dois controles enfim se separam: um define quão rápido o modelo aprende, o outro quão forte ele se simplifica — e girar um não borra mais o outro. Como duas bocas de um fogão: aumente o fogo sob uma panela sem tocar na outra. A ressalva honesta: para o otimizador simples as duas receitas eram mesmo idênticas; o desacoplamento só compensa quando cada peso anda no próprio ritmo.
🌱 Arrumar funcionou melhor mantido à parte do trabalho.

🌱 Arrumar funcionou melhor mantido à parte do trabalho.

Todo o ganho veio de um ato silencioso: erguer o impulso de esquecer para fora da maquinaria que aprende, e deixá-lo trabalhar sozinho. Duas pressões — uma esticando-se rumo aos dados, outra trazendo tudo de volta ao nada — mantidas lado a lado, nunca misturadas. Então, quando arrumar pertence ao trabalho, e quando deve ficar à parte? E esquecer, feito de modo uniforme e de propósito, é parte de aprender — ou um ofício silencioso por si só?
toque →deslize ↑ para maisdeslize ↓ para sair