Composición y dependencias · Tema 22

Regla de la cadena multivariable

Cómo derivar composiciones con varias entradas, variables intermedias y caminos simultáneos desde cada dato hasta la salida.

01 · Composiciones con varias capas

Una entrada puede afectar la salida por muchos caminos

En una composición multivariable, la salida no siempre depende directamente de las entradas originales. Puede hacerlo mediante cantidades intermedias que se reutilizan y combinan.

Consideremos:

z=f(u,v),    u=g(x,y),    v=h(x,y)

Modificar x cambia u y v; ambos cambios llegan a z. Por lo tanto, la derivada respecto de x debe sumar dos contribuciones. Lo mismo ocurre con y.

  • ¿Qué variables dependen de cada entrada?
  • ¿Cuántos caminos conectan una entrada con la salida?
  • ¿Qué derivadas deben multiplicarse en cada camino?
  • ¿Qué contribuciones deben sumarse?
  • ¿Dónde se evalúan las derivadas externas?
  • ¿Cómo verificar una implementación compleja?

02 · Dos variables intermedias

Las fórmulas fundamentales

Sea z=f(u,v), con u=g(x,y) y v=h(x,y). La composición completa es:

z(x,y)=f(g(x,y),h(x,y))

Si las funciones involucradas son diferenciables:

∂z/∂x=(∂f/∂u)(∂u/∂x)+(∂f/∂v)(∂v/∂x)
∂z/∂y=(∂f/∂u)(∂u/∂y)+(∂f/∂v)(∂v/∂y)

Las derivadas fu y fv se evalúan en (u,v)=(g(x,y),h(x,y)). Las derivadas internas se evalúan en (x,y).

Capa externa

fu, fv

Miden cómo responde z a cambios de las variables intermedias.

Capa interna

ux, uy, vx, vy

Miden cómo cada entrada original modifica las cantidades intermedias.

03 · Árbol de dependencias

Dibujar antes de derivar

Un diagrama ayuda a no omitir contribuciones:

x, y→u=g(x,y), v=h(x,y)→z=f(u,v)

Para obtener zx, recorremos:

  • x→u→z, que aporta uxfu.
  • x→v→z, que aporta vxfv.

Para zy se usan los caminos que comienzan en y. Cada arista del grafo lleva una derivada local: derivada de la variable de llegada respecto de la variable de salida.

Regla operativa

  1. 1
    Dibujá los nodos.

    Entradas, variables intermedias y salidas en capas.

  2. 2
    Uní dependencias directas.

    No conectes variables que no intervienen directamente en una fórmula.

  3. 3
    Elegí entrada y salida.

    Enumerá todos los caminos dirigidos entre ambas.

  4. 4
    Multiplicá en cada camino.

    Usá la derivada local asociada a cada arista.

  5. 5
    Sumá entre caminos.

    Las contribuciones paralelas se combinan algebraicamente.

04 · Ejemplo completo

Dos entradas, dos intermediarias

Sea:

z=u²+sen v,   u=x+y,   v=xy

Las derivadas externas son:

zu=2u,    zv=cos v

Las internas:

ux=1, uy=1, vx=y, vy=x

Aplicando la regla:

zx=2u+ y cos v
zy=2u+ x cos v

Finalmente sustituimos u=x+y y v=xy:

zx=2(x+y)+y cos(xy),   zy=2(x+y)+x cos(xy)

En (x,y)=(1,2), u=3 y v=2, por lo que zx=6+2cos 2 y zy=6+cos 2.

05 · Dos métodos válidos

Derivar por capas o sustituir primero

En el ejemplo anterior también podemos formar la composición explícita:

z(x,y)=(x+y)²+sen(xy)

Luego derivamos directamente y obtenemos el mismo resultado. Ambos métodos son correctos.

Comparación de estrategias.
MétodoVentajaLimitación
Sustituir primeroPuede simplificar composiciones pequeñas.Expande expresiones y oculta estructura compartida.
Derivar por capasEscala a grafos grandes y reutiliza resultados.Exige registrar todos los caminos y evaluaciones.

