Descenso por Gradiente
Optimización Continua
El descenso por gradiente es el algoritmo de optimización continua más simple y más usado: para minimizar una f(mathbf{x}) diferenciable, parte de algún mathbf{x}_0 y actualiza iterativamente mathbf{x}_{k+1} = mathbf{x}_k - eta nabla f(mathbf{x}_k), donde eta > 0 es la tasa de aprendizaje. Cada paso
El descenso por gradiente avanza en la dirección del gradiente negativo; la tasa de aprendizaje equilibra estabilidad y velocidad.
Sin descenso por gradiente no hay entrenamiento. Las redes neuronales, la regresión logística, la factorización matricial, los policy gradients en RL — todos se detienen sin esta regla de actualización.
El descenso por gradiente es el algoritmo de optimización continua más simple y más usado: para minimizar una diferenciable, parte de algún y actualiza iterativamente , donde es la tasa de aprendizaje. Cada paso se mueve en la dirección de descenso más empinado — el gradiente negativo — por una cantidad escalada por .
La tasa de aprendizaje es el hiperparámetro más importante. Demasiado pequeña, y la convergencia es glacial. Demasiado grande, y el algoritmo puede sobrepasarse y divergir. Para cuadráticas convexas, la óptima se relaciona con los autovalores del hessiano: por estabilidad, y la tasa de convergencia depende del número de condición . Los problemas mal condicionados ( grande) convergen lento.
Las variantes prácticas incluyen momentum (, paso en ), que acelera en direcciones consistentes y amortigua oscilaciones. Adam adapta tasas de aprendizaje por parámetro siguiendo promedios móviles de gradientes y sus cuadrados — el predeterminado para deep learning. SGD con reinicios cálidos y tasas de aprendizaje cíclicas abordan los retos de paisajes no convexos reseteando periódicamente.
El descenso por gradiente estocástico (SGD) usa un mini-batch aleatorio de datos para estimar , intercambiando varianza por aceleraciones enormes en grandes datasets. Notablemente, SGD a menudo generaliza mejor que el descenso por gradiente exacto — el ruido actúa como regularizador y ayuda a escapar de mínimos agudos. Este es uno de los misterios (y placeres) profundos del deep learning.
El descenso por gradiente no garantiza encontrar un mínimo global en general — solo un punto crítico. Para pérdidas no convexas (como entrenar redes neuronales), podemos caer en mínimos locales, puntos de silla o simplemente estancarnos. En la práctica es el algoritmo principal para entrenar toda red neuronal moderna — un testimonio de qué tan bien navega incluso estos paisajes difíciles cuando se combina con buena inicialización, arquitecturas y estocasticidad.
Ejercicios
Pon a prueba tu comprensión. Puntos por acierto + racha + velocidad.
Confirma que captaste la idea
3 preguntas rápidas. Acertá 2 para marcar esta lección como completada.