Optimización · Matemáticas

Optimización estocástica y para ML

Conectar el descenso de gradiente, el mini-batch y la convexidad con el entrenamiento de modelos de aprendizaje automático.

Optimización estocástica y para ML

Optimizar sobre datos El puente entre la teoría de la optimización y el machine learning práctico es el descenso de gradiente estocástico: aproximaciones baratas del gradiente, repetidas millones de veces, que encuentran buenos mínimos donde lo exacto sería inabordable.

La pérdida como objetivo

Un modelo define una función de pérdida que mide su error en los datos de entrenamiento. Entrenar es minimizar esa pérdida moviendo los parámetros: un problema de optimización puro.

Descenso de gradiente

Se calcula el gradiente de la pérdida y se restan los parámetros en su dirección opuesta, escalados por una tasa de aprendizaje. En un problema convexo, esto converge al óptimo global.

El coste del gradiente completo

Calcular el gradiente sobre todo el conjunto en cada paso es prohibitivo con millones de muestras. Ahí entra la idea estocástica: aproximar con una parte.

Descenso estocástico

Un cuenco teal visto en perspectiva con una trayectoria zigzagueante punteada en coral que baja en pasos desde el borde hasta el fondo, marcado con una estrella.
El descenso estocástico baja la pérdida a zancadas ruidosas: cada paso estima el gradiente con pocos datos.

Mini-batch

El compromiso dominante: estimar el gradiente con un subconjunto de muestras. Equilibra el ruido del ejemplo único y el coste del gradiente lleno, y aprovecha la vectorización de la GPU.

Tasa de aprendizaje

Es el tamaño del paso: demasiado grande oscila o diverge; demasiado pequeño tarda una eternidad. Quizá el hiperparámetro más delicado de todo el entrenamiento.

Momento

Acumula inercia de gradientes previos para suavizar el zigzag y acelerar en direcciones consistentes. Un paso barato que mejora mucho la convergencia.

Métodos adaptativos

Adam y similares ajustan una tasa por parámetro según el historial de sus gradientes, combinando momento y precondición diagonal. Convergen rápido con poca sintonización.

Paisaje no convexo

En redes profundas la pérdida no es convexa: hay mínimos locales y puntos de silla. Aun así, el descenso estocástico encuentra soluciones bastante buenas en la práctica.

Convergencia práctica

Se monitoriza la pérdida de validación y se decae la tasa o se para temprano. La teoría de convergencia guía, pero el criterio se decide con datos.

De la teoría a la trinchera

La convexidad da garantías que el deep learning rara vez tiene; aun así, sus ideas —gradiente, curvatura, dualidad— siguen explicando por qué y cuándo aprende un optimizador.

Errores frecuentes

Ejemplo resuelto: un paso de entrenamiento

Quieres entender qué ocurre realmente en cada iteración de tu red:

  1. Muestreas un mini-batch aleatorio de 64 ejemplos.
  2. Calculas la predicción y la pérdida del lote hacia delante.
  3. Retropropagas para estimar el gradiente medio del lote.
  4. Adam combina momento y precondición para proponer el paso.
  5. Actualizas los pesos y monitorizas la pérdida de validación al cerrar cada época.

¿Para qué sirve en la realidad?

Sin descenso estocástico no habría aprendizaje profundo: es el motor que entrena con millones de ejemplos en horas. Elegir lote, tasa y optimizador decide si tu modelo aprende, se estanca o diverge.

El mini-batch en el entrenamiento de modelos es ante todo un compromiso entre:

En un problema estrictamente convexo y suave, el descenso de gradiente con tasa adecuada converge al mínimo global.

Estocástica

Función que mide el error del modelo y se minimiza
perdida
Dirección en que se mueven los parámetros para reducir la pérdida
gradiente
Tamaño del paso que hay que afinar con cuidado
tasa de aprendizaje
Estimar el gradiente con un subconjunto de ejemplos
mini-batch
Optimizador adaptativo con momento y precondición
adam

Ordena un paso de entrenamiento con mini-batch:

Muestrear
Adelante
Gradiente
Actualizar

Descenso de gradiente estocástico
Optimización iterativa con gradientes estimados.

Une cada ingrediente del optimizador con su función.

Optimizar sobre datos

# Optimización estocástica
## Base
### gradiente
### tasa de aprendizaje
## Estimacion
### sgd ruidoso
### mini-batch equilibrado
## Mejoras
### momento
### adam adaptativo
## Practica
### early stopping
### decaer la tasa

Adam
El optimizador adaptativo que combina momento y precondición diagonal.

Tu pérdida de entrenamiento baja pero la de validación sube. Desde la óptica de la optimización, ¿qué está pasando y qué palancas (tasa, batch, regularización) tocarías?