En programas, redes neuronales y modelos con muchas capas, sustituir simbólicamente puede ser inviable. La organización por dependencias es la base de la diferenciación automática.

06 · Dependencias directas e indirectas

Agregar el camino que suele olvidarse

Supongamos ahora que z=f(x,u,v), mientras u=g(x,y) y v=h(x,y). La entrada x llega a z por tres caminos:

∂z/∂x=fx+fuux+fvvx

El primer término corresponde a la dependencia directa x→z. Para y, si z no depende directamente de y:

∂z/∂y=fuuy+fvvy

Ejemplo

Si z=xu+v², u=x+y y v=xy:

zx=u+xux+2vvx=u+x+2vy

Olvidar el camino directo x→z eliminaría el término u.

07 · Más variables intermedias

La suma crece con la cantidad de caminos

Si z=f(u₁,…,um) y cada uj=gj(x₁,…,xn), entonces para cada entrada xi:

∂z/∂xi=Σj=1m (∂z/∂uj)(∂uj/∂xi)

Cada sumando representa el camino de longitud dos xi→uj→z. Si alguna variable intermedia no depende de xi, su derivada es cero y no aporta.

Tres capas

Si además w=k(z), cada camino hasta w agrega el factor dw/dz:

∂w/∂xi=(dw/dz) Σj (∂z/∂uj)(∂uj/∂xi)

En grafos con ramificaciones y reencuentros, la regla “multiplicar en serie, sumar en paralelo” sigue siendo válida.

08 · Organización matricial

La misma regla como producto

Agrupemos las derivadas externas en una fila y las internas en una matriz:

[zx zy] = [zu zv] [[ux,uy],[vx,vy]]

La primera componente del producto reproduce zuux+zvvx; la segunda reproduce la suma correspondiente a y.

En notación compacta, si G(x,y)=(u(x,y),v(x,y)):

D(f∘G)=Df(G) DG

El orden importa: las matrices representan aplicaciones que actúan desde las entradas hacia la salida. El tema siguiente desarrollará con detalle la matriz jacobiana, sus dimensiones y la derivada total.

09 · Varias salidas

Aplicar la regla componente por componente

Sea una salida vectorial F(u,v)=(F₁(u,v),F₂(u,v)) y las mismas variables internas u y v. Cada componente tiene su propia regla:

∂Fk/∂x=(∂Fk/∂u)ux+(∂Fk/∂v)vx

para k=1,2, y análogamente respecto de y. Los cuatro resultados forman una matriz.

Ejemplo breve

Si F(u,v)=(u+v,uv), la primera salida propaga derivadas con pesos 1 y 1; la segunda con pesos v y u. Ambas comparten las derivadas internas de u y v.

Esta reutilización es importante: un grafo computacional calcula valores intermedios una vez y acumula luego la influencia de todas las salidas o entradas necesarias.

10 · Evaluar sin perder el punto

Cada capa usa sus propias coordenadas

Si se pide una derivada en (x,y)=(a,b), el procedimiento correcto es:

  1. 1
    Evaluar las variables internas.

    Calculá u₀=g(a,b) y v₀=h(a,b).

  2. 2
    Evaluar derivadas externas en (u₀,v₀).

    No sustituyas (a,b) salvo que coincidan por casualidad.

  3. 3
    Evaluar derivadas internas en (a,b).

    Estas sí pertenecen al espacio de las entradas originales.

  4. 4
    Multiplicar y sumar.

    Conservá las contribuciones separadas hasta el final.

Tabla de valores

En ejercicios extensos conviene crear una tabla con columnas “derivada”, “fórmula”, “punto de evaluación” y “valor”. Esto evita mezclar espacios y facilita revisar el resultado.

11 · Hipótesis y dominio

La composición debe estar definida

No basta con derivar formalmente. La salida de la capa interna debe pertenecer al dominio de la externa. Si:

