Tema

Retropropagación

La retropropagación calcula el gradiente de la pérdida respecto de todos los pesos de una red aplicando la regla de la cadena desde la salida hacia la entrada y reutilizando los resultados intermedios.

Nombre en inglés

Backpropagation

Intuición

Cada capa recibe desde arriba una señal que dice cuánto cambiaría la pérdida si su salida cambiase un poco. Con esa señal, la capa calcula el gradiente de sus propios pesos y también la señal que entrega a la capa de abajo. El ahorro está en que la señal se calcula una sola vez por capa, mientras que derivar cada peso por separado repetiría el mismo trabajo tantas veces como pesos haya.

Fórmula

\delta^{(L)} = \nabla_a L \odot f'(z^{(L)}) \qquad \delta^{(l)} = (W^{(l+1)T} \delta^{(l+1)}) \odot f'(z^{(l)}) \qquad \frac{\partial L}{\partial W^{(l)}} = \delta^{(l)} (a^{(l-1)})^T

Ejemplo resuelto

Sea una red 2-2-1 con ReLU en la capa oculta y salida lineal. La entrada es x = (1, 2) y el objetivo es y = 0.5. Los pesos ocultos son w1 = (0.5, -0.5) y w2 = (0.5, 0.25), ambos con sesgo cero y fijo, y los de salida son v = (2, 1) con sesgo cero. Hacia adelante, z1 = 0.5 menos 1 = -0.5 y la ReLU lo deja en 0; z2 = 0.5 más 0.5 = 1 y la ReLU lo deja en 1; la salida vale 2 por 0 más 1 por 1 = 1. Con la pérdida igual a la mitad del cuadrado del error, la pérdida vale 0.125 y su derivada respecto de la salida vale 1 menos 0.5 = 0.5. Hacia atrás, el gradiente de v es 0.5 por (0, 1) = (0, 0.5) y el del sesgo de salida vale 0.5. La señal que baja a la capa oculta es 0.5 por v = (1, 0.5), que la ReLU multiplica por 1 donde z es positivo y por 0 donde no lo es, de modo que queda (0, 0.5). El gradiente de w2 es 0.5 por x = (0.5, 1) y el de w1 es (0, 0) porque su unidad está apagada. Con tasa 0.1 los pesos pasan a v = (2, 0.95), sesgo de salida -0.05 y w2 = (0.45, 0.15). Una segunda pasada hacia adelante da 0.6625 y una pérdida cercana a 0.0132, es decir, cerca de una décima parte de la inicial.

Errores frecuentes

Ejercicio

En la misma red del ejemplo, ¿cuánto vale el gradiente de la pérdida respecto del primer peso de la segunda unidad oculta?

Ver la solución

La señal que llega a la segunda unidad oculta es la derivada de la salida por el peso de salida correspondiente, es decir, 0.5 por 1 = 0.5. Como z2 = 1 es positivo, la derivada de la ReLU vale 1 y la señal pasa intacta. El gradiente respecto de un peso de entrada es esa señal multiplicada por la entrada asociada, que aquí vale 1. El resultado es 0.5.

Respuesta: 0.5

Temas relacionados

Cursos a los que prepara

Simulador

Este tema tiene un simulador interactivo en la guía.

Abrir el tema en la guía