🧮 Computational Mathematics

Inicio · Parte 12

Optimización matemática y computacional

avanzado 20 clases 80 horas estimadas motor part12

Función objetivo, convexidad, descenso de gradiente y su familia completa de optimizadores, métodos de segundo orden, restricciones, KKT y optimización evolutiva.

Panorama de la parte

Entrenar un modelo es resolver un problema de optimización. No es una analogía: es literalmente lo que ocurre. Se define una función objetivo que mide el error, se calcula su gradiente y se desciende. Todo lo demás —arquitecturas, regularización, planificación del learning rate— son decisiones sobre ese problema. Esta parte trata la optimización como lo que es: el motor de la inteligencia artificial moderna.

Las clases 241 a 243 fijan el vocabulario y el concepto que decide la dificultad del problema. En un problema convexo todo mínimo local es global, y eso convierte la optimización en una tarea con garantías. Fuera de la convexidad no hay ninguna: las redes neuronales son masivamente no convexas y aun así se entrenan bien, un hecho que la teoría todavía no explica del todo. Lo que sí se puede afirmar es que cualquier dirección con dᵀ∇f < 0 hace descender la función, y que el gradiente negativo es la más empinada localmente, pero no siempre la mejor globalmente.

Las clases 244 a 251 recorren la familia completa de optimizadores de primer orden, en el orden histórico en que se resolvieron sus problemas. Descenso de gradiente y su tensión con el learning rate: demasiado pequeño no avanza, demasiado grande diverge, y el umbral es 2/L con L el mayor autovalor del Hessiano. SGD cambia exactitud por coste. Momentum amortigua la oscilación en valles estrechos. Nesterov mira adelante antes de decidir. AdaGrad adapta el paso por coordenada, pero su acumulador solo crece y el aprendizaje acaba apagándose; RMSProp lo arregla con olvido exponencial; Adam combina ambos momentos con corrección de sesgo; y AdamW corrige un error sutil de Adam que tardó años en detectarse: el weight decay debe aplicarse desacoplado del gradiente adaptativo, no sumado a él.

Las clases 252 a 254 suben a segundo orden. Newton usa la curvatura y converge en un solo paso en problemas cuadráticos, pero invertir el Hessiano cuesta O(n³) y es impensable con millones de parámetros. BFGS aproxima el Hessiano inverso usando solo gradientes, y la búsqueda de línea con la condición de Armijo elimina la necesidad de fijar el paso a mano.

Las clases 255 a 258 tratan las restricciones. Regularizar es cambiar el objetivo, no añadir un truco: sumar λ‖w‖² es tan parte del problema como el término de error. Los multiplicadores de Lagrange manejan igualdades, las condiciones KKT los generalizan a desigualdades, y la holgura complementaria formaliza la intuición de que una restricción inactiva no influye en la solución.

El cierre incorpora lo que no usa gradiente —optimización evolutiva sobre funciones multimodales— y un banco comparativo con presupuesto idéntico. Ese capstone deja una lección incómoda y verdadera: el mismo learning rate que funciona en una cuadrática hace divergir en Rosenbrock, y comparar optimizadores sin fijar semilla, punto inicial y presupuesto de iteraciones no compara nada.

Recorrido de la parte

Ideas centrales

Por qué importa en IA

AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.

Errores frecuentes

Secuencia de clases

#ClaseDemostración ejecutable
241 Problemas de optimización y función objetivo objective_function
242 Convexidad convexity
243 Gradiente y direcciones de descenso descent_directions
244 Gradient descent gradient_descent
245 Stochastic gradient descent sgd
246 Momentum momentum
247 Nesterov accelerated gradient nesterov
248 AdaGrad adagrad
249 RMSProp rmsprop
250 Adam adam
251 AdamW adamw
252 Método de Newton newton_method
253 Quasi-Newton y BFGS quasi_newton
254 Line search line_search
255 Regularización como optimización regularization_as_optimization
256 Restricciones y Lagrangianos constraints_lagrangian
257 Condiciones KKT kkt_conditions
258 Optimización cuadrática quadratic_programming
259 Optimización evolutiva evolutionary_optimization
260 Capstone: banco de optimizadores comparables capstone_optimizer_bench

