LECCIÓN 11 · FINAL

La regla de la cadena

La última pieza, y la que hace funcionar a las redes neuronales. Cuando algo afecta a otra cosa, que afecta a otra… ¿cómo medimos el efecto total? Multiplicando los efectos. Eso es backpropagation.

Recuerda de la lección anterior: el descenso de gradiente baja al fondo del error repitiendo: nueva posición = posición − lr · gradiente. Pero queda una pregunta pendiente: en una red con muchas capas encadenadas, ¿cómo se calcula el gradiente del error final respecto a un peso del principio? La respuesta: con la regla de la cadena, que cierra el curso hoy.

1. El efecto dominó

Imagina una cadena de engranajes: giras A, que mueve B, que mueve C. Si A hace girar a B al doble de rápido, y B hace girar a C al triple, entonces girar A mueve a C… 6 veces (2 × 3). Los efectos se multiplican.

Regla de la cadena: si x afecta a u, y u afecta a y, entonces el efecto de x sobre y es el producto de los dos efectos:
efecto total = (efecto de u sobre y) × (efecto de x sobre u)

2. Con derivadas (que ya sabes que son "efectos")

Recuerda la lección 7: una derivada es un efecto ("cuánto cambia la salida por la entrada"). La regla de la cadena con símbolos:

dy/dx = (dy/du) × (du/dx)

Se lee: "de-y sobre de-x (el efecto de x sobre y) es igual a de-y sobre de-u (efecto de u sobre y) multiplicado por de-u sobre de-x (efecto de x sobre u)". Veámoslo con un ejemplo concreto: una máquina que triplica (u = 3x) seguida de otra que eleva al cuadrado (y = u²).

xentrada
→ ×3 →
u = 3xtriplica
→ (·)² →
y = u²al cuadrado

3. Lo calculamos a mano en x = 2

✍️ Paso a paso
Primero, los valores (hacia adelante):
   u = 3·x = 3·2 = 6
   y = u²  = 6²  = 36

Ahora, los efectos de cada eslabón (las derivadas):
   du/dx = 3          (derivada de 3x respecto a x: cada 1 que mueves x, u sube 3)
   dy/du = 2·u = 2·6 = 12   (derivada de u² respecto a u: regla de la potencia → 2u; aquí u=6)

La regla de la cadena multiplica los eslabones:
   dy/dx = (dy/du) × (du/dx) = 12 × 3 = 36
✍️ Comprobación directa (sin cadena)
y = (3x)² = 9x²  →  derivada = 18x  →  en x=2: 18·2 = 36   ✓
¡Coincide! La cadena da el mismo resultado, pero eslabón por eslabón.

🎮 Mira la cadena multiplicar

Cambia x y observa cómo se multiplican los efectos de cada eslabón.

2.0

4. Esto es exactamente backpropagation

Una red neuronal es una cadena larguísima de operaciones: la entrada pasa por una capa, luego otra, luego la activación, luego la pérdida… cada una afecta a la siguiente. Para saber cuánto afecta un peso del principio al error del final, se multiplican los efectos de toda la cadena, de atrás hacia adelante.

Eso es retropropagación (en inglés: backpropagation): aplicar la regla de la cadena de atrás hacia adelante por toda la red para calcular cuánta "culpa del error" tiene cada peso. "Hacia atrás" significa que empezamos en el error final y vamos multiplicando efectos eslabón por eslabón hasta llegar al primer peso. En PyTorch esto sucede automáticamente con la función backward() — que internamente hace exactamente esta multiplicación en cadena.

5. Lo que aprendiste

Lo que aprendiste hoy: la regla de la cadena dice que cuando algo afecta a otra cosa, que afecta a otra, el efecto total es el producto de los efectos individuales: dy/dx = (dy/du) × (du/dx). Para x → u=3x → y=u²: en x=2, el efecto total es 12×3=36. Eso es exactamente lo que hace la retropropagación: calcula el efecto de cada peso sobre el error final multiplicando efectos de atrás hacia adelante.

🎓 ¡Completaste el curso del gradiente!

Empezaste sin saber derivar y ahora entiendes: pendienterapidez de cambioderivada (la pendiente exacta) → derivada numérica y sus atajos → derivada como sensibilidadparciales → el gradientedescenso de gradiente → la regla de la cadena. Esa es, de principio a fin, la maquinaria con la que aprenden todas las redes neuronales. 🚀

Sigue con redes neuronales, PyTorch y el Transformer — todo encaja.