Inicio · Parte 08 — Cálculo multivariable, matricial y autodiferenciación
dh/dt = (∂f/∂x)(dx/dt) + (∂f/∂y)(dy/dt)
en general: producto punto entre gradiente y velocidad
Cuando una función depende de variables que a su vez dependen de un parámetro, la tasa de cambio total suma las contribuciones de cada camino. Esa es la regla de la cadena multivariable, y su forma compacta es un producto punto: gradiente por vector velocidad.
La lectura de «suma sobre caminos» es la que se generaliza al grafo de cómputo. En una red neuronal, un parámetro puede influir en la pérdida por varias rutas —pesos compartidos, conexiones residuales, capas que se reutilizan— y su gradiente total es la suma de las contribuciones de todas ellas.
Ese detalle es la causa del error más común al implementar autodiferenciación a mano: si un nodo se usa dos veces, hay que acumular su gradiente en lugar de sobrescribirlo. El motor del programa usa += precisamente por eso, y la clase 306 lo hace explícito. En PyTorch, olvidar zero_grad() es el mismo problema al revés: acumular cuando no se debe.
La verificación numérica es directa: componer las funciones, derivar la composición por diferencias finitas y comparar con la suma de productos. El laboratorio lo hace sobre una trayectoria circular, donde x = cos t e y = sin t.
Derivar f(x(t), y(t)) sobre una circunferencia.
f(x,y) = x²y + 3xy² + 2
x(t) = cos t, y(t) = sin t, t = 1.5
∇f en (cos 1.5, sin 1.5) = (2.9787, 0.2318)
velocidad (dx/dt, dy/dt) = (−sin 1.5, cos 1.5) = (−0.9975, 0.0707)
Regla de la cadena:
2.9787·(−0.9975) + 0.2318·0.0707 = −2.9548
Derivada numérica de h(t): −2.9548 ✓
Estructura: producto punto entre gradiente y velocidad
Regla de la cadena con variables intermedias.
python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/167-regla-de-la-cadena-multivariable/lab.py
compmath run 167
composiciont∂f/∂x·dx/dt + ∂f/∂y·dy/dtdh/dt_numericacoincidenestructura{
"composicion": "f(x(t), y(t)) con x=cos t, y=sin t",
"t": 1.5,
"∂f/∂x·dx/dt + ∂f/∂y·dy/dt": -3.087977,
"dh/dt_numerica": -3.087977,
"coinciden": true,
"estructura": "producto punto entre gradiente y velocidad"
}
Backpropagation con pesos compartidos, redes recurrentes, conexiones residuales y propagación de incertidumbre a través de varias etapas.
Autograd de PyTorch y JAX es exactamente el modo reverso del grafo de cómputo que se construye en esta parte a mano.
9781285740621 verificado en International ISBN Agency (2026-08-19).