Ejecutar la parte completa

compmath run --part 12

Glosario de la parte (33 términos)

TérminoDefiniciónClase
Función objetivo Cantidad que se minimiza o maximiza. Define qué significa mejor en el problema. 241
Variables de decisión Parámetros libres sobre los que se optimiza. 241
Problema irrestricto Aquel sin restricciones sobre las variables. El caso de casi todo entrenamiento de redes. 241
Función convexa La que queda por debajo de cualquier cuerda entre dos de sus puntos. 242
Convexidad y óptimos En un problema convexo todo mínimo local es global. Fuera de él no hay garantía. 242
Hessiano definido positivo Criterio de convexidad estricta: todos los autovalores positivos. 242
Dirección de descenso Cualquier d con dᵀ∇f < 0. El gradiente negativo es la más empinada localmente. 243
Learning rate Tamaño del paso. El hiperparámetro que más veces explica una divergencia. 244
Límite de estabilidad lr < 2/L con L el mayor autovalor del Hessiano. Por encima, el descenso diverge. 244
SGD Gradiente estimado sobre un subconjunto de datos. Más barato y más ruidoso. 245
Mini-batch Lote de muestras para estimar el gradiente. Compromiso entre ruido y coste. 245
Momentum Media móvil de los gradientes. Acelera en direcciones consistentes y amortigua la oscilación. 246
Nesterov Momentum que evalúa el gradiente en el punto adelantado x + βv. 247
AdaGrad Paso adaptativo por coordenada usando la suma acumulada de gradientes al cuadrado. 248
RMSProp AdaGrad con media móvil exponencial en vez de suma. Evita que el paso se apague. 249
Adam Momentum de primer y segundo orden con corrección de sesgo inicial. 250
Corrección de sesgo División por 1 − βᵗ que compensa que los acumuladores empiezan en cero. 250
AdamW Adam con weight decay desacoplado, aplicado al peso y no al gradiente. 251
Método de Newton Usa el Hessiano para elegir dirección y paso. Converge en un paso en cuadráticas. 252
BFGS Cuasi-Newton que aproxima el Hessiano inverso solo con gradientes sucesivos. 253
L-BFGS Variante de memoria limitada que guarda solo los últimos pares de vectores. 253
Condición de Armijo Exige que el paso reduzca la función al menos una fracción de lo que predice el gradiente. 254
Búsqueda por retroceso Probar α, reducirlo a la mitad y repetir hasta cumplir Armijo. 254
Regularización L2 Sumar λ‖w‖² al objetivo. Encoge todos los pesos sin anular ninguno. 255
Regularización L1 Sumar λ‖w‖₁. Produce soluciones dispersas anulando coeficientes. 255
Lagrangiano L = f − Σλᵢgᵢ. Convierte un problema con restricciones de igualdad en uno irrestricto. 256
Multiplicador de Lagrange λ. Mide cuánto mejoraría el óptimo al relajar la restricción una unidad. 256
Condiciones KKT Estacionariedad, factibilidad, no negatividad y holgura complementaria. 257
Holgura complementaria μᵢ·gᵢ(x) = 0. Una restricción inactiva tiene multiplicador cero. 257
Programa cuadrático Objetivo cuadrático con restricciones lineales. Convexo si Q es definida positiva. 258
Algoritmo evolutivo Búsqueda por población con selección, cruce y mutación. No necesita gradiente. 259
Elitismo Conservar los mejores individuos entre generaciones para no perder el óptimo hallado. 259
Presupuesto de iteraciones Número fijo de pasos concedido a cada método para que la comparación sea justa. 260

Bibliografía

Ver el motor en GitHub