Inicio · Parte 12 — Optimización matemática y computacional
protocolo: mismo punto inicial, mismo lr, mismas iteraciones
reportar f final, ‖∇f‖ y si divergió
no existe un optimizador uniformemente mejor
El capstone somete a siete optimizadores al mismo presupuesto —300 iteraciones, lr común, punto inicial idéntico— sobre dos problemas de dificultad muy distinta: una cuadrática bien condicionada y la función de Rosenbrock, con su valle curvo y estrecho.
El resultado principal es incómodo y verdadero: ningún optimizador gana en ambos. Momentum es el mejor en la cuadrática y diverge en Rosenbrock con el mismo paso. RMSProp gana en Rosenbrock precisamente porque su escalado adaptativo reduce el paso efectivo en las direcciones de gradiente grande. El descenso simple también diverge.
Que la divergencia aparezca en el banco no es un defecto del experimento: es su hallazgo más útil. Un lr = 0,02 perfectamente razonable en una cuadrática con L = 40 es suicida en un valle donde la curvatura local supera con creces ese valor. Esa es exactamente la situación de una red neuronal real, donde L cambia durante el entrenamiento.
La lección metodológica es que comparar optimizadores exige un protocolo: misma semilla, mismo punto inicial, mismo presupuesto de iteraciones y reporte explícito de los que divergieron. Un banco que oculta las divergencias, o que ajusta el lr de cada método por separado sin decirlo, produce rankings que no significan nada.
Banco con presupuesto idéntico sobre dos problemas.
protocolo: 300 iteraciones, lr = 0,02, punto inicial fijo
método cuadrática f Rosenbrock
gd 9,2e-11 divergió
momentum ~1e-14 divergió
nesterov ~1e-14 convergió
adagrad 2,3e-04 convergió
rmsprop 6,9e-03 mejor
adam 5,9e-08 convergió
adamw 6,1e-08 convergió
mejor en cuadrática: momentum
mejor en Rosenbrock: rmsprop
divergieron en Rosenbrock: gd, momentum
El mismo lr no sirve para ambos problemas.
Reportar las divergencias es parte del resultado.
Capstone: banco comparable de optimizadores con presupuesto idéntico.
python classes/part-12-optimizacion-matematica-y-computacional/260-capstone-banco-de-optimizadores-comparables/lab.py
compmath run 260
protocolobancomejor_en_cuadraticamejor_en_rosenbrockdivergieron_en_rosenbrockel_mismo_lr_no_sirve_para_ambos_problemasningun_optimizador_gana_siempreleccioncondicion_de_comparabilidad{
"protocolo": {
"iteraciones": 300,
"learning_rate": 0.02,
"punto_inicial_cuadratica": [
-2.0,
3.0
],
"punto_inicial_rosenbrock": [
-1.2,
1.0
],
"semilla": 20260813
},
"banco": {
"gd": {
"cuadratica_f_final": 9.2e-11,
"cuadratica_|∇f|": 1.9205689e-05,
"rosenbrock_f_final": "divergió",
"rosenbrock_x": "divergió"
},
"momentum": {
"cuadratica_f_final": 4e-12,
"cuadratica_|∇f|": 1.7470171e-05,
"rosenbrock_f_final": "divergió",
"rosenbrock_x": "divergió"
},
"rmsprop": {
"cuadratica_f_final": 0.001882401631,
"cuadratica_|∇f|": 0.378301853221,
"rosenbrock_f_final": 0.240783888483,
"rosenbrock_x": [
0.55098945,
0.32338165
]
},
"adam": {
"cuadratica_f_final": 0.090201412761,
"cuadratica_|∇f|": 2.686280489861,
"rosenbrock_f_final": 3.182427595462,
"rosenbrock_x": [
-0.78297011,
0.61891175
]
}
},
"mejor_en_cuadratica": "momentum",
"mejor_en_rosenbrock": "rmsprop",
"divergieron_en_rosenbrock": [
"gd",
"momentum"
],
"el_mismo_lr_no_sirve_para_ambos_problemas": true
}
Selección de optimizador para un proyecto, benchmarking reproducible, diagnóstico de divergencias en entrenamiento y diseño de experimentos de ablación.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
10.48550/arxiv.2007.01547 verificado en DataCite (2026-08-19).9780387400655 verificado en International ISBN Agency (2026-08-19).