z=ln(u−v),   u=x²+y²,   v=xy

se requiere u−v>0, es decir, x²−xy+y²>0. Esta expresión solo se anula en el origen, por lo que la composición está definida en ℝ²\{(0,0)}.

Diferenciabilidad de las capas

La regla estándar requiere que la función interna sea diferenciable en la entrada y que la externa sea diferenciable en la salida intermedia correspondiente. La existencia aislada de parciales puede no ser suficiente.

Valores no finitos

En software, raíces de argumentos negativos, logaritmos inválidos o divisiones por cero pueden propagarse por todo el grafo. Validar cada capa permite localizar el origen del problema.

12 · Diferenciación automática

Propagar derivadas por un programa

Un programa puede verse como un grafo de operaciones elementales. La diferenciación automática registra valores y derivadas locales, y aplica exactamente la regla de la cadena.

Modo hacia adelante

Propaga junto con cada valor su derivada respecto de una entrada elegida. Es eficiente cuando hay pocas entradas y muchas salidas.

Modo reverso

Primero evalúa el grafo y luego recorre sus aristas hacia atrás, acumulando cuánto influye cada nodo sobre una salida. Es especialmente eficiente para una salida escalar y muchas entradas; la retropropagación es un caso de este método.

No es diferenciación simbólica ni numérica

No expande una gran fórmula simbólica ni aproxima con pasos finitos. Evalúa derivadas exactas de las operaciones ejecutadas, salvo el redondeo propio de la aritmética.

13 · Exploración interactiva

Laboratorio: seguir todos los caminos

Elegí una composición y un punto. El grafo muestra valores en los nodos y derivadas locales en las aristas. Debajo aparecen las contribuciones de cada camino para x e y.

EXPERIMENTO 22

Grafo computacional y caminos

z=u²+sen(v) · u=x+y · v=xy

Los resultados aparecen debajo.
Variables intermediasu=1,500 · v=0,500
Derivadas externaszᵤ=3,000 · zᵥ=0,878
Caminos desde xzₓ=3,439
Caminos desde yzᵧ=3,878

La regla de la cadena coincide con las diferencias centradas.

Las entradas x e y alimentan los nodos u y v; ambos alimentan z. Cada arista muestra una derivada local evaluada en el punto actual.

Preguntas para explorar

  1. En el primer modelo, compará cómo x e y afectan al nodo producto v.
  2. Buscá un punto donde las dos contribuciones a una derivada tengan signos opuestos.
  3. En el modelo exponencial, observá cómo la misma salida escala todos los caminos.
  4. En el producto uv, localizá un punto donde una derivada externa se anule.
  5. Variá h y compará la regla exacta con la comprobación numérica.

14 · Implementación

Composiciones y derivadas con JavaScript

Regla para dos capas

function cadenaEscalar(derivadasExternas, jacobianaInterna) {
  return jacobianaInterna[0].map((_, columna) =>
    derivadasExternas.reduce(
      (suma, derivada, fila) => suma + derivada * jacobianaInterna[fila][columna],
      0
    )
  );
}

const externas = [3, Math.cos(0.5)];
const internas = [[1, 1], [0.5, 1]];
console.log(cadenaEscalar(externas, internas));

Evaluar el ejemplo completo

function evaluarComposicion(x, y) {
  const u = x + y;
  const v = x * y;
  const z = u ** 2 + Math.sin(v);
  const derivadas = {
    x: 2 * u + Math.cos(v) * y,
    y: 2 * u + Math.cos(v) * x
  };
  return { u, v, z, derivadas };
}

console.log(evaluarComposicion(1, 0.5));

Verificar una parcial numéricamente

function parcialCentrada(funcion, punto, indice, h = 1e-4) {
  const adelante = [...punto];
  const atras = [...punto];
  adelante[indice] += h;
  atras[indice] -= h;
  return (funcion(...adelante) - funcion(...atras)) / (2 * h);
}

const compuesta = (x, y) => (x + y) ** 2 + Math.sin(x * y);
console.log(parcialCentrada(compuesta, [1, 0.5], 0));
console.log(parcialCentrada(compuesta, [1, 0.5], 1));

Conservar valores intermedios en un objeto facilita inspeccionar el cálculo, reutilizar nodos y comparar cada resultado con una aproximación independiente.

15 · Práctica guiada

Ejercicios de comprensión

Ejercicio 1: dos intermediarias

Sea z=e^(u+v), u=x²−y y v=xy. Encontrá zx y zy.

Ver solución razonada

zu=zv=e^(u+v). Además, ux=2x, uy=−1, vx=y y vy=x. Por tanto, zx=e^(u+v)(2x+y) y zy=e^(u+v)(x−1), sustituyendo luego u+v=x²−y+xy.

Ejercicio 2: evaluar correctamente

Para el ejercicio anterior, evaluá las derivadas en (x,y)=(1,2).

Ver solución razonada

En ese punto u=−1, v=2 y e^(u+v)=e. Así, zx=e(2+2)=4e y zy=e(1−1)=0.

Ejercicio 3: dependencia directa

Si z=xu² y u=x+y, calculá zx.

Ver solución razonada

Hay un camino directo y otro mediante u: zx=u²+2xu·ux=u²+2xu. Sustituyendo, zx=(x+y)²+2x(x+y).

Ejercicio 4: tres intermediarias

Sea z=u+v²+w³, con u=x+y, v=xy y w=x−y. Escribí zx.

Ver solución razonada

zx=zuux+zvvx+zwwx=1+2vy+3w². Luego pueden sustituirse v=xy y w=x−y.

Ejercicio 5: dimensiones

Si G:ℝ³→ℝ² y f:ℝ²→ℝ, ¿qué tamaños tienen DG, Df y D(f∘G)?

Ver solución razonada

DG tiene tamaño 2×3, Df tamaño 1×2 y el producto Df·DG tamaño 1×3, correspondiente a una salida escalar con tres entradas.

Ejercicio 6: dominio

Para z=√u y u=1−x²−y², determiná dónde puede aplicarse la fórmula ordinaria.

Ver solución razonada

La composición está definida cuando x²+y²≤1, pero la derivada externa 1/(2√u) requiere u>0. La fórmula diferenciable ordinaria se aplica en el disco abierto x²+y²<1; la frontera necesita análisis aparte.

16 · Errores frecuentes y síntesis

Ideas para recordar

«Solo se elige un camino desde la entrada»

Deben sumarse todos los caminos dirigidos que conectan la entrada con la salida.

«Las derivadas de un camino se suman»

Dentro de cada camino se multiplican. Los productos se suman entre caminos paralelos.

«fᵤ se evalúa en (x,y)»

Se evalúa en los valores intermedios (u(x,y),v(x,y)). Las derivadas internas se evalúan en las entradas.

«Una dependencia directa puede ignorarse»

Si la función externa contiene también la entrada original, aparece un camino adicional y su derivada debe incluirse.

«El orden de las matrices no importa»

La composición determina el orden D(f∘G)=Df(G)DG; el producto inverso puede no estar definido.

«Derivar formalmente garantiza validez»

La composición debe estar definida y las capas deben satisfacer las hipótesis de diferenciabilidad en los puntos correspondientes.

  • Una composición multivariable puede contener varias capas y dependencias compartidas.
  • Cada camino aporta el producto de sus derivadas locales.
  • Las contribuciones de caminos distintos se suman.
  • Los árboles o grafos ayudan a no omitir dependencias.
  • Las derivadas externas e internas se evalúan en espacios diferentes.
  • Las dependencias directas agregan caminos adicionales.
  • La regla general suma sobre todas las variables intermedias.
  • La forma matricial organiza la misma operación como un producto.
  • La diferenciación automática aplica esta regla sobre grafos de programas.

En el próximo tema estudiaremos sistemáticamente la matriz jacobiana y la derivada total para funciones con varias entradas y salidas.