Cómo un modelo se simplifica solo, sin deformar cómo aprende.

SRC·56 Source
Dos formas de mantener humilde a un modelo: antes idénticas, ya no.

Dos formas de mantener humilde a un modelo: antes idénticas, ya no.

Un modelo que se apoya demasiado en unas pocas rarezas no llega lejos: nítido en lo que vio, perdido en lo que no. La cura es seguir empujando cada peso suavemente hacia cero. Durante años, dos recetas para ese empujón eran idénticas demostradamente, así que daba igual cuál usar. Luego cambió el optimizador y las dos se separaron en silencio. Elegir la correcta da precisión real. Esto es el decaimiento de pesos desacoplado.
Pesos grandes hacen un modelo frágil. Así que ata cada uno a cero.

Pesos grandes hacen un modelo frágil. Así que ata cada uno a cero.

Lreg=L+λ2w2\mathcal{L}_{\text{reg}} = \mathcal{L} + \tfrac{\lambda}{2}\lVert w \rVert^{2}
Deja que un peso se vuelva enorme y el modelo lo apuesta todo a una rareza estridente. Por eso añadimos un tirón suave hacia cero: cuanto mayor el peso, más fuerte se le devuelve. Como un resorte: cada peso pende de una tenue correa elástica hacia cero, y cuanto más se aleja, más fuerte es el retroceso. En palabras simples: la pérdida recibe un recargo de la mitad de λ por la longitud del peso al cuadrado: justo la energía almacenada de un resorte.
Para el optimizador simple, el resorte es solo un encogimiento constante.

Para el optimizador simple, el resorte es solo un encogimiento 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}
Toma el tirón del resorte y las cuentas son mansas: su pendiente es simplemente λ por el peso, así que cada paso primero reduce el peso un pelín y luego sigue a los datos. Penalización y encogimiento son el mismo movimiento. Como un sastre: rediseña el patrón más pequeño, o mete cada costura un punto: la prenda acabada sale del mismo tamaño. En palabras simples: sumar el resorte a la pérdida es idéntico a multiplicar cada peso por (1−ηλ) en cada paso.
Pero el optimizador moderno no da pasos parejos.

Pero el optimizador moderno no da pasos parejos.

wt+1=wtηm^tv^t+ϵw_{t+1} = w_t - \eta\,\dfrac{\hat m_t}{\sqrt{\hat v_t}+\epsilon}
El optimizador que casi todos usan hoy da a cada peso su propio tamaño de paso: divide su movimiento por la raíz cuadrada de cuán grandes han sido sus gradientes recientes (√v̂), mientras se orienta por su promedio móvil. Un peso que ha oscilado con violencia da pasos diminutos y cuidadosos; uno tranquilo zancadea. Como un funámbulo: donde más se balancea la cuerda, más pequeños son los pasos.
Pasa el resorte por ahí y el encogimiento queda desigual.

Pasa el resorte por ahí y el encogimiento queda desigual.

Δwdecay    λwtv^t+ϵ\Delta w_{\text{decay}} \;\propto\; \dfrac{\lambda\,w_t}{\sqrt{\hat v_t}+\epsilon}
Aquí está el problema. Atornilla el resorte al gradiente —lo obvio— y el optimizador divide el decaimiento por esa misma escala por peso. Así que los pesos más activos, los que más quieres frenar, se encogen menos. Como un empujón a una piedra de curling frente a un disco de hockey: el mismo empuje apenas arrastra la pesada piedra pero lanza el disco volando. En palabras simples: el encogimiento que siente un peso es su tamaño dividido por lo activo que ha estado (√v̂).
La solución: saca el encogimiento de la rueda.

La solución: saca el encogimiento de la rueda.

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 desenganchar un remolque: saca el encogimiento de la maquinaria motriz y déjalo actuar por su cuenta. Da el paso adaptativo normal para los datos y luego, por separado, lleva cada peso hacia cero con la misma fracción fija, sin importar lo activo que haya estado. Esa separación es toda la idea. En palabras simples: el término −ηλw queda ahora fuera de la división por √v̂, así que cada peso se encoge lo mismo (1−ηλ) en cada paso.
Ahora dos mandos que ya no pelean entre sí.

Ahora dos mandos que ya no pelean entre sí.

Con el decaimiento liberado, los dos controles por fin se separan: uno fija qué tan rápido aprende el modelo, el otro qué tan fuerte se simplifica, y girar uno ya no embarra al otro. Como dos hornillas de una cocina: sube el fuego bajo una olla sin tocar la otra. La salvedad honesta: para el optimizador simple las dos recetas eran de verdad idénticas; el desacoplamiento solo vale la pena cuando cada peso avanza a su propio ritmo.
🌱 Ordenar funcionó mejor mantenido aparte del trabajo.

🌱 Ordenar funcionó mejor mantenido aparte del trabajo.

Toda la ganancia vino de un acto silencioso: levantar el impulso de olvidar fuera de la maquinaria que aprende, y dejarlo trabajar solo. Dos presiones —una que se estira hacia los datos, otra que lleva todo de vuelta hacia la nada— sostenidas lado a lado, nunca mezcladas. Entonces, ¿cuándo pertenece el ordenar dentro del trabajo, y cuándo debe quedarse aparte? Y olvidar, hecho de forma pareja y a propósito, ¿es parte de aprender, o un oficio silencioso por sí mismo?
toca →desliza ↑ para másdesliza ↓ para salir