Inicio · Parte 08 — Cálculo multivariable, matricial y autodiferenciación
∇f = (∂f/∂x₁, ..., ∂f/∂xₙ)
descenso: x ← x − α∇f
‖∇f‖ = pendiente máxima
El gradiente reúne todas las derivadas parciales en un vector, y ese vector tiene dos propiedades que lo convierten en el objeto central de la optimización: apunta en la dirección de máximo crecimiento y su norma es la pendiente en esa dirección.
La primera propiedad es la que justifica el algoritmo más usado del machine learning moderno. Si el gradiente apunta hacia arriba, moverse en −∇f es la forma más rápida de bajar localmente. x ← x − α∇f es el descenso de gradiente, y toda la parte 12 son variantes de esa línea.
La palabra localmente es esencial. El gradiente solo informa del comportamiento infinitesimal alrededor del punto; nada garantiza que la dirección de máximo descenso local lleve al mínimo global, ni siquiera que sea una buena dirección a media distancia. En un valle alargado, la dirección de máximo descenso es casi perpendicular a la que lleva al mínimo.
La norma del gradiente sirve además como criterio de parada: cerca de un punto crítico, ‖∇f‖ tiende a cero. Es el indicador que usan todos los optimizadores para decidir cuándo detenerse, y es preferible a un número fijo de iteraciones porque se adapta al problema.
Gradiente y verificación de la dirección de ascenso.
f(x,y) = x²y + 3xy² + 2 en el punto (2,3)
∇f = (39, 40), ‖∇f‖ = 55.87
dirección unitaria: (0.6981, 0.7160)
f(2,3) = 68.0
Moverse h = 0.001 en dirección +∇f: 68.055872 ↑
Moverse h = 0.001 en dirección −∇f: 67.944128 ↓
El gradiente sube y su opuesto baja ✓
El gradiente apunta al mayor ascenso.
python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/164-gradiente/lab.py
compmath run 164
puntogradientenormadireccion_unitariaf(p)f(p + h·∇f)f(p - h·∇f)el_gradiente_subedescenso_usa_-∇f{
"punto": [
2.0,
3.0
],
"gradiente": [
39.0,
40.0
],
"norma": 55.865911,
"direccion_unitaria": [
0.6981,
0.716
],
"f(p)": 68.0,
"f(p + h·∇f)": 68.05588145
}
Descenso de gradiente y todas sus variantes, criterios de parada, mapas de saliencia en interpretabilidad y ataques adversariales.
Autograd de PyTorch y JAX es exactamente el modo reverso del grafo de cómputo que se construye en esta parte a mano.
9780387400655 verificado en International ISBN Agency (2026-08-19).10.48550/arxiv.1609.04747 verificado en DataCite (2026-08-19).