Cómo un modelo reparte la culpa entre mil millones de perillas a la vez.

SRC·09 Source
Mil millones de perillas, cada una necesita su pendiente. Un barrido las halla todas.

Mil millones de perillas, cada una necesita su pendiente. Un barrido las halla todas.

El descenso de gradiente solo avanza si conoce la pendiente de la pérdida para cada peso — y un modelo real tiene miles de millones. Medirlas una por una significaría mil millones de pasadas completas por la red. La retropropagación te entrega la pendiente exacta de todas ellas en un solo barrido hacia atrás. Es el motor que hace posible siquiera entrenar un modelo gigante.
Mueve una perilla, vuelve a correr, mira el cambio — ahora hazlo mil millones de veces.

Mueve una perilla, vuelve a correr, mira el cambio — ahora hazlo mil millones de veces.

LθL(θ+ε)L(θ)ε\frac{\partial L}{\partial \theta} \approx \frac{L(\theta + \varepsilon) - L(\theta)}{\varepsilon}
Podrías medir el efecto de una perilla de frente: cámbiala un pelín, corre toda la red de nuevo y lee cuánto se movió la pérdida. Esa es la fórmula de abajo — y cuesta una pasada completa por perilla. Como probar una sopa recociendo toda la olla por cada pizca de sal: perfectamente correcto, e inviable con mil millones de ingredientes.
La salida es una regla del cálculo: multiplica las pendientes a lo largo de la cadena.

La salida es una regla del cálculo: multiplica las pendientes a lo largo de la cadena.

dLdx=dLdydydx\frac{dL}{dx} = \frac{dL}{dy}\cdot\frac{dy}{dx}
La pérdida alcanza un peso temprano solo a través de una cadena de pasos. La regla de la cadena dice que la pendiente de toda la cadena es simplemente las pendientes locales multiplicadas entre sí. Como una fila de lentes: cada una multiplica el aumento, así que el zoom final es el factor de cada lente multiplicado a lo largo de la línea. Halla cada pendiente local, multiplica, listo.
Paso uno: córrela hacia adelante y recuerda cada valor del camino.

Paso uno: córrela hacia adelante y recuerda cada valor del camino.

z(l)=W(l)a(l1)+b(l),a(l)=σ ⁣(z(l))z^{(l)} = W^{(l)} a^{(l-1)} + b^{(l)}, \qquad a^{(l)} = \sigma\!\big(z^{(l)}\big)
Cada pendiente local depende de los valores que fluyeron por esa capa — así que primero corres la red hacia adelante y guardas cada uno. Cada capa mezcla sus entradas con pesos y luego las dobla a través de una curva. Como un espeleólogo que tiende una guía al entrar: sigues ese mismo cordel para hallar la salida de vuelta. Sáltatelo, y la pasada hacia atrás no tiene nada que multiplicar.
Paso dos: empieza en el error y empuja la culpa hacia atrás.

Paso dos: empieza en el error y empuja la culpa hacia atrás.

δ(l)=(W(l+1))δ(l+1)    σ ⁣(z(l))\delta^{(l)} = \big(W^{(l+1)}\big)^{\top}\delta^{(l+1)} \;\odot\; \sigma'\!\big(z^{(l)}\big)
Ahora barre hacia atrás. Empieza con el error en la salida; en cada capa, toma la culpa que llega, escálala según cuán sensible fue esa capa, y pásala aguas arriba. Un solo barrido alcanza cada perilla — el trabajo compartido se hace una sola vez. Como rastrear una fuga por las tuberías: sigue el rastro húmedo desde el charco hasta la junta verdaderamente culpable. (δ es la parte de la culpa de cada capa.)
Y la pendiente de cada perilla brota sola: su culpa por su entrada.

Y la pendiente de cada perilla brota sola: su culpa por su entrada.

LW(l)=δ(l)(a(l1))\frac{\partial L}{\partial W^{(l)}} = \delta^{(l)}\,\big(a^{(l-1)}\big)^{\top}
Con la culpa conocida en cada capa, la pendiente de un solo peso es simplemente su culpa por la entrada que multiplicó — sin necesidad de una vista global. Como una vela: el empuje que recibes es el viento por el lienzo que lo atrapa — un producto puramente local. Esa localidad, repetida en todas partes, es lo que permite que la retropropagación escale a miles de millones de pesos.
Eso es todo: una pasada de ida para recordar, una de vuelta para culpar.

Eso es todo: una pasada de ida para recordar, una de vuelta para culpar.

La retropropagación es la regla de la cadena más contabilidad: corre hacia adelante una vez y guarda, barre hacia atrás una vez y multiplica. Por más o menos el precio de dos pasadas obtienes la pendiente exacta de cada peso — no los mil millones de corridas que exigía la vía ingenua. Como un bumerán: un lanzamiento sale, y ese mismo movimiento lo trae todo el camino de vuelta a tu mano.
🌱 No rastreas mil millones de culpas para atrapar un vaso que cae.

🌱 No rastreas mil millones de culpas para atrapar un vaso que cae.

La retropropagación aprende corriendo cada error hacia atrás, perilla por perilla, hasta la fuente exacta del fallo. Un cerebro casi con certeza no lo hace — te ajustas sin calcular jamás mil millones de pendientes parciales. ¿Es entonces rastrear la culpa hacia atrás realmente cómo aprenden las mentes — o solo cómo deben hacerlo las máquinas, por ahora? Quizá el próximo salto sea una forma de aprender que nunca tenga que mirar atrás.
toca →desliza ↑ para másdesliza ↓ para salir