Cómo describir derivadas de funciones vectoriales
El Jacobiano es una matriz que contiene todas las derivadas parciales de una función vectorial. Generaliza el concepto de gradiente a funciones con múltiples entradas y múltiples salidas.
👉 Es clave en redes neuronales, especialmente en backpropagation y transformaciones entre capas.
Definición corta
El Jacobiano es una matriz de derivadas parciales para funciones vectoriales.
Definición detallada
Para una función:
El Jacobiano es:
👉 Dimensión: m×n
- filas → salidas
- columnas → entradas
Intuición
El Jacobiano responde:
👉 “¿Cómo cambia cada salida respecto a cada entrada?”
Entrada → múltiples variables
Salida → múltiples funciones
Jacobiano → mapa de sensibilidad completo
Relación con otros conceptos
| Concepto | Tipo |
|---|---|
| Derivada | escalar → escalar |
| Gradiente | escalar → vector |
| Jacobiano | vector → vector |
| Hessiano | vector → matriz (segundo orden) |
Ejemplo simple
Jacobiano:
Interpretación geométrica
El Jacobiano describe:
- escalado
- rotación
- deformación
👉 transformación local del espacio.
Ejemplo conceptual
Espacio original
↓
Transformación
↓
Espacio deformado (Jacobiano describe esto)
Jacobiano en redes neuronales
🔹 1. Backpropagation
Usa la regla de la cadena:
👉 Jacobianos encadenados.
🔹 2. Capas de red
Cada capa:
👉 transforma vectores
🔹 3. Sensibilidad
Permite analizar:
- qué entradas afectan más
- estabilidad del modelo
🔹 4. Normalizing flows
El determinante del Jacobiano:
👉 mide cambio de densidad
Determinante del Jacobiano
👉 indica:
- expansión (|det| > 1)
- contracción (|det| < 1)
Ejemplo paso a paso
Jacobiano:
Ejemplo en Python
import numpy as npdef jacobian(x, y): return np.array([ [2*x, 0], [0, 2*y] ])print(jacobian(2, 3))
Ejemplo en PyTorch
import torchfrom torch.autograd.functional import jacobiandef f(x): return torch.tensor([x[0]**2, x[1]**2])x = torch.tensor([2.0, 3.0])J = jacobian(f, x)print("Jacobiano:\n", J)
Ejemplo con transformación
import torchfrom torch.autograd.functional import jacobiandef f(x): return torch.stack([x[0] + x[1], x[0] - x[1]])x = torch.tensor([1.0, 2.0])print(jacobian(f, x))
Qué muestra este ejemplo
- Derivadas multivariables
- Transformaciones
- Base de backpropagation
Errores comunes
Confundir con gradiente
El Jacobiano es más general.
Ignorar dimensiones
Importante en redes profundas.
No considerar el determinante
Clave en modelos generativos.
Ejemplo conceptual en ML
Entrada
↓
Capas (transformaciones)
↓
Jacobianos encadenados
↓
Salida
Interpretación profunda
El Jacobiano permite:
- entender transformaciones complejas
- analizar sensibilidad
- formalizar backpropagation
- modelar cambios de densidad
👉 Es la base matemática de cómo fluye la información en redes neuronales.
Conclusión
El Jacobiano describe cómo cada entrada afecta a cada salida en funciones vectoriales. Es fundamental en backpropagation, análisis de sensibilidad y transformaciones en redes neuronales.
👉 Es el puente entre derivadas simples y sistemas complejos.
Related Concepts
- Gradiente
- Hessiano
- Regla de la cadena
- Transformación lineal
- Backpropagation