Inicio · Parte 12 — Optimización matemática y computacional
xₖ₊₁ = xₖ − lr·∇f(xₖ)
estabilidad: lr < 2/L, L = mayor autovalor del Hessiano
velocidad limitada por el número de condición L/μ
El descenso de gradiente repite un paso elemental: calcular el gradiente y moverse en dirección contraria una cantidad proporcional al learning rate. Es el algoritmo más simple de la optimización continua y la base de todo el entrenamiento moderno.
Su comportamiento está enteramente gobernado por el learning rate, y el umbral no es difuso. Para una función cuadrática con mayor autovalor L, el descenso converge si y solo si lr < 2/L. Por debajo converge, por encima diverge con oscilaciones que crecen geométricamente. No hay zona gris: es una frontera exacta.
Dentro de la zona estable hay un segundo compromiso. Un lr demasiado pequeño converge con seguridad pero necesita un número de iteraciones prohibitivo; uno cercano al umbral es rápido pero frágil. Y la velocidad máxima alcanzable está limitada por el número de condición L/μ: cuanto más alargado sea el valle, más lento el descenso, por bien elegido que esté el paso.
En la práctica del aprendizaje profundo, L no se conoce y además cambia durante el entrenamiento. De ahí las técnicas habituales: warmup para no divergir al principio, planificadores que reducen el lr progresivamente, y gradient clipping como salvaguarda ante gradientes anómalos. Todas son maneras de mantenerse del lado bueno de un umbral que no se puede calcular.
Doscientas iteraciones sobre x² + 20y² desde (−2, 3).
Hessiano = diag(2, 40) → L = 40 → lr máximo = 2/40 = 0,05
lr f final comportamiento
0,001 1,795891 demasiado lento, no llega
0,010 1,7e-09 converge bien
0,040 3,4e-31 muy rápido, cerca del umbral
0,050 — oscila sin converger
0,060 — diverge, desborda
Con lr = 0,001 y 200 iteraciones, x sigue en −1,34:
la coordenada lenta apenas se ha movido.
Número de condición: 40/2 = 20. Ese 20 es el que
obliga al zigzag y motiva momentum.
Descenso de gradiente y el efecto del learning rate.
python classes/part-12-optimizacion-matematica-y-computacional/244-gradient-descent/lab.py
compmath run 244
funcionpunto_inicialiteracionesresultadoslr_maximo_estableregla{
"funcion": "x² + 20y²",
"punto_inicial": [
-2.0,
3.0
],
"iteraciones": 200,
"resultados": {
"lr=0.001": {
"f_final": 1.795891240566,
"x_final": [
-1.34010323,
0.00085382
]
},
"lr=0.01": {
"f_final": 0.001237343463,
"x_final": [
-0.03517589,
0.0
]
},
"lr=0.049": {
"f_final": 1.4580275e-05,
"x_final": [
-0.0,
0.00085382
]
},
"lr=0.06": {
"f_final": "divergió",
"x_final": "divergió"
}
},
"lr_maximo_estable": 0.05,
"regla": "lr < 2/L donde L es el mayor autovalor del Hessiano"
}
Entrenamiento de cualquier modelo, ajuste de hiperparámetros, planificadores de learning rate y diagnóstico de divergencias.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
9780387400655 verificado en International ISBN Agency (2026-08-19).9780262337373 verificado en International ISBN Agency (2026-08-19).