Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Metodo SGD (Stochastic Gradient Descent): Funda...

Metodo SGD (Stochastic Gradient Descent): Fundamentos Matematicos, Propiedades Numericas y Aplicaciones en Inteligencia Artificial

Avatar for Abraham Zamudio

Abraham Zamudio

May 31, 2026

More Decks by Abraham Zamudio

Other Decks in Education

Transcript

  1. M´ etodo de Optimizaci´ on SGD (Stochastic Gradient Descent): Fundamentos

    Matem´ aticos, Propiedades Num´ ericas y Aplicaciones en Inteligencia Artificial Abraham Zamudio https://www.linkedin.com/in/abraham-zamudio/ 1
  2. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Contents 1 Introducci´ on 5

    1.1 Motivaci´ on hist´ orica del problema de optimizaci´ on . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Importancia de la optimizaci´ on en inteligencia artificial . . . . . . . . . . . . . . . . . . . 5 1.3 Relaci´ on entre aprendizaje estad´ ıstico y optimizaci´ on num´ erica . . . . . . . . . . . . . . . 6 1.4 Problemas de minimizaci´ on en aprendizaje autom´ atico . . . . . . . . . . . . . . . . . . . . 7 1.5 Rol del SGD en modelos modernos de aprendizaje profundo . . . . . . . . . . . . . . . . . 9 1.6 Objetivos y alcance del art´ ıculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Fundamentos Matem´ aticos de la Optimizaci´ on 11 2.1 Espacios vectoriales y funciones reales multivariables . . . . . . . . . . . . . . . . . . . . . 11 2.2 Funciones objetivo y funciones de costo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Problemas de minimizaci´ on sin restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Gradiente y derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Interpretaci´ on geom´ etrica del gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 Norma euclidiana y distancia en espacios m´ etricos . . . . . . . . . . . . . . . . . . . . . . 14 2.7 Superficies de error y paisajes de optimizaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.8 Puntos cr´ ıticos: m´ ınimos, m´ aximos y puntos silla . . . . . . . . . . . . . . . . . . . . . . . 15 2.9 Hessiano y curvatura local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10 Convexidad y optimizaci´ on convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.11 Funciones Lipschitz-continuas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.12 Condiciones necesarias y suficientes de optimalidad . . . . . . . . . . . . . . . . . . . . . . 18 3 Descenso del Gradiente Cl´ asico (Gradient Descent) 18 3.1 Formulaci´ on matem´ atica del m´ etodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Derivaci´ on del algoritmo mediante expansi´ on de Taylor . . . . . . . . . . . . . . . . . . . . 19 3.3 Interpretaci´ on geom´ etrica del descenso del gradiente . . . . . . . . . . . . . . . . . . . . . 20 3.4 Tasa de aprendizaje (learning rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5 Convergencia en funciones convexas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6 Complejidad computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.7 Limitaciones del Gradient Descent cl´ asico . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.8 Problemas asociados al uso de datasets masivos . . . . . . . . . . . . . . . . . . . . . . . . 23 4 Fundamentos Probabil´ ısticos del SGD 24 4.1 Motivaci´ on estad´ ıstica del muestreo aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2 Riesgo emp´ ırico y riesgo esperado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.3 Estimadores insesgados del gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.4 Aproximaci´ on estoc´ astica de Robbins-Monro . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.5 Variables aleatorias y ruido estoc´ astico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.6 Esperanza matem´ atica del gradiente estoc´ astico . . . . . . . . . . . . . . . . . . . . . . . . 27 4.7 Varianza del estimador del gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.8 Convergencia en media y convergencia casi segura . . . . . . . . . . . . . . . . . . . . . . 28 4.9 SGD como proceso din´ amico aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 Formulaci´ on Matem´ atica del SGD 29 5.1 Definici´ on formal del algoritmo SGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2 Diferencias entre GD y SGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.3 Actualizaci´ on iterativa basada en muestras individuales . . . . . . . . . . . . . . . . . . . 31 5.4 SGD usando mini-batches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.5 Funci´ on de p´ erdida promedio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.6 Interpretaci´ on geom´ etrica de las trayectorias de optimizaci´ on . . . . . . . . . . . . . . . . 33 5.7 Influencia del tama˜ no del batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.8 Propiedades computacionales del SGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.9 SGD en espacios de alta dimensi´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 https://educateperuconsultores.com/ P´ ag. 2
  3. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 6 Convergencia y An´ alisis

    Te´ orico 35 6.1 Hip´ otesis matem´ aticas para la convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.2 Convergencia en problemas convexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.3 Convergencia en problemas no convexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.4 Tasas de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.5 Efecto del ruido estoc´ astico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.6 Condiciones sobre la tasa de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.7 Oscilaciones alrededor del ´ optimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.8 Escape de m´ ınimos locales y puntos silla . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.9 An´ alisis asint´ otico del SGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.10 Relaci´ on entre SGD y ecuaciones diferenciales estoc´ asticas . . . . . . . . . . . . . . . . . . 40 7 Tasa de Aprendizaje y Estrategias de Ajuste 41 7.1 Importancia cr´ ıtica del learning rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.2 Learning rate constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.3 Learning rate decreciente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.4 Schedules de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.5 Step decay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.6 Exponential decay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.7 Cosine annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.8 Warm restarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.9 Adaptive learning rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.10 Problemas de divergencia y explosi´ on num´ erica . . . . . . . . . . . . . . . . . . . . . . . . 44 8 Mini-Batch SGD 45 8.1 Motivaci´ on computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8.2 Balance entre ruido y eficiencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8.3 Paralelizaci´ on en GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.4 Batch size y generalizaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.5 Estabilidad num´ erica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.6 Efecto sobre la convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.7 Uso eficiente de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 8.8 Mini-batches en entrenamiento distribuido . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 9 Variantes y Extensiones del SGD 49 9.1 Momentum SGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 9.2 Nesterov Accelerated Gradient (NAG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 9.3 AdaGrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 9.4 RMSProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 9.5 AdaDelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 9.6 Adam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.7 AdamW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.8 AMSGrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.9 Nadam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.10 Lion Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.11 Comparaci´ on matem´ atica entre optimizadores . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.12 Ventajas y limitaciones de cada variante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 10 SGD y Aprendizaje Autom´ atico 54 10.1 Optimizaci´ on en regresi´ on lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 10.2 SGD en regresi´ on log´ ıstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.3 M´ aquinas de soporte vectorial (SVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.4 Redes neuronales artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.5 Funciones de p´ erdida comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.6 Regularizaci´ on L1 y L2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.7 Sobreajuste y generalizaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.8 Entrenamiento incremental y online learning . . . . . . . . . . . . . . . . . . . . . . . . . . 57 10.9 Escalabilidad en datasets masivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 https://educateperuconsultores.com/ P´ ag. 3
  4. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 11 SGD y Aprendizaje Profundo

    58 11.1 Entrenamiento de redes neuronales profundas . . . . . . . . . . . . . . . . . . . . . . . . . 58 11.2 Propagaci´ on hacia atr´ as (Backpropagation) . . . . . . . . . . . . . . . . . . . . . . . . . . 58 11.3 SGD en redes convolucionales (CNN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 11.4 SGD en redes recurrentes (RNN y LSTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 11.5 Optimizaci´ on en Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 11.6 Problemas de gradientes desvanecientes y explosivos . . . . . . . . . . . . . . . . . . . . . 60 11.7 Batch normalization y estabilidad del entrenamiento . . . . . . . . . . . . . . . . . . . . . 60 11.8 Inicializaci´ on de pesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 11.9 Entrenamiento distribuido en GPUs y TPUs . . . . . . . . . . . . . . . . . . . . . . . . . 61 11.10Escalamiento de modelos de gran tama˜ no . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 12 Interpretaci´ on Geom´ etrica y F´ ısica del SGD 62 12.1 Paisajes de p´ erdida en alta dimensi´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 12.2 Trayectorias estoc´ asticas en superficies no convexas . . . . . . . . . . . . . . . . . . . . . . 63 12.3 Din´ amica del SGD como difusi´ on estoc´ astica . . . . . . . . . . . . . . . . . . . . . . . . . 63 12.4 Analog´ ıas con sistemas f´ ısicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 12.5 Energ´ ıa potencial y estabilidad din´ amica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 12.6 SGD y termodin´ amica computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 12.7 Relaci´ on entre ruido y capacidad de generalizaci´ on . . . . . . . . . . . . . . . . . . . . . . 66 13 Implementaci´ on Computacional del SGD 66 13.1 Implementaci´ on b´ asica en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 13.2 Implementaci´ on usando NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 13.3 Implementaci´ on usando PyTorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 13.4 Implementaci´ on usando TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 13.5 Vectorizaci´ on y eficiencia computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 13.6 Uso de GPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 13.7 Monitoreo de m´ etricas de entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 13.8 Visualizaci´ on de curvas de p´ erdida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 13.9 Reproducibilidad experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 13.10Buenas pr´ acticas de implementaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 14 Experimentos Num´ ericos y Casos de Estudio 73 14.1 Optimizaci´ on de una funci´ on cuadr´ atica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 14.2 Comparaci´ on entre GD y SGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 14.3 Efecto del learning rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 14.4 Impacto del tama˜ no del mini-batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 14.5 Comparaci´ on entre SGD y Adam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 14.6 Entrenamiento de una red neuronal simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 14.7 Experimentos sobre datasets reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 14.8 Visualizaci´ on de trayectorias de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . 78 14.9 Sensibilidad a hiperpar´ ametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 14.10Evaluaci´ on del costo computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 15 Ventajas y Limitaciones del SGD 80 15.1 Simplicidad algor´ ıtmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 15.2 Bajo costo computacional por iteraci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 15.3 Escalabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 15.4 Robustez en datasets masivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 15.5 Sensibilidad al learning rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 15.6 Convergencia ruidosa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 15.7 Problemas de estabilidad num´ erica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 15.8 Dependencia de hiperpar´ ametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 15.9 Comparaci´ on frente a m´ etodos de segundo orden . . . . . . . . . . . . . . . . . . . . . . . 83 https://educateperuconsultores.com/ P´ ag. 4
  5. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 16 Aplicaciones Modernas del SGD

    84 16.1 Visi´ on por computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 16.2 Procesamiento de lenguaje natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 16.3 Sistemas de recomendaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.4 Modelos generativos profundos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.5 Modelos fundacionales y LLMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.6 Rob´ otica e inteligencia artificial aut´ onoma . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 16.7 Finanzas cuantitativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 16.8 Bioinform´ atica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 16.9 Series temporales y predicci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 16.10Aprendizaje federado y distribuido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 https://educateperuconsultores.com/ P´ ag. 5
  6. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 1 Introducci´ on 1.1 Motivaci´

    on hist´ orica del problema de optimizaci´ on El problema de optimizaci´ on ha sido uno de los pilares fundamentales de las ciencias exactas desde la antig¨ uedad. Los primeros registros de problemas de optimizaci´ on se remontan a los matem´ aticos griegos, como Euclides y Arqu´ ımedes, quienes abordaron cuestiones geom´ etricas de m´ aximos y m´ ınimos. Sin embargo, fue durante el siglo XVII con el desarrollo del c´ alculo diferencial por Newton y Leibniz que la optimizaci´ on adquiri´ o un marco anal´ ıtico riguroso. La condici´ on necesaria de primer orden para un punto interior ´ optimo, ∇f(x) = 0, y la condici´ on suficiente de segundo orden, ∇2f(x) definida positiva, sentaron las bases para resolver problemas de minimizaci´ on de funciones suaves. A lo largo de los siglos XVIII y XIX, matem´ aticos como Euler, Lagrange y Cauchy desarrollaron m´ etodos sistem´ aticos para encontrar extremos de funciones. Cauchy, en particular, propuso en 1847 el m´ etodo del descenso del gradiente (Gradient Descent) para resolver sistemas de ecuaciones y problemas de minimizaci´ on. Este m´ etodo iterativo, basado en la direcci´ on de m´ axima pendiente negativa, se convirti´ o en el algoritmo de optimizaci´ on de primer orden m´ as influyente de la historia. No obstante, durante gran parte del siglo XX, los m´ etodos de optimizaci´ on se aplicaron principalmente a problemas de ingenier´ ıa, f´ ısica y econom´ ıa, donde los conjuntos de datos eran relativamente peque˜ nos y las funciones objetivo sol´ ıan ser convexas o bien comportadas. La revoluci´ on computacional de mediados del siglo XX trajo consigo la necesidad de optimizar fun- ciones definidas sobre conjuntos de datos masivos. En estad´ ıstica, el m´ etodo de m´ ınimos cuadrados para regresi´ on lineal requiere minimizar la suma de errores cuadr´ aticos, lo cual tiene soluci´ on anal´ ıtica mediante ecuaciones normales. Sin embargo, cuando el n´ umero de observaciones n o el n´ umero de car- acter´ ısticas d es muy grande, la inversi´ on de la matriz XT X se vuelve computacionalmente prohibitiva, con costo O(d3). Esto motiv´ o la b´ usqueda de algoritmos iterativos que no requirieran procesar todo el conjunto de datos en cada iteraci´ on. El verdadero punto de inflexi´ on ocurri´ o en la d´ ecada de 1950 con el trabajo de Robbins y Monro (1951) sobre aproximaci´ on estoc´ astica. Introdujeron un m´ etodo iterativo para encontrar ra´ ıces de fun- ciones desconocidas observadas con ruido, estableciendo las condiciones de convergencia para tasas de aprendizaje decrecientes. Este trabajo es considerado el antecedente directo del Stochastic Gradient De- scent (SGD). A˜ nos despu´ es, Kiefer y Wolfowitz (1952) propusieron una versi´ on estoc´ astica del m´ etodo de gradiente que no requer´ ıa evaluar el gradiente exacto, sino solo diferencias finitas perturbadas. En el contexto del aprendizaje autom´ atico, el trabajo pionero de Widrow y Hoff (1960) sobre el al- goritmo LMS (Least Mean Squares) para redes adaptativas utilizaba una actualizaci´ on estoc´ astica del gradiente, aunque no lo denominaron SGD expl´ ıcitamente. Fue en la d´ ecada de 1980 cuando inves- tigadores como Rumelhart, Hinton y Williams (1986) popularizaron el algoritmo de retropropagaci´ on (backpropagation) para entrenar redes neuronales multicapa, y el SGD se convirti´ o en el optimizador por defecto debido a su capacidad para manejar grandes vol´ umenes de datos y su simplicidad conceptual. La motivaci´ on hist´ orica del problema de optimizaci´ on no puede entenderse sin considerar la maldici´ on de la dimensionalidad. A medida que los sistemas de inteligencia artificial evolucionaron hacia modelos con millones e incluso miles de millones de par´ ametros, los m´ etodos de optimizaci´ on cl´ asicos basados en gradiente completo se volvieron inviables. El SGD emergi´ o como la soluci´ on natural: en lugar de calcular el gradiente sobre todo el conjunto de entrenamiento, utiliza una o unas pocas muestras aleatorias para estimar el gradiente verdadero, reduciendo dr´ asticamente el costo computacional por iteraci´ on y permitiendo el entrenamiento de modelos profundos a gran escala. 1.2 Importancia de la optimizaci´ on en inteligencia artificial La inteligencia artificial (IA) moderna, y particularmente el aprendizaje autom´ atico (machine learning) y el aprendizaje profundo (deep learning), dependen intr´ ınsecamente de la optimizaci´ on num´ erica. Todo problema de aprendizaje supervisado se reduce a minimizar una funci´ on de p´ erdida (o costo) que mide la discrepancia entre las predicciones del modelo y las etiquetas reales de los datos. Sin algoritmos de optimizaci´ on eficientes, ser´ ıa imposible ajustar los par´ ametros de modelos complejos a conjuntos de datos del mundo real. La importancia de la optimizaci´ on en IA se manifiesta en varios niveles fundamentales. En primer lugar, la capacidad de generalizaci´ on de un modelo est´ a directamente vinculada a la calidad del ´ optimo alcanzado durante el entrenamiento. Un modelo que no converge a un m´ ınimo razonable de la funci´ on de p´ erdida producir´ a predicciones err´ oneas. Por el contrario, un modelo que sobreajusta (overfitting) puede alcanzar un m´ ınimo muy profundo en el conjunto de entrenamiento pero generalizar mal. Por lo https://educateperuconsultores.com/ P´ ag. 6
  7. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso tanto, la optimizaci´ on no

    solo busca minimizar la p´ erdida, sino que debe hacerlo de manera que favorezca soluciones que capturen patrones genuinos y no ruido espurio. En segundo lugar, la escalabilidad de los algoritmos de optimizaci´ on determina qu´ e tipos de problemas pueden abordarse. Los m´ etodos de segundo orden, como el m´ etodo de Newton, convergen en menos iteraciones pero requieren calcular y almacenar la matriz Hessiana (o su inversa), lo cual es imposible para modelos con millones de par´ ametros. Los m´ etodos de primer orden, y especialmente el SGD, ofrecen un compromiso pr´ actico: cada iteraci´ on es barata y el progreso hacia el ´ optimo, aunque ruidoso, es suficiente para alcanzar soluciones de buena calidad. En tercer lugar, la optimizaci´ on es el motor que permite el aprendizaje en tiempo real (online learn- ing). En aplicaciones como sistemas de recomendaci´ on, publicidad program´ atica o veh´ ıculos aut´ onomos, los datos llegan en flujo continuo y los modelos deben actualizarse incrementalmente. El SGD, con su ca- pacidad de actualizar par´ ametros muestra por muestra, es el algoritmo ideal para entornos de aprendizaje en l´ ınea. Un aspecto frecuentemente subestimado es la interacci´ on entre la optimizaci´ on y la arquitectura del modelo. Por ejemplo, la elecci´ on de funciones de activaci´ on no lineales (ReLU, sigmoide, tanh) afecta la forma del paisaje de p´ erdida y, por ende, el comportamiento del SGD. Las t´ ecnicas de normalizaci´ on (batch normalization, layer normalization) fueron desarrolladas precisamente para estabilizar la opti- mizaci´ on y permitir tasas de aprendizaje m´ as altas. Asimismo, la inicializaci´ on de pesos (Xavier, He) es cr´ ıtica para evitar gradientes desvanecientes o explosivos en redes profundas, problemas que el SGD por s´ ı solo no puede resolver. La optimizaci´ on tambi´ en juega un papel crucial en la investigaci´ on de nuevas arquitecturas. El ´ exito de Transformers en procesamiento de lenguaje natural, por ejemplo, no habr´ ıa sido posible sin opti- mizadores como Adam (una variante del SGD con momentos adaptativos) que manejan eficientemente las escalas variables de los gradientes. De manera similar, los modelos generativos como GANs (Gen- erative Adversarial Networks) requieren resolver un problema de optimizaci´ on minimax, donde SGD se aplica alternativamente al generador y al discriminador. Desde una perspectiva pr´ actica, la eficiencia de los algoritmos de optimizaci´ on tiene un impacto econ´ omico directo. Entrenar modelos de lenguaje grandes (LLMs) como GPT-4 o BERT cuesta millones de d´ olares en recursos computacionales. Mejoras marginales en la velocidad de convergencia o en el uso de memoria pueden traducirse en ahorros significativos. Por esta raz´ on, los laboratorios de IA invierten grandes esfuerzos en investigar variantes de SGD, programaci´ on de tasas de aprendizaje (learning rate schedules) y t´ ecnicas de paralelizaci´ on. Finalmente, la optimizaci´ on es el puente entre la teor´ ıa estad´ ıstica del aprendizaje y la implementaci´ on pr´ actica. La teor´ ıa del riesgo emp´ ırico establece que minimizar la p´ erdida emp´ ırica sobre un conjunto de entrenamiento es una aproximaci´ on al verdadero riesgo esperado. El SGD, al utilizar estimaciones estoc´ asticas del gradiente, introduce ruido que puede actuar como regularizador impl´ ıcito, mejorando la capacidad de generalizaci´ on. Este fen´ omeno, conocido como “efecto regularizador del ruido estoc´ astico”, es un ´ area activa de investigaci´ on que conecta la optimizaci´ on con la teor´ ıa de la generalizaci´ on. 1.3 Relaci´ on entre aprendizaje estad´ ıstico y optimizaci´ on num´ erica El aprendizaje estad´ ıstico y la optimizaci´ on num´ erica est´ an intr´ ınsecamente entrelazados, formando una simbiosis conceptual que ha definido el desarrollo de la inteligencia artificial moderna. Para comprender esta relaci´ on, es necesario partir del marco fundamental del aprendizaje supervisado. Dado un espacio de entrada X (por ejemplo, im´ agenes, texto, vectores num´ ericos) y un espacio de salida Y (etiquetas de clase, valores reales), se asume la existencia de una distribuci´ on de probabilidad conjunta desconocida P(x, y) sobre X × Y. El objetivo del aprendizaje es encontrar una funci´ on hip´ otesis h : X → Y, parametrizada por un vector θ ∈ Rd, que minimice el riesgo esperado: R(θ) = E(x,y)∼P [L(hθ (x), y)] (1) donde L : Y × Y → R+ es una funci´ on de p´ erdida que cuantifica el error de predicci´ on. El problema fundamental es que P es desconocida; solo se dispone de un conjunto finito de muestras independientes e id´ enticamente distribuidas (i.i.d.) {(xi , yi )}n i=1 . Por lo tanto, en lugar de minimizar R(θ), se minimiza el riesgo emp´ ırico: ˆ Rn (θ) = 1 n n i=1 L(hθ (xi ), yi ) (2) https://educateperuconsultores.com/ P´ ag. 7
  8. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Este proceso, denominado principio de

    minimizaci´ on del riesgo emp´ ırico (ERM), reduce un problema estad´ ıstico (inferir a partir de datos) a un problema de optimizaci´ on determinista: encontrar θ∗ = arg minθ ˆ Rn (θ). Aqu´ ı es donde los algoritmos de optimizaci´ on num´ erica, y espec´ ıficamente el SGD, entran en juego. La conexi´ on entre ambos campos va m´ as all´ a de la mera aplicaci´ on de herramientas de optimizaci´ on a problemas estad´ ısticos. Existe un di´ alogo bidireccional. Por un lado, la teor´ ıa del aprendizaje propor- ciona criterios sobre qu´ e tipo de soluciones son deseables: una soluci´ on con riesgo emp´ ırico muy bajo pero con alta complejidad puede sobreajustarse, mientras que una soluci´ on con riesgo emp´ ırico ligeramente superior pero m´ as simple puede generalizar mejor. Este trade-off se formaliza mediante la descomposici´ on sesgo-varianza y las cotas de generalizaci´ on basadas en la complejidad de Vapnik-Chervonenkis o la di- mensi´ on de Rademacher. La optimizaci´ on, por su parte, debe encontrar soluciones que no solo minimicen ˆ Rn sino que tambi´ en posean propiedades de regularizaci´ on impl´ ıcita. Un aspecto fascinante es que el propio algoritmo de optimizaci´ on induce una forma de regularizaci´ on. El SGD, al actualizar los par´ ametros utilizando gradientes estimados a partir de subconjuntos aleatorios, introduce ruido en la trayectoria de optimizaci´ on. Este ruido tiene el efecto de sesgar la soluci´ on hacia m´ ınimos planos (flat minima) en lugar de m´ ınimos agudos (sharp minima), y se ha observado que los m´ ınimos planos tienden a generalizar mejor. Este descubrimiento, debido a Hochreiter y Schmidhuber (1997) y posteriormente refinado por Keskar et al. (2017), establece una conexi´ on profunda entre la din´ amica del optimizador y las propiedades estad´ ısticas de la soluci´ on. Desde una perspectiva matem´ atica, el problema de optimizaci´ on en aprendizaje autom´ atico presenta caracter´ ısticas distintivas que lo diferencian de los problemas cl´ asicos de optimizaci´ on. En primer lugar, la funci´ on objetivo ˆ Rn (θ) es una suma de n t´ erminos, donde n puede ser millones o miles de millones. Evaluar el gradiente completo ∇ ˆ Rn (θ) = 1 n n i=1 ∇L(hθ (xi ), yi ) tiene un costo O(nd), que es prohibitivo si n es grande y se requieren muchas iteraciones. En segundo lugar, la funci´ on es t´ ıpicamente no convexa debido a las arquitecturas profundas y las activaciones no lineales. Esto implica que el paisaje de p´ erdida est´ a plagado de m´ ultiples m´ ınimos locales, puntos silla y mesetas. La optimizaci´ on global es te´ oricamente intratable (NP-dif´ ıcil en muchos casos), pero afortunadamente, para redes neuronales sobredimensionadas, la mayor´ ıa de los m´ ınimos locales tienen valores de p´ erdida similares y cercanos al global. En tercer lugar, la estructura de suma de ˆ Rn permite el uso de gradientes estoc´ asticos. El SGD explota el hecho de que el gradiente sobre un subconjunto aleatorio (mini-batch) es un estimador insesgado del gradiente completo: E 1 |B| i∈B ∇L(hθ (xi ), yi ) = ∇ ˆ Rn (θ) (3) Esta propiedad probabil´ ıstica es la piedra angular que permite reducir dr´ asticamente el costo com- putacional por iteraci´ on de O(nd) a O(|B|d), donde |B| ≪ n. A cambio, el gradiente estoc´ astico introduce ruido con varianza que decrece a medida que aumenta el tama˜ no del mini-batch. La relaci´ on entre aprendizaje estad´ ıstico y optimizaci´ on tambi´ en se manifiesta en el concepto de ϵ- ´ optimo. En optimizaci´ on, se busca θ tal que ˆ Rn (θ)− ˆ Rn (θ∗) ≤ ϵ. En aprendizaje estad´ ıstico, nos interesa R(θ) − R(θ∗), pero θ∗ minimiza el riesgo esperado, no el emp´ ırico. La teor´ ıa del aprendizaje estad´ ıstico proporciona cotas para la diferencia entre el riesgo emp´ ırico y el esperado, de modo que minimizar ˆ Rn es suficiente si n es grande. El SGD, al ser un algoritmo de optimizaci´ on aproximada, introduce un error de optimizaci´ on adicional. El error total de generalizaci´ on puede descomponerse como: R(ˆ θ) − R(θ∗) = R(ˆ θ) − ˆ Rn (ˆ θ) + ˆ Rn (ˆ θ) − ˆ Rn (θ∗) + ˆ Rn (θ∗) − R(θ∗) (4) El primer t´ ermino es el error de generalizaci´ on (gap entre riesgo emp´ ırico y verdadero), el segundo es el error de optimizaci´ on (qu´ e tan bien minimizamos el riesgo emp´ ırico) y el tercero es un sesgo constante. El SGD afecta principalmente el segundo t´ ermino, pero mediante el ruido estoc´ astico puede influir en el primero, mejorando la generalizaci´ on. 1.4 Problemas de minimizaci´ on en aprendizaje autom´ atico El aprendizaje autom´ atico plantea una diversidad de problemas de minimizaci´ on, cada uno con su propia estructura matem´ atica y desaf´ ıos computacionales. La comprensi´ on de estos problemas es esencial para apreciar por qu´ e el SGD se ha convertido en el algoritmo de optimizaci´ on dominante. https://educateperuconsultores.com/ P´ ag. 8
  9. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Regresi´ on lineal: El problema

    m´ as simple pero fundamental. Dado un conjunto de datos {(xi , yi )}n i=1 con xi ∈ Rd e yi ∈ R, se busca un vector de pesos θ que minimice el error cuadr´ atico medio: ˆ Rn (θ) = 1 2n n i=1 (yi − θT xi )2 (5) El factor 1/2 es por conveniencia algebraica. La funci´ on es convexa, diferenciable y su gradiente es ∇ ˆ Rn (θ) = − 1 n n i=1 (yi − θT xi )xi = XT (Xθ − y)/n, donde X es la matriz de dise˜ no. La soluci´ on anal´ ıtica θ∗ = (XT X)−1XT y existe pero es costosa. El SGD puede aplicarse muestreando un i aleatorio y actualizando θt+1 = θt + η(yi − θT t xi )xi . Regresi´ on log´ ıstica: Para clasificaci´ on binaria con yi ∈ {0, 1}, se modela P(y = 1|x) = σ(θT x) donde σ(z) = 1/(1+e−z) es la funci´ on sigmoide. La p´ erdida de log-verosimilitud negativa (cross-entropy) es: ˆ Rn (θ) = − 1 n n i=1 yi log(σ(θT xi )) + (1 − yi ) log(1 − σ(θT xi )) (6) Esta funci´ on es convexa en θ, pero no tiene soluci´ on anal´ ıtica cerrada. El gradiente resulta ∇ ˆ Rn (θ) = 1 n n i=1 (σ(θT xi ) − yi )xi . El SGD converge a la soluci´ on ´ optima global gracias a la convexidad. M´ aquinas de vectores soporte (SVM): Para clasificaci´ on, el SVM con kernel lineal minimiza: ˆ Rn (θ) = λ 2 ∥θ∥2 + 1 n n i=1 max(0, 1 − yi θT xi ) (7) donde yi ∈ {−1, 1}. La primera parte es un t´ ermino de regularizaci´ on L2 (con par´ ametro λ > 0), y la segunda es la p´ erdida hinge. Esta funci´ on es convexa pero no suave en los puntos donde 1 − yi θT xi = 0. El SGD puede manejarlo mediante subgradientes. Una variante popular es Pegasos (Shalev-Shwartz et al., 2011), que utiliza SGD con proyecci´ on. Redes neuronales (aprendizaje profundo): El problema paradigm´ atico donde el SGD brilla. Una red neuronal profunda es una composici´ on de funciones lineales y no lineales: hθ (x) = f(L)(W(L)f(L−1)(W(L−1) · · · f(1)(W(1)x + b(1)) · · · + b(L−1)) + b(L)) (8) donde θ comprende todas las matrices de pesos W(l) y sesgos b(l), y f(l) son funciones de activaci´ on como ReLU, sigmoide, o tanh. La funci´ on de p´ erdida depende de la tarea: error cuadr´ atico para regresi´ on, cross-entropy para clasificaci´ on. La funci´ on objetivo es altamente no convexa, y el gradiente se calcula mediante la regla de la cadena (backpropagation) con costo O(|θ|) por muestra. El SGD con mini- batches es pr´ acticamente el ´ unico m´ etodo viable para entrenar redes profundas debido a la imposibilidad de calcular el gradiente completo. Descomposici´ on de matrices y factorizaci´ on: En sistemas de recomendaci´ on, se busca factorizar una matriz de ratings R ∈ Rm×n (con muchas entradas faltantes) como producto de dos matrices U ∈ Rm×k y V ∈ Rn×k minimizando: ˆ Rn = (i,j)∈Ω (Rij − Ui V T j )2 + λ(∥U∥2 F + ∥V ∥2 F ) (9) donde Ω es el conjunto de entradas observadas. Este problema es no convexo debido al producto Ui V T j , pero el SGD puede aplicarse eficientemente actualizando solo las filas involucradas en cada rating observado. Es un ejemplo t´ ıpico de aprendizaje online. Modelos probabil´ ısticos con variables latentes: La estimaci´ on de m´ axima verosimilitud en modelos como mezclas de Gaussianas, modelos ocultos de Markov (HMM), o m´ aquinas de Boltzmann restringidas (RBM), conduce a problemas de optimizaci´ on donde la funci´ on objetivo involucra integrales o sumas sobre variables latentes. El algoritmo EM (Expectation-Maximization) es la herramienta cl´ asica, pero sus variantes estoc´ asticas (Stochastic EM, incremental EM) se basan en principios similares al SGD. Aprendizaje por refuerzo (RL): En RL, se busca optimizar la pol´ ıtica πθ (a|s) para maximizar la recompensa esperada. El gradiente de la pol´ ıtica (policy gradient) se estima mediante muestreo de trayectorias, y la actualizaci´ on de par´ ametros sigue una forma estoc´ astica similar al SGD, pero con gradientes que pueden tener alta varianza. Algoritmos como REINFORCE, Actor-Critic y PPO son extensiones del SGD al contexto secuencial. https://educateperuconsultores.com/ P´ ag. 9
  10. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Un aspecto com´ un a

    todos estos problemas es que la funci´ on objetivo es una suma de t´ erminos independientes (o casi independientes), lo que permite la descomposici´ on estoc´ astica. Adem´ as, la reg- ularizaci´ on es ubicua para controlar la complejidad del modelo y evitar sobreajuste. El SGD maneja naturalmente la regularizaci´ on a˜ nadiendo un t´ ermino de decaimiento de peso (weight decay), que corre- sponde a actualizar θt+1 = (1 − ηλ)θt − η∇Li (θt ). 1.5 Rol del SGD en modelos modernos de aprendizaje profundo El aprendizaje profundo ha revolucionado campos como la visi´ on por computadora, el procesamiento de lenguaje natural y la rob´ otica. En el coraz´ on de esta revoluci´ on se encuentra el algoritmo Stochastic Gradient Descent, no como un mero componente t´ ecnico, sino como un habilitador fundamental que hace posible entrenar modelos con decenas de miles de millones de par´ ametros sobre conjuntos de datos de escalas sin precedentes. Para apreciar el rol del SGD en el deep learning moderno, es necesario considerar la escala de los problemas actuales. El modelo GPT-3 (Generative Pre-trained Transformer 3) tiene aproximadamente 175 mil millones de par´ ametros y fue entrenado en aproximadamente 45 terabytes de texto. El gradiente completo con respecto a todos los par´ ametros ser´ ıa un vector de 175 mil millones de componentes. Calcular este gradiente requerir´ ıa procesar todos los datos (cientos de miles de millones de tokens) en cada iteraci´ on, lo cual es computacionalmente inviable incluso con los superordenadores m´ as potentes. El SGD, con mini-batches t´ ıpicos de 0.5 a 2 millones de tokens (¡todav´ ıa enormes para los est´ andares acad´ emicos, pero peque˜ nos en comparaci´ on con el total), permite actualizar los par´ ametros miles de veces por segundo en clusters de GPUs. El rol del SGD trasciende la mera eficiencia computacional. En el entrenamiento de redes profundas, las propiedades din´ amicas del algoritmo afectan la calidad de la soluci´ on final. Por ejemplo, se ha observado que el SGD tiende a converger a regiones del espacio de par´ ametros donde la matriz Hessiana tiene valores propios peque˜ nos (m´ ınimos planos), mientras que el gradiente completo (batch gradient descent) puede converger a m´ ınimos agudos. Los m´ ınimos planos son deseables porque son m´ as robustos a peque˜ nas perturbaciones en los par´ ametros o en los datos de entrada, lo que se traduce en una mejor capacidad de generalizaci´ on. Este fen´ omeno se ha estudiado te´ oricamente mediante el concepto de “ruido de aniquilaci´ on” (annealed noise) y la teor´ ıa de la matriz de covarianza del gradiente. Otro rol cr´ ıtico del SGD es su capacidad para escapar de puntos silla. En funciones no convexas de alta dimensi´ on, los puntos silla (donde el gradiente es cero pero el Hessiano tiene valores propios tanto positivos como negativos) son mucho m´ as abundantes que los m´ ınimos locales. Los m´ etodos de gradiente determinista pueden quedar atrapados en puntos silla si la direcci´ on de m´ axima curvatura negativa no est´ a alineada con el gradiente. Por el contrario, el ruido estoc´ astico inherente al SGD proporciona una fuente de excitaci´ on que permite al algoritmo “empujar” lejos de los puntos silla, continuando hacia regiones de menor p´ erdida. Se ha demostrado que el SGD, con una tasa de aprendizaje adecuada, escapa de puntos silla en tiempo polinomial. En la pr´ actica, el SGD se utiliza casi siempre en su variante mini-batch, con tama˜ nos de lote que var´ ıan desde 1 (SGD puro) hasta varios miles o millones. La elecci´ on del tama˜ no del lote tiene implicaciones profundas. Lotes peque˜ nos introducen m´ as ruido, lo que puede ayudar a escapar de m´ ınimos locales pobres y mejorar la generalizaci´ on, pero tambi´ en hacen que la convergencia sea m´ as err´ atica y requieren m´ as iteraciones. Lotes grandes proporcionan estimaciones m´ as precisas del gradiente, permitiendo el uso de tasas de aprendizaje m´ as altas y una convergencia m´ as r´ apida en t´ erminos de iteraciones, pero pueden llevar a soluciones que generalizan peor. Existe una literatura extensa sobre el “trade-off de generalizaci´ on del tama˜ no del lote”, con evidencia emp´ ırica de que lotes peque˜ nos a menudo producen modelos con mejor rendimiento en datos de prueba. El SGD tambi´ en se combina con t´ ecnicas de aceleraci´ on como el momentum (impulso), que acumula una media exponencial de los gradientes pasados para suavizar las oscilaciones y acelerar la convergencia en direcciones de curvatura persistente. El optimizador Adam, que combina momentum con adaptaci´ on de tasa de aprendizaje por par´ ametro, ha demostrado ser especialmente efectivo para Transformers y redes con capas de embedding dispersas. Sin embargo, el SGD cl´ asico con momentum (a menudo llamado SGD con Nesterov) sigue siendo ampliamente utilizado en problemas de visi´ on por computadora y en entrenamiento de redes convolucionales (CNNs) porque tiende a encontrar m´ ınimos m´ as planos que Adam. Un aspecto pr´ actico crucial es la programaci´ on de la tasa de aprendizaje (learning rate scheduling). El entrenamiento moderno de modelos profundos casi siempre involucra una tasa de aprendizaje que disminuye seg´ un una agenda predefinida: reducci´ on por pasos (step decay), decaimiento exponencial, https://educateperuconsultores.com/ P´ ag. 10
  11. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso o annealing coseno con reinicios

    c´ alidos (cosine annealing with warm restarts). La tasa de aprendizaje inicial es t´ ıpicamente del orden de 10−2 a 10−4 dependiendo de la arquitectura y el optimizador. El descenso de la tasa de aprendizaje permite al SGD realizar exploraciones a gran escala en fases tempranas y luego afinar la soluci´ on en fases tard´ ıas. El rol del SGD se extiende tambi´ en al entrenamiento distribuido y paralelo. Para acelerar el en- trenamiento de modelos a gran escala, se emplean t´ ecnicas como el SGD s´ ıncrono con m´ ultiples GPUs (data parallelism), donde cada GPU procesa un mini-batch diferente y los gradientes se promedian antes de actualizar los par´ ametros. El SGD as´ ıncrono (como en el algoritmo Hogwild! de Recht et al., 2011) permite que m´ ultiples procesos actualicen los par´ ametros sin bloqueos, aprovechando la naturaleza tol- erante a fallos del ruido estoc´ astico. Estos m´ etodos han sido esenciales para escalar el entrenamiento a cientos o miles de dispositivos. Finalmente, el SGD juega un papel fundamental en la interpretabilidad y depuraci´ on de modelos profundos. Monitorear la evoluci´ on de la p´ erdida y la precisi´ on durante el entrenamiento proporciona informaci´ on sobre si el modelo est´ a aprendiendo (p´ erdida decreciente), sobreajustando (brecha entre en- trenamiento y validaci´ on), o sufriendo de gradientes explosivos (p´ erdida NaN). Las curvas de aprendizaje son una herramienta diagn´ ostica indispensable para investigadores e ingenieros. 1.6 Objetivos y alcance del art´ ıculo Este art´ ıculo tiene como objetivo principal proporcionar un tratamiento exhaustivo, riguroso y auto- contenido del m´ etodo de optimizaci´ on Stochastic Gradient Descent, abarcando desde sus fundamentos matem´ aticos m´ as elementales hasta las variantes modernas utilizadas en sistemas de inteligencia arti- ficial de vanguardia. A diferencia de muchos textos que presentan el SGD de manera superficial, este trabajo se esfuerza por desarrollar cada concepto con el nivel de detalle necesario para que un lector con formaci´ on b´ asica en c´ alculo, ´ algebra lineal y probabilidad pueda alcanzar una comprensi´ on profunda tanto te´ orica como pr´ actica. Los objetivos espec´ ıficos se articulan en torno a los siguientes ejes: • Fundamentaci´ on te´ orica: Establecer los principios matem´ aticos subyacentes al SGD, incluyendo las condiciones de convergencia en escenarios convexos y no convexos, el an´ alisis del ruido es- toc´ astico y su influencia en la din´ amica de optimizaci´ on, y la relaci´ on con ecuaciones diferenciales estoc´ asticas. Se derivar´ an cotas de convergencia expl´ ıcitas y se discutir´ an los supuestos necesarios (Lipschitz continuidad del gradiente, convexidad, acotaci´ on de la varianza). • Aspectos num´ ericos y computacionales: Analizar en profundidad el impacto de los hiper- par´ ametros (tasa de aprendizaje, tama˜ no del mini-batch, momentum, decaimiento de peso) sobre la velocidad de convergencia, la estabilidad num´ erica y la calidad de la soluci´ on. Se presentar´ an implementaciones eficientes en Python, NumPy, PyTorch y TensorFlow, con ´ enfasis en la vector- izaci´ on y el uso de GPUs. • Variantes algor´ ıtmicas: Realizar una comparaci´ on sistem´ atica de las principales extensiones del SGD: Momentum, Nesterov Accelerated Gradient, AdaGrad, RMSProp, AdaDelta, Adam, AdamW, AMSGrad, Nadam y Lion. Para cada una se presentar´ a la formulaci´ on matem´ atica, la intuici´ on detr´ as de los mecanismos adaptativos, las ventajas y limitaciones, y la evidencia emp´ ırica de su desempe˜ no en tareas representativas. • Aplicaciones en IA: Demostrar la aplicabilidad del SGD en problemas concretos de aprendizaje autom´ atico y aprendizaje profundo, incluyendo regresi´ on lineal y log´ ıstica, m´ aquinas de vectores soporte, redes neuronales fully connected, redes convolucionales (CNN), redes recurrentes (RNN, LSTM), Transformers y modelos fundacionales (LLMs). Se discutir´ an los desaf´ ıos espec´ ıficos de cada arquitectura y c´ omo el SGD (o sus variantes) los aborda. • Interpretaci´ on geom´ etrica y f´ ısica: Proporcionar una visualizaci´ on intuitiva del compor- tamiento del SGD en paisajes de p´ erdida de alta dimensi´ on, utilizando conceptos de energ´ ıa poten- cial, difusi´ on estoc´ astica y termodin´ amica computacional. Se explicar´ a por qu´ e el ruido estoc´ astico favorece m´ ınimos planos y c´ omo esto se relaciona con la capacidad de generalizaci´ on. • Experimentaci´ on y reproducibilidad: Incluir experimentos num´ ericos detallados que ilustren los conceptos te´ oricos, comparando el desempe˜ no de diferentes configuraciones y optimizadores sobre funciones de prueba sint´ eticas y datasets reales (como MNIST, CIFAR-10, ImageNet). Se https://educateperuconsultores.com/ P´ ag. 11
  12. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso proporcionar´ a el c´ odigo

    fuente completo y las instrucciones para reproducir todos los resultados presentados. En cuanto al alcance, este art´ ıculo se centra exclusivamente en m´ etodos de optimizaci´ on de primer orden basados en gradientes estoc´ asticos. No se cubren en detalle m´ etodos de segundo orden (Newton, cuasi-Newton, BFGS) ni m´ etodos de b´ usqueda global (recocido simulado, algoritmos gen´ eticos), salvo referencias comparativas puntuales. Tampoco se aborda la optimizaci´ on multiobjetivo, la optimizaci´ on con restricciones (aunque se mencionar´ a brevemente la proyecci´ on), o la optimizaci´ on en espacios no euclidianos. El enfoque principal es el contexto del aprendizaje supervisado y no supervisado, con algunas incursiones en aprendizaje por refuerzo, pero sin pretender ser exhaustivo en esas ´ areas. El art´ ıculo est´ a dirigido a un p´ ublico con conocimientos intermedios en matem´ aticas (c´ alculo mul- tivariable, ´ algebra lineal b´ asica, probabilidad elemental) y cierta familiaridad con la programaci´ on cient´ ıfica. Se asume que el lector entiende conceptos como derivada parcial, gradiente, esperanza matem´ atica y varianza, pero no se requiere experiencia previa en optimizaci´ on o aprendizaje autom´ atico. Las secciones fundamentales (cap´ ıtulos 2 a 6) han sido escritas pensando en minimizar los prerrequisitos, desarrollando todos los conceptos necesarios. Una caracter´ ıstica distintiva de este art´ ıculo es el equilibrio entre teor´ ıa y pr´ actica. Cada resultado te´ orico va acompa˜ nado de una discusi´ on sobre sus implicaciones pr´ acticas, y cada implementaci´ on se justifica a partir de principios matem´ aticos. Se incluyen demostraciones de los teoremas de convergencia m´ as importantes (en ap´ endices), as´ ı como pseudoc´ odigo y diagramas de flujo para facilitar la comprensi´ on y la implementaci´ on. Finalmente, el art´ ıculo aspira a ser un recurso de referencia tanto para estudiantes que se inician en el campo como para investigadores y profesionales que desean profundizar su comprensi´ on del SGD m´ as all´ a del uso de bibliotecas de alto nivel. Se espera que, tras la lectura, el lector sea capaz de: • Explicar formalmente por qu´ e el SGD funciona y bajo qu´ e condiciones. • Seleccionar apropiadamente los hiperpar´ ametros seg´ un la tarea y el modelo. • Implementar el SGD y sus variantes desde cero, as´ ı como utilizar eficientemente las implementa- ciones existentes en frameworks modernos. • Diagnosticar problemas de entrenamiento (divergencia, estancamiento, oscilaciones) y proponer soluciones basadas en la teor´ ıa. • Seguir la literatura de investigaci´ on sobre nuevos optimizadores y evaluar cr´ ıticamente sus afirma- ciones. La estructura del art´ ıculo sigue un flujo l´ ogico que comienza con los fundamentos matem´ aticos de la optimizaci´ on (cap´ ıtulo 2), introduce el gradiente determinista (cap´ ıtulo 3), desarrolla el marco prob- abil´ ıstico (cap´ ıtulo 4), formula el SGD (cap´ ıtulo 5), analiza su convergencia (cap´ ıtulo 6), y luego se expande hacia aspectos pr´ acticos y avanzados. Los cap´ ıtulos posteriores pueden leerse de manera semi- independiente, aunque se recomienda seguir el orden sugerido para una comprensi´ on integral. Nota sobre notaci´ on: A lo largo del art´ ıculo, los vectores se denotan en negrita min´ uscula (x), las matrices en may´ uscula negrita (W), los escalares en cursiva (η, λ). El gradiente de una funci´ on f con respecto a θ se escribe ∇f(θ) o ∇θ f. La norma euclidiana se denota ∥ · ∥. La esperanza matem´ atica se indica con E y la varianza con V o Var. Se especificar´ an otras notaciones cuando se introduzcan. 2 Fundamentos Matem´ aticos de la Optimizaci´ on 2.1 Espacios vectoriales y funciones reales multivariables La optimizaci´ on de funciones en inteligencia artificial se desarrolla fundamentalmente en espacios vecto- riales de dimensi´ on finita. Un espacio vectorial real V es un conjunto dotado de dos operaciones: suma de vectores y multiplicaci´ on por un escalar real, que satisfacen los axiomas de asociatividad, conmuta- tividad, existencia de elemento neutro y opuesto, adem´ as de distributividad. Los espacios de inter´ es en aprendizaje autom´ atico son t´ ıpicamente Rd con d finito, aunque en teor´ ıa tambi´ en se consideran espacios de Hilbert de dimensi´ on infinita para problemas no param´ etricos. Cada punto x ∈ Rd se representa como una d-tupla ordenada (x1 , x2 , . . . , xd ), donde cada componente xi es un n´ umero real. La elecci´ on de la base can´ onica {e1 , . . . , ed } simplifica el ´ algebra lineal, aunque https://educateperuconsultores.com/ P´ ag. 12
  13. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso los conceptos geom´ etricos son

    invariantes bajo cambios de base. La dimensi´ on d corresponde al n´ umero de par´ ametros libres del modelo de aprendizaje. Por ejemplo, en una red neuronal densa con una capa oculta de h neuronas, entrada de d0 caracter´ ısticas y salida de d2 unidades, el n´ umero total de par´ ametros es (d0 · h + h) + (h · d2 + d2 ), es decir, los pesos y sesgos. Una funci´ on real multivariable f : D ⊆ Rd → R asigna a cada vector x un escalar f(x). En optimizaci´ on para aprendizaje autom´ atico, la funci´ on objetivo depende de los par´ ametros del modelo y mide el error de predicci´ on. Formalmente, se requiere que el dominio D sea abierto (para poder calcular derivadas direccionales en todas direcciones) o al menos que contenga el interior de la regi´ on factible. Como los problemas de minimizaci´ on sin restricciones son el foco de este art´ ıculo, podemos tomar D = Rd. Es crucial distinguir entre funciones lineales, cuadr´ aticas y no lineales. Una funci´ on lineal tiene la forma f(x) = aT x + b con a ∈ Rd, b ∈ R. Su gradiente es constante e igual a a. Las funciones cuadr´ aticas f(x) = 1 2 xT Qx + bT x + c, con Q sim´ etrica definida positiva, son convexas y aparecen en problemas de m´ ınimos cuadrados. Las funciones no lineales incluyen composiciones de funciones lineales con activaciones no lineales como σ(z) = 1/(1 + e−z) (sigmoide), tanh(z), o max(0, z) (ReLU). Estas ´ ultimas son las que dan poder expresivo a las redes neuronales profundas, pero tambi´ en introducen no convexidad y m´ ultiples ´ optimos locales. En el estudio de la optimizaci´ on, a menudo se requiere que f sea diferenciable. La diferenciabilidad en un punto x0 significa que existe una aplicaci´ on lineal Df(x0 ) : Rd → R (el gradiente) tal que lim h→0 |f(x0 + h) − f(x0 ) − Df(x0 )h| ∥h∥ = 0. (10) Para funciones de clase C1 (derivadas parciales continuas), la diferenciabilidad est´ a garantizada. Las funciones que aparecen en aprendizaje profundo son generalmente diferenciables por partes (como ReLU), y se utilizan subgradientes en los puntos de no diferenciabilidad. 2.2 Funciones objetivo y funciones de costo En el contexto del aprendizaje autom´ atico, la funci´ on objetivo recibe diversos nombres: funci´ on de p´ erdida, funci´ on de costo, funci´ on de error o funci´ on de riesgo. Su prop´ osito es cuantificar qu´ e tan mal se comporta el modelo actual sobre los datos de entrenamiento. Denotamos por θ ∈ Rd el vector de par´ ametros del modelo. Para una muestra de entrenamiento (xi , yi ) (entrada y etiqueta), la p´ erdida individual se define como ℓi (θ) = L(hθ (xi ), yi ), donde hθ es la predicci´ on del modelo y L es una m´ etrica de error. La funci´ on de costo emp´ ırica (riesgo emp´ ırico) es el promedio sobre todas las muestras: J(θ) = 1 n n i=1 ℓi (θ). (11) Esta es la funci´ on que se minimiza mediante SGD, pero en la pr´ actica se suele a˜ nadir un t´ ermino de regularizaci´ on Ω(θ) para controlar la complejidad: Jreg (θ) = J(θ) + λΩ(θ), (12) donde λ > 0 es el coeficiente de regularizaci´ on. La regularizaci´ on m´ as com´ un es la norma ℓ2 : Ω(θ) = 1 2 ∥θ∥2, que produce decaimiento de pesos. Otra alternativa es la norma ℓ1 : Ω(θ) = ∥θ∥1 , que induce sparseidad. La elecci´ on de la funci´ on de p´ erdida L depende del tipo de problema. Para regresi´ on (predicci´ on de valores continuos), la p´ erdida cuadr´ atica L(ˆ y, y) = (ˆ y − y)2 es cl´ asica, aunque sensible a valores at´ ıpicos. La p´ erdida absoluta |ˆ y −y| es m´ as robusta. Para clasificaci´ on binaria con etiquetas y ∈ {0, 1}, la p´ erdida de entrop´ ıa cruzada (log-loss) es ampliamente utilizada: L(ˆ y, y) = −[y log ˆ y + (1 − y) log(1 − ˆ y)], (13) donde ˆ y = hθ (x) debe interpretarse como la probabilidad estimada de que la clase sea 1. Para clasificaci´ on multiclase con K categor´ ıas, la p´ erdida de entrop´ ıa cruzada categ´ orica es L(ˆ y, y) = − K k=1 yk log ˆ yk , (14) https://educateperuconsultores.com/ P´ ag. 13
  14. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso donde y es el vector

    one-hot de la etiqueta verdadera y ˆ y es el vector de probabilidades predichas (tras aplicar softmax). Es importante notar que la funci´ on objetivo J(θ) es una suma de n t´ erminos, donde n puede ser enorme (millones o miles de millones). Cada t´ ermino ℓi depende ´ unicamente de la muestra i. Esta estructura aditiva es la clave para el uso de gradientes estoc´ asticos: podemos estimar el gradiente completo a partir de un subconjunto peque˜ no de ´ ındices. Las funciones objetivo en aprendizaje profundo son usualmente no convexas y presentan m´ ultiples m´ ınimos locales, puntos silla y mesetas. Sin embargo, estudios emp´ ıricos muestran que para redes so- bredimensionadas, todos los m´ ınimos locales tienen un valor similar de la funci´ on de p´ erdida, y los puntos silla son superables mediante el ruido estoc´ astico. Adem´ as, la regularizaci´ on impl´ ıcita proporcionada por el algoritmo SGD (especialmente con lotes peque˜ nos) tiende a favorecer soluciones que generalizan bien. 2.3 Problemas de minimizaci´ on sin restricciones Un problema de minimizaci´ on sin restricciones se plantea como: min θ∈Rd J(θ), (15) donde J : Rd → R es la funci´ on objetivo. La ausencia de restricciones significa que cualquier valor de θ es factible. Esta situaci´ on es la m´ as com´ un en el entrenamiento de modelos de aprendizaje autom´ atico, porque los par´ ametros (pesos y sesgos) pueden tomar cualquier valor real. Aunque a veces se imponen restricciones (por ejemplo, normas de pesos acotadas), estas se incorporan t´ ıpicamente mediante t´ erminos de regularizaci´ on en la funci´ on objetivo, convirtiendo el problema en uno sin restricciones equivalente. La soluci´ on ´ optima θ∗ satisface J(θ∗) ≤ J(θ) para todo θ ∈ Rd. En la pr´ actica, debido a la no convexidad, solo podemos aspirar a encontrar un m´ ınimo local, es decir, un θ∗ para el cual existe δ > 0 tal que J(θ∗) ≤ J(θ) para todo θ con ∥θ−θ∗∥ < δ. Los m´ etodos de optimizaci´ on global, como el recocido simulado o los algoritmos evolutivos, son demasiado lentos para espacios de alta dimensi´ on; por lo tanto, en deep learning nos conformamos con m´ ınimos locales de buena calidad. El m´ etodo de descenso de gradiente y sus variantes estoc´ asticas construyen una secuencia iterativa {θt } tal que J(θt+1 ) < J(θt ) (o al menos no aumenta) en promedio. La iteraci´ on b´ asica es: θt+1 = θt − ηt gt , (16) donde ηt > 0 es la tasa de aprendizaje (step size) y gt es una direcci´ on de descenso. Para el gradiente determinista, gt = ∇J(θt ). Para el SGD, gt es una aproximaci´ on estoc´ astica del gradiente. El an´ alisis de convergencia requiere condiciones sobre J. Las condiciones m´ as comunes son: • J es diferenciable y su gradiente es Lipschitz continuo: ∥∇J(θ) − ∇J(θ′)∥ ≤ L∥θ − θ′∥ para alguna constante L > 0 (llamada constante de Lipschitz del gradiente). Esto garantiza que J no puede curvarse demasiado r´ apido. • J es convexa (o fuertemente convexa) para obtener tasas de convergencia r´ apidas. • En el caso no convexo, se busca que el gradiente se anule en el l´ ımite (punto cr´ ıtico) o que la norma del gradiente sea peque˜ na. En la pr´ actica, la elecci´ on de la tasa de aprendizaje ηt es crucial. Una tasa muy grande puede causar divergencia; una tasa muy peque˜ na hace el progreso lent´ ısimo. Las secuencias decrecientes que satisfacen ∞ t=1 ηt = ∞ y ∞ t=1 η2 t < ∞ garantizan convergencia para SGD bajo ciertos supuestos. Un ejemplo cl´ asico es ηt = η0 /t. 2.4 Gradiente y derivadas parciales El gradiente de una funci´ on escalar f : Rd → R en un punto x es el vector de sus derivadas parciales: ∇f(x) = ∂f ∂x1 (x), ∂f ∂x2 (x), . . . , ∂f ∂xd (x) T . (17) Cada derivada parcial ∂f ∂xi mide la tasa de cambio de f cuando solo la i-´ esima coordenada var´ ıa, mante- niendo las dem´ as fijas. Formalmente, ∂f ∂xi (x) = lim h→0 f(x + hei ) − f(x) h . (18) https://educateperuconsultores.com/ P´ ag. 14
  15. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso El gradiente existe si todas

    las derivadas parciales existen y son continuas en una vecindad (teorema de Clairaut). En problemas de optimizaci´ on, el gradiente proporciona la direcci´ on de m´ aximo crecimiento de f; la direcci´ on opuesta, −∇f(x), es la de m´ aximo decrecimiento. En el contexto del entrenamiento de redes neuronales, el gradiente de la funci´ on de p´ erdida con respecto a todos los par´ ametros se calcula mediante el algoritmo de retropropagaci´ on (backpropagation). Este algoritmo explota la regla de la cadena para propagar errores desde la salida hacia las capas internas. Supongamos que la red implementa una composici´ on f(θ) = L ◦ g(K) ◦ · · · ◦ g(1)(θ). Entonces, ∂f ∂θ(l) = ∂L ∂g(K) · ∂g(K) ∂g(K−1) · · · ∂g(l+1) ∂g(l) · ∂g(l) ∂θ(l) . (19) Cada factor es una matriz Jacobiana. En la pr´ actica, se calculan los gradientes de manera eficiente mediante propagaci´ on hacia atr´ as, que tiene un costo computacional lineal en el n´ umero de par´ ametros. Una propiedad importante del gradiente es su linealidad: ∇(af+bg) = a∇f+b∇g para constantes a, b. Tambi´ en es ´ util la regla del producto: ∇(fg) = f∇g + g∇f. Para funciones compuestas, ∇(f ◦ ϕ)(x) = ∇f(ϕ(x)) · ∇ϕ(x), entendiendo el producto como matriz por vector. En el caso de la funci´ on de costo emp´ ırico J(θ) = 1 n n i=1 ℓi (θ), el gradiente es ∇J(θ) = 1 n n i=1 ∇ℓi (θ). (20) El SGD reemplaza este promedio por una estimaci´ on basada en un subconjunto aleatorio B de tama˜ no m: gSGD = 1 m i∈B ∇ℓi (θ). (21) Claramente, E[gSGD ] = ∇J(θ), lo que hace del gradiente estoc´ astico un estimador insesgado. 2.5 Interpretaci´ on geom´ etrica del gradiente Geom´ etricamente, el gradiente apunta en la direcci´ on de m´ axima pendiente ascendente de la funci´ on f en el punto x. Para visualizarlo, consideremos el conjunto de nivel f(x) = c (una hipersuperficie en Rd). El gradiente es perpendicular a este conjunto de nivel, apuntando hacia donde f aumenta m´ as r´ apidamente. Si nos movemos en la direcci´ on del gradiente, el valor de f crece; si nos movemos en sentido contrario, decrece. Esta es la base del m´ etodo de descenso de gradiente. En dos dimensiones (d = 2), el gradiente ∇f(x, y) = (fx , fy ) puede representarse como un campo vectorial. Las curvas de nivel son las curvas donde f es constante. La direcci´ on de m´ aximo ascenso es ortogonal a estas curvas. Por ejemplo, para la funci´ on cuadr´ atica convexa f(x, y) = x2 + y2, el gradiente es (2x, 2y), que apunta radialmente hacia afuera desde el origen. El descenso del gradiente desde cualquier punto inicial sigue una trayectoria que converge al origen. En dimensiones altas, la intuici´ on geom´ etrica es similar, pero el concepto de direcci´ on de m´ aximo decrecimiento se mantiene. Formalmente, para cualquier vector unitario v, la derivada direccional de f en x en la direcci´ on v es ∇f(x) · v. El m´ aximo de esta cantidad sobre ∥v∥ = 1 se alcanza cuando v = ∇f(x)/∥∇f(x)∥, y el valor m´ aximo es ∥∇f(x)∥. Por lo tanto, la direcci´ on de m´ aximo decrecimiento es v = −∇f(x)/∥∇f(x)∥. Un fen´ omeno importante en la optimizaci´ on de funciones no convexas es la existencia de laderas y barrancos. Un barranco es una regi´ on donde la curvatura es alta en una direcci´ on y baja en otra. El gradiente apunta principalmente a lo largo de la pendiente m´ as pronunciada, pero en los barrancos esto provoca oscilaciones perpendiculares al valle. El m´ etodo de momentum ayuda a amortiguar estas oscilaciones promediando gradientes pasados. 2.6 Norma euclidiana y distancia en espacios m´ etricos Para medir la proximidad entre puntos en Rd, la norma euclidiana (o ℓ2 ) es la m´ as utilizada en opti- mizaci´ on de primer orden. Dado x = (x1 , . . . , xd ), su norma se define como ∥x∥ = d i=1 x2 i . (22) https://educateperuconsultores.com/ P´ ag. 15
  16. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Esta norma induce la distancia

    euclidiana d(x, y) = ∥x − y∥. La norma satisface las propiedades de positividad (∥x∥ ≥ 0 y ∥x∥ = 0 ⇐⇒ x = 0), homogeneidad (∥αx∥ = |α|∥x∥) y desigualdad triangular (∥x + y∥ ≤ ∥x∥ + ∥y∥). Otras normas aparecen ocasionalmente. La norma ℓ1 es ∥x∥1 = d i=1 |xi |, inducida por la distancia Manhattan. La norma ℓ∞ es ∥x∥∞ = maxi |xi |. En regularizaci´ on, la norma ℓ2 produce soluciones densas, mientras que ℓ1 induce sparseidad. En el an´ alisis de convergencia de SGD, es com´ un utilizar la norma euclidiana para medir el error ∥θt − θ∗∥2. La noci´ on de espacio m´ etrico es necesaria para definir conceptos de convergencia. Una sucesi´ on {θt } converge a θ∗ en norma si limt→∞ ∥θt − θ∗∥ = 0. El SGD produce convergencia casi segura o en media bajo ciertas condiciones. Tambi´ en se emplea la distancia de Bregman, generalizaci´ on de la distancia euclidiana, en an´ alisis m´ as avanzados. Una herramienta fundamental que relaciona gradiente y norma es la desigualdad de Cauchy-Schwarz: |∇f(x) · v| ≤ ∥∇f(x)∥∥v∥, con igualdad cuando v es paralelo al gradiente. Esto confirma que la tasa m´ axima de cambio de f en una direcci´ on unitaria est´ a dada por la norma del gradiente. Para funciones Lipschitz continuas (que veremos m´ as adelante), la norma del gradiente est´ a acotada por la constante de Lipschitz. En concreto, si ∥∇f(x)∥ ≤ L para todo x, entonces f es L-Lipschitz: |f(x) − f(y)| ≤ L∥x − y∥. 2.7 Superficies de error y paisajes de optimizaci´ on El paisaje de optimizaci´ on (o superficie de error) es la representaci´ on gr´ afica de la funci´ on J(θ) en el espacio de par´ ametros. Aunque no podemos visualizar directamente dimensiones superiores a 3, se utilizan t´ ecnicas como proyecciones aleatorias o interpolaciones lineales para estudiar la geometr´ ıa. El paisaje de las redes neuronales profundas es extremadamente complejo, con caracter´ ısticas como: • Regiones aproximadamente convexas: Localmente, cerca de un m´ ınimo, la funci´ on puede aproximarse por una cuadr´ atica convexa (Hessiana definida positiva). • Mesetas: Grandes regiones donde el gradiente es casi cero. Estas mesetas ralentizan la conver- gencia porque el descenso es muy lento. El SGD con ruido puede ayudar a escapar de mesetas mediante fluctuaciones aleatorias. • Puntos silla: Donde el gradiente es cero pero el Hessiano tiene valores propios tanto positivos como negativos. Son muy abundantes en alta dimensi´ on. A diferencia de los m´ aximos, los puntos silla tienen direcciones de descenso (valores propios negativos), pero el gradiente determinista se anula y puede quedar atrapado. El ruido estoc´ astico permite salir de ellos. • M´ ınimos locales: Puntos donde el gradiente es cero y el Hessiano es semidefinido positivo. En redes sobredimensionadas, la mayor´ ıa de los m´ ınimos locales tienen valores de p´ erdida similares (cercanos al ´ optimo global), y el SGD encuentra t´ ıpicamente uno de estos buenos m´ ınimos. • Acantilados (cliffs): Regiones donde el gradiente es muy grande. Esto ocurre, por ejemplo, en redes recurrentes (gradientes explosivos). Una actualizaci´ on con tasa de aprendizaje normal puede causar un salto enorme que lleve a par´ ametros inv´ alidos o NaN. Se usan t´ ecnicas como clipping del gradiente para mitigar. El estudio emp´ ırico del paisaje se realiza mediante m´ etodos como la visualizaci´ on de curvas de p´ erdida a lo largo de direcciones aleatorias. Un hallazgo importante es que la p´ erdida en redes profundas es sor- prendentemente baja incluso cerca del punto de inicializaci´ on, y la optimizaci´ on no requiere minimizaci´ on global exacta. Tambi´ en se ha observado que el SGD tiende a moverse hacia regiones de baja curvatura (m´ ınimos planos), que correlacionan con buena generalizaci´ on. La rugosidad del paisaje depende de la funci´ on de activaci´ on. Con ReLU, la funci´ on de p´ erdida es diferenciable por partes y lineal en regiones (poliedros convexos). La superficie es entonces una funci´ on lineal a trozos, con discontinuidades en el gradiente en los bordes de las regiones. Esto crea un paisaje lleno de aristas, pero el SGD puede manejarlo porque el gradiente subgradiente es bien definido. 2.8 Puntos cr´ ıticos: m´ ınimos, m´ aximos y puntos silla Un punto cr´ ıtico de una funci´ on diferenciable f es aquel donde ∇f(x) = 0. Seg´ un la naturaleza de la curvatura local, estos puntos se clasifican en: https://educateperuconsultores.com/ P´ ag. 16
  17. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • M´ ınimo local: Existe

    una vecindad U tal que f(x) ≤ f(y) para todo y ∈ U. Si la desigualdad es estricta para y ̸= x, se dice m´ ınimo local estricto. • M´ aximo local: An´ alogo con f(x) ≥ f(y). • Punto silla: Es un punto cr´ ıtico que no es ni m´ ınimo ni m´ aximo local. En cualquier vecindad, hay puntos con valor mayor y puntos con valor menor. Para determinar la naturaleza de un punto cr´ ıtico se utiliza la matriz Hessiana ∇2f(x), que contiene las derivadas parciales de segundo orden: [∇2f(x)]ij = ∂2f ∂xi ∂xj (x). (23) Si f es dos veces diferenciable y ∇f(x) = 0, entonces: • Si ∇2f(x) es definida positiva (todos sus valores propios > 0), x es un m´ ınimo local estricto. • Si ∇2f(x) es definida negativa (todos los valores propios < 0), x es un m´ aximo local estricto. • Si ∇2f(x) tiene al menos un valor propio positivo y al menos uno negativo, x es un punto silla. • Si ∇2f(x) es semidefinida (valores propios no negativos pero alguno igual a cero), el criterio es inconcluso y se necesitan t´ erminos de orden superior. En el contexto del aprendizaje profundo, la dimensi´ on d es enorme. Los m´ ınimos locales no son raros, pero los puntos silla son mucho m´ as numerosos. De hecho, para funciones aleatorias en alta dimensi´ on, la mayor´ ıa de los puntos cr´ ıticos son puntos silla. Los algoritmos de optimizaci´ on deterministas pueden quedarse estancados en puntos silla porque el gradiente es cero y no hay direcci´ on de descenso evidente. Sin embargo, el ruido estoc´ astico del SGD proporciona perturbaciones que permiten escapar, aunque la tasa de escape depende de la curvatura (valores propios negativos) y del nivel de ruido. Un concepto importante es el de punto silla estricto: aquellos donde el Hessiano tiene al menos un valor propio negativo. En esos casos, existe una direcci´ on de descenso de segundo orden, y m´ etodos que incorporan informaci´ on de curvatura (como el m´ etodo de Newton o algoritmos de regi´ on de confianza) pueden escapar r´ apidamente. El SGD sin memoria expl´ ıcita de curvatura a´ un puede escapar gracias al ruido, aunque m´ as lentamente. Adem´ as, se ha demostrado que el SGD con tasa de aprendizaje decreciente converge casi seguramente a un m´ ınimo local bajo condiciones de ruido y diferenciabilidad. Sin embargo, en la pr´ actica con tasas constantes, el algoritmo nunca se estabiliza completamente sino que oscila alrededor de una regi´ on que contiene m´ ınimos planos. 2.9 Hessiano y curvatura local El Hessiano es el an´ alogo multidimensional de la segunda derivada. Mide la curvatura de la funci´ on en cada punto. Para una funci´ on f : Rd → R suave, la expansi´ on de Taylor de segundo orden alrededor de x0 es: f(x) = f(x0 ) + ∇f(x0 )T (x − x0 ) + 1 2 (x − x0 )T ∇2f(x0 )(x − x0 ) + o(∥x − x0 ∥2). (24) El t´ ermino cuadr´ atico est´ a dominado por el Hessiano. Los valores propios λi de ∇2f determinan c´ omo se curva la funci´ on en las direcciones de los vectores propios correspondientes. Si λi > 0, la funci´ on es convexa en esa direcci´ on (curva hacia arriba); si λi < 0, es c´ oncava (curva hacia abajo). La magnitud de λi indica la intensidad de la curvatura. El condicionamiento de la matriz Hessiana (la relaci´ on entre el mayor y el menor valor propio en valor absoluto) afecta la velocidad de convergencia de los m´ etodos de primer orden. En problemas mal condicionados, las curvas de nivel son elipsoides muy alargados, y el gradiente determinista zigzaguea lentamente hacia el m´ ınimo. El SGD con momentum o m´ etodos adaptativos como Adam ayudan a mitigar este problema. El Hessiano tambi´ en aparece en la cota de Lipschitz del gradiente: si ∥∇2f(x)∥2 ≤ L para todo x, entonces ∇f es L-Lipschitz. En aprendizaje profundo, calcular el Hessiano completo es prohibitivo (costo O(d2) para almacenar y O(d3) para invertir), pero se pueden usar aproximaciones como el producto Hessiano-vector (costo O(d)) mediante diferenciaci´ on autom´ atica. Esto permite implementar m´ etodos de https://educateperuconsultores.com/ P´ ag. 17
  18. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso optimizaci´ on de segundo orden

    eficientes como el gradiente conjugado o L-BFGS, aunque no son comunes en deep learning debido a la no convexidad extrema. La curvatura local tambi´ en influye en la generalizaci´ on. Se ha observado que m´ ınimos planos (con val- ores propios peque˜ nos del Hessiano) generalizan mejor que m´ ınimos agudos (con valores propios grandes). La raz´ on es que peque˜ nas perturbaciones en los par´ ametros (debidas a errores de redondeo o cambios en el conjunto de entrenamiento) producen cambios peque˜ nos en la p´ erdida en un m´ ınimo plano, mientras que en un m´ ınimo agudo la p´ erdida puede dispararse. El SGD tiende a converger a m´ ınimos planos porque el ruido lo empuja lejos de regiones agudas. 2.10 Convexidad y optimizaci´ on convexa Una funci´ on f : Rd → R es convexa si para todo x, y ∈ Rd y todo t ∈ [0, 1] se cumple f(tx + (1 − t)y) ≤ tf(x) + (1 − t)f(y). (25) Intuitivamente, el segmento que une dos puntos del gr´ afico queda por encima del gr´ afico. Si la desigualdad es estricta para t ∈ (0, 1) y x ̸= y, se dice estrictamente convexa. Una funci´ on es fuertemente convexa con par´ ametro µ > 0 si f(tx + (1 − t)y) ≤ tf(x) + (1 − t)f(y) − µ 2 t(1 − t)∥x − y∥2. (26) La convexidad fuerte implica que la funci´ on tiene un ´ unico m´ ınimo y que el gradiente satisface (∇f(x)− ∇f(y))T (x − y) ≥ µ∥x − y∥2. La optimizaci´ on convexa es un campo bien desarrollado donde cualquier m´ ınimo local es global. El gradiente descendente determista converge a tasa O(1/t) para funciones convexas diferenciables con gradiente Lipschitz, y tasa O(γt) para funciones fuertemente convexas (convergente lineal). El SGD para funciones convexas alcanza tasa O(1/ √ t) en expectativa, y con condiciones adicionales puede mejorar a O(1/t). Desafortunadamente, las funciones objetivo de las redes neuronales profundas no son convexas. Sin embargo, algunos subproblemas s´ ı lo son: la regresi´ on lineal, la regresi´ on log´ ıstica, las m´ aquinas de vectores soporte (con kernel lineal) y los modelos lineales en general. Adem´ as, las redes neuronales pueden ser convexas en cada par´ ametro individualmente si los dem´ as se fijan, pero la optimizaci´ on conjunta es no convexa. A pesar de ello, los m´ etodos convexos proporcionan una base te´ orica importante para entender el comportamiento local y las tasas de convergencia. Una propiedad ´ util de las funciones convexas diferenciables es que ∇f(x) es monot´ onico: (∇f(x) − ∇f(y))T (x − y) ≥ 0. Esto asegura que las direcciones de descenso apuntan hacia la regi´ on que contiene el m´ ınimo. 2.11 Funciones Lipschitz-continuas Una funci´ on f : Rd → R es Lipschitz continua si existe una constante L ≥ 0 tal que para todo x, y ∈ Rd, |f(x) − f(y)| ≤ L∥x − y∥. (27) La constante L se denomina constante de Lipschitz. Si f es diferenciable, una condici´ on suficiente para la Lipschitz continuidad es que la norma del gradiente est´ e acotada por L: ∥∇f(x)∥ ≤ L para todo x. El rec´ ıproco tambi´ en es cierto si f es convexa o si se cumple la igualdad de la derivada direccional. En optimizaci´ on, la condici´ on m´ as relevante es que el gradiente sea L-Lipschitz: ∥∇f(x) − ∇f(y)∥ ≤ L∥x − y∥. (28) Esta condici´ on implica que f est´ a acotada superiormente por una funci´ on cuadr´ atica: f(y) ≤ f(x) + ∇f(x)T (y − x) + L 2 ∥y − x∥2. (29) Esta desigualdad es fundamental para demostrar la convergencia del descenso del gradiente con tasa de aprendizaje η ≤ 1/L. Para el SGD, se suele asumir que el gradiente estoc´ astico tiene varianza acotada y que la funci´ on de p´ erdida individual tambi´ en tiene gradiente Lipschitz. En la pr´ actica, determinar L para una red neuronal profunda es dif´ ıcil. Sin embargo, se puede estimar emp´ ıricamente o utilizar tasas de aprendizaje adaptativas. La Lipschitz continuidad del gradiente asegura que la funci´ on no es demasiado irregular, lo que permite dar pasos garantizados de descenso. https://educateperuconsultores.com/ P´ ag. 18
  19. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 2.12 Condiciones necesarias y suficientes

    de optimalidad En problemas de minimizaci´ on sin restricciones, las condiciones de optimalidad se expresan en t´ erminos del gradiente y el Hessiano. Condici´ on necesaria de primer orden: Si x∗ es un m´ ınimo local de f y f es diferenciable en x∗, entonces ∇f(x∗) = 0. Esta condici´ on se obtiene tomando derivadas direccionales en cualquier direcci´ on: si hubiera una direcci´ on de descenso, podr´ ıamos reducir f movi´ endonos una peque˜ na distancia. Condici´ on necesaria de segundo orden: Si x∗ es un m´ ınimo local y f es dos veces diferenciable, entonces ∇2f(x∗) es semidefinida positiva (vT ∇2f(x∗)v ≥ 0 para todo v). Esto descarta la posibilidad de curvatura negativa en alguna direcci´ on. Condiciones suficientes de segundo orden: Si ∇f(x∗) = 0 y ∇2f(x∗) es definida positiva, entonces x∗ es un m´ ınimo local estricto. La demostraci´ on usa la expansi´ on de Taylor y el hecho de que el t´ ermino cuadr´ atico domina sobre el resto en una vecindad. Para funciones convexas, la condici´ on ∇f(x∗) = 0 es tambi´ en suficiente para un m´ ınimo global. En particular, si f es convexa y ∇f(x∗) = 0, entonces f(x∗) ≤ f(x) para todo x. En el contexto del SGD, no podemos garantizar que se alcance un punto que satisfaga exactamente las condiciones de optimalidad, debido al ruido y la parada temprana. En su lugar, se busca un punto donde ∥∇J(θ)∥ sea peque˜ no (menor que una tolerancia). Para funciones no convexas, la convergencia a un punto cr´ ıtico (donde el gradiente es cero) es el mejor resultado te´ orico que se puede esperar. Adem´ as, en la pr´ actica del deep learning, raramente se alcanza un m´ ınimo exacto. Los algoritmos se detienen cuando la p´ erdida en validaci´ on deja de mejorar (early stopping). La soluci´ on final suele estar cerca de un m´ ınimo plano donde el gradiente es peque˜ no pero no necesariamente nulo. Resumen del cap´ ıtulo: En esta secci´ on hemos establecido los fundamentos matem´ aticos necesarios para abordar la optimizaci´ on de funciones en espacios de alta dimensi´ on, incluyendo la definici´ on de gradiente, Hessiano, convexidad y condiciones de optimalidad. Estos conceptos ser´ an esenciales para el an´ alisis del SGD en los cap´ ıtulos siguientes. El paisaje de optimizaci´ on de las redes neuronales es no convexo y presenta desaf´ ıos ´ unicos, pero el marco te´ orico de la optimizaci´ on convexa proporciona herramientas para entender la convergencia local y las propiedades de regularizaci´ on impl´ ıcita. 3 Descenso del Gradiente Cl´ asico (Gradient Descent) 3.1 Formulaci´ on matem´ atica del m´ etodo El m´ etodo de descenso del gradiente (Gradient Descent, GD) es un algoritmo iterativo de optimizaci´ on de primer orden para encontrar el m´ ınimo de una funci´ on diferenciable. Dada una funci´ on objetivo f : Rd → R que se desea minimizar, el m´ etodo genera una sucesi´ on de puntos {xk }∞ k=0 mediante la siguiente regla de actualizaci´ on: xk+1 = xk − ηk ∇f(xk ), (30) donde ∇f(xk ) es el gradiente de f evaluado en xk (vector columna de dimensiones d×1), y ηk > 0 es un escalar denominado tasa de aprendizaje (learning rate) o tama˜ no de paso (step size) en la iteraci´ on k. El punto inicial x0 es elegido arbitrariamente, a menudo mediante alguna estrategia de inicializaci´ on como valores aleatorios peque˜ nos. La justificaci´ on intuitiva de esta actualizaci´ on es que el gradiente apunta en la direcci´ on de m´ aximo crecimiento de f. Por lo tanto, moverse en direcci´ on opuesta al gradiente reduce el valor de f localmente. El par´ ametro ηk controla la magnitud del paso: un ηk peque˜ no produce pasos conservadores, mientras que uno grande puede acelerar la convergencia pero tambi´ en puede provocar divergencia u oscilaciones. En su forma m´ as simple, la tasa de aprendizaje es constante a lo largo de las iteraciones, es decir, ηk = η. No obstante, existen variantes con tasas de aprendizaje decrecientes o adaptativas. El algoritmo se detiene cuando se alcanza un criterio de convergencia, como que la norma del gradiente sea menor que una tolerancia predefinida ∥∇f(xk )∥ < ϵ, o que el cambio relativo entre iteraciones sea muy peque˜ no ∥xk+1 − xk ∥ < ϵ, o simplemente tras un n´ umero fijo de iteraciones. La formulaci´ on matem´ atica del GD se basa en el concepto de aproximaci´ on lineal local. Para f suficientemente suave, el comportamiento en la vecindad de xk est´ a dominado por el gradiente. El m´ etodo no requiere evaluar la matriz Hessiana (segundas derivadas), lo que lo hace computacionalmente econ´ omico en problemas de alta dimensi´ on. Cada iteraci´ on exige calcular ∇f(xk ), que t´ ıpicamente tiene costo O(d) si la funci´ on tiene una estructura explotable, o O(d2) si se calculan todas las derivadas https://educateperuconsultores.com/ P´ ag. 19
  20. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso parciales de manera ingenua. Sin

    embargo, en el contexto del aprendizaje autom´ atico, f suele ser una suma de funciones de p´ erdida individuales, y su gradiente se obtiene mediante la suma de los gradientes de cada t´ ermino. Una propiedad fundamental del GD es que, bajo ciertas condiciones (como convexidad y Lipschitz continuidad del gradiente), garantiza la convergencia a un m´ ınimo global (si f es convexa) o al menos a un punto cr´ ıtico (si f es no convexa). La tasa de convergencia puede ser lineal o sublineal dependiendo de la estructura de f. Para comprender la din´ amica, consideremos la evoluci´ on del valor de la funci´ on a lo largo de las iteraciones. Usando la expansi´ on de Taylor de primer orden con resto (bajo la suposici´ on de que ∇f es Lipschitz continuo), se puede demostrar que el descenso del gradiente produce una disminuci´ on mon´ otona de f(xk ) siempre que la tasa de aprendizaje η sea suficientemente peque˜ na. En concreto, si f tiene gradiente L-Lipschitz, entonces eligiendo η ≤ 1/L se tiene f(xk+1 ) ≤ f(xk ) − η 2 ∥∇f(xk )∥2, lo que asegura que el valor de la funci´ on no aumenta y, de hecho, disminuye a menos que el gradiente sea cero. 3.2 Derivaci´ on del algoritmo mediante expansi´ on de Taylor Una de las formas m´ as elegantes de motivar el m´ etodo del descenso del gradiente es mediante la expansi´ on en serie de Taylor de primer orden de la funci´ on objetivo alrededor del punto actual xk . Para una funci´ on f : Rd → R diferenciable, se tiene: f(xk + v) = f(xk ) + ∇f(xk )T v + o(∥v∥), (31) donde v es un vector de desplazamiento peque˜ no. Si despreciamos los t´ erminos de orden superior (segundo orden y superiores), obtenemos una aproximaci´ on lineal: f(xk + v) ≈ f(xk ) + ∇f(xk )T v. (32) Para minimizar el lado derecho de esta aproximaci´ on en funci´ on de v, debemos elegir v que haga el producto escalar ∇f(xk )T v lo m´ as negativo posible. Dada una restricci´ on impl´ ıcita sobre la magnitud de v (pues la aproximaci´ on lineal solo es v´ alida para desplazamientos peque˜ nos), podemos plantear un problema de optimizaci´ on con restricci´ on de norma: min v:∥v∥≤ϵ f(xk ) + ∇f(xk )T v . (33) El t´ ermino constante f(xk ) no afecta la direcci´ on ´ optima. El m´ ınimo se alcanza cuando v se alinea en la direcci´ on opuesta al gradiente y tiene la m´ axima longitud permitida, es decir: v = −ϵ ∇f(xk ) ∥∇f(xk )∥ . (34) Esta derivaci´ on muestra que la direcci´ on de m´ aximo decrecimiento local, bajo una cota en la norma del paso, es la direcci´ on del gradiente negativo. Introduciendo un par´ ametro η = ϵ/∥∇f(xk )∥, obtenemos la regla de actualizaci´ on: xk+1 = xk − η∇f(xk ). (35) Alternativamente, se puede derivar el algoritmo a partir de la idea de minimizar una aproximaci´ on cuadr´ atica simple. Supongamos que f admite una cota superior cuadr´ atica de la forma: f(y) ≤ f(x) + ∇f(x)T (y − x) + L 2 ∥y − x∥2, (36) donde L es la constante de Lipschitz del gradiente. Esta desigualdad se cumple para funciones cuyo gradiente es L-Lipschitz. Entonces, en lugar de minimizar f directamente, podemos minimizar el lado derecho, que es una funci´ on cuadr´ atica en y. Derivando e igualando a cero: ∇f(x) + L(y − x) = 0 ⇒ y = x − 1 L ∇f(x). (37) Esto sugiere que el paso ´ optimo, en el sentido de minimizar la cota superior, es η = 1/L. Si se elige η ≤ 1/L, se garantiza que el nuevo punto no aumentar´ a el valor de la funci´ on respecto al anterior (o al menos no lo har´ a en exceso). La ecuaci´ on central del m´ etodo es, por tanto: https://educateperuconsultores.com/ P´ ag. 20
  21. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso xk+1 = xk − η∇f(xk

    ) . (38) Esta ecuaci´ on es la base del algoritmo y su implementaci´ on computacional es directa. En la pr´ actica, η puede ser constante o variar con k. Por ejemplo, en problemas de optimizaci´ on convexa, se utilizan secuencias ηk que cumplen k ηk = ∞ y k η2 k < ∞ para garantizar convergencia incluso en presencia de ruido (como en SGD), pero en GD determinista con funciones convexas basta con ηk constante suficientemente peque˜ no. 3.3 Interpretaci´ on geom´ etrica del descenso del gradiente Geom´ etricamente, el descenso del gradiente puede visualizarse como el proceso de descender por la superficie definida por f hacia el punto m´ as bajo, siguiendo siempre la direcci´ on de m´ axima pendiente descendente. Para funciones de una variable (d = 1), el gradiente es simplemente la derivada f′(x), y la actualizaci´ on es xk+1 = xk − ηf′(xk ). Esto significa que si la pendiente es positiva (la funci´ on crece), nos movemos hacia la izquierda; si es negativa (la funci´ on decrece), nos movemos hacia la derecha. El tama˜ no del paso est´ a modulado por η. La convergencia al m´ ınimo ocurre con oscilaciones amortiguadas alrededor del punto cr´ ıtico. En dos dimensiones (d = 2), podemos imaginar la funci´ on f(x, y) como una superficie en el espacio tridimensional. Las curvas de nivel son las proyecciones de las intersecciones de planos horizontales con la superficie. El gradiente en un punto es perpendicular a la curva de nivel que pasa por ese punto y apunta hacia donde la superficie asciende m´ as empinadamente. Moverse en direcci´ on contraria al gradiente significa descender perpendicularmente a las curvas de nivel. Si las curvas de nivel son c´ ırculos conc´ entricos (funci´ on cuadr´ atica isotr´ opica), el gradiente apunta directamente hacia el centro (el m´ ınimo), y el algoritmo converge en una sola iteraci´ on si η = 1/L (donde L es la curvatura). Si las curvas de nivel son elipses alargadas (funci´ on mal condicionada), el gradiente no apunta directamente al m´ ınimo, sino que zigzaguea, produciendo un comportamiento de “camino de cangrejo” que converge lentamente. La interpretaci´ on geom´ etrica tambi´ en ayuda a entender la influencia de la tasa de aprendizaje. Con un η demasiado peque˜ no, cada paso es muy corto y la convergencia es lenta; el camino parece una escalera muy fina que desciende gradualmente. Con un η demasiado grande, los pasos pueden saltar por encima del valle, causando divergencia: la iteraci´ on puede alejarse cada vez m´ as en lugar de acercarse al m´ ınimo. El caso cr´ ıtico ocurre cuando η es exactamente el doble de la inversa de la curvatura m´ axima: entonces la iteraci´ on oscila indefinidamente sin converger. Para funciones no convexas con m´ ultiples cuencas, el descenso del gradiente puede quedar atrapado en un m´ ınimo local si el punto inicial cae dentro de la cuenca de atracci´ on de ese m´ ınimo. Desde un punto de vista geom´ etrico, el algoritmo traza una trayectoria que sigue las l´ ıneas de flujo del campo vectorial −∇f, las cuales son ortogonales a las superficies de nivel. Esta trayectoria es una curva que eventualmente termina en un punto cr´ ıtico (donde el gradiente se anula). En regiones planas (mesetas), donde el gradiente es casi cero, los pasos son muy peque˜ nos y la convergencia se estanca. Una forma de visualizar la din´ amica es mediante el concepto de paisaje de p´ erdida. En aprendizaje profundo, este paisaje es extremadamente rugoso, pero localmente puede aproximarse por una funci´ on cuadr´ atica. La geometr´ ıa del gradiente determina la eficiencia del algoritmo: la relaci´ on entre la curvatura m´ axima y m´ ınima (n´ umero de condici´ on de la Hessiana) es un factor determinante de la velocidad de convergencia. 3.4 Tasa de aprendizaje (learning rate) La tasa de aprendizaje η es quiz´ as el hiperpar´ ametro m´ as cr´ ıtico en el descenso del gradiente y en todas sus variantes. Determina la magnitud del paso que se da en la direcci´ on del gradiente negativo. Una elecci´ on inadecuada puede llevar a una convergencia extremadamente lenta o a la divergencia total del algoritmo. Tasa de aprendizaje constante: Es la opci´ on m´ as simple. Se fija un valor η > 0 y se mantiene du- rante todas las iteraciones. Para funciones convexas con gradiente L-Lipschitz, se garantiza convergencia si η ≤ 1/L. Sin embargo, en la pr´ actica L no se conoce; se estima emp´ ıricamente mediante b´ usqueda en una cuadr´ ıcula. Una η constante produce una convergencia lineal (geom´ etrica) para funciones fuerte- mente convexas, pero la tasa de convergencia puede ser sub´ optima si η no est´ a bien ajustado. Adem´ as, cuando la iteraci´ on se acerca al m´ ınimo, la norma del gradiente se vuelve peque˜ na, y un η constante puede provocar oscilaciones alrededor del m´ ınimo sin alcanzarlo con precisi´ on, dando lugar a un “error de estacionariedad”. https://educateperuconsultores.com/ P´ ag. 21
  22. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Tasa de aprendizaje decreciente (decaying

    learning rate): Para obtener convergencia al m´ ınimo exacto, a menudo se utilizan secuencias ηk que tienden a cero de manera controlada. Ejemplos cl´ asicos son: • ηk = η0 /(1 + βk) (decaimiento inverso). • ηk = η0 / √ k (decaimiento por ra´ ız cuadrada). • ηk = η0 · γk (decaimiento exponencial, aunque no garantiza ηk = ∞). Las condiciones te´ oricas para convergencia en optimizaci´ on estoc´ astica son ∞ k=1 ηk = ∞ y ∞ k=1 η2 k < ∞. Para el GD determinista con funciones convexas, bastan secuencias decrecientes que cumplan ηk = ∞ y ηk → 0. En la pr´ actica, a menudo se utiliza un programa de reducci´ on por ´ epocas: se mantiene η constante durante varias iteraciones y luego se multiplica por un factor < 1 (por ejemplo, 0.1 cada 100 ´ epocas). B´ usqueda de l´ ınea (line search): Una t´ ecnica m´ as sofisticada consiste en determinar ηk en cada iteraci´ on mediante un procedimiento de b´ usqueda unidimensional que satisface las condiciones de Wolfe o Armijo. La idea es minimizar ϕ(η) = f(xk −η∇f(xk )) con respecto a η ≥ 0. Esto garantiza un descenso suficiente sin necesidad de conocer L. Sin embargo, el costo de evaluar f varias veces por iteraci´ on puede ser elevado, y no es com´ un en problemas de alta dimensi´ on con grandes conjuntos de datos. Efectos de una η inadecuada: Si η es demasiado peque˜ no, la disminuci´ on de f por iteraci´ on es muy peque˜ na, requiri´ endose un n´ umero enorme de iteraciones. Por el contrario, si η es demasiado grande, pueden ocurrir dos comportamientos: (i) divergencia oscilatoria, donde las iteraciones se alejan hacia el infinito, y (ii) overshooting, donde se salta el valle y se termina en una regi´ on con mayor valor de f. En funciones cuadr´ aticas convexas, la condici´ on de convergencia es η < 2/λmax , donde λmax es el valor propio m´ aximo de la Hessiana. Para η > 2/λmax , la iteraci´ on diverge. En el l´ ımite η = 2/λmax , se producen oscilaciones peri´ odicas. En la pr´ actica, se recomienda realizar una b´ usqueda de hiperpar´ ametros para η sobre una escala logar´ ıtmica, por ejemplo, probando valores 10−6, 10−5, . . . , 100. Para redes neuronales, valores t´ ıpicos est´ an en el rango 10−4 a 10−2. Es com´ un comenzar con un valor relativamente alto y reducirlo si se observa divergencia o estancamiento prematuro. 3.5 Convergencia en funciones convexas El an´ alisis de convergencia del descenso del gradiente para funciones convexas y fuertemente convexas es un pilar de la optimizaci´ on te´ orica. Supongamos que f es convexa, diferenciable, y su gradiente es L-Lipschitz continuo. Bajo estas condiciones, se puede demostrar que el GD con tasa de aprendizaje constante η ≤ 1/L satisface: f(xk ) − f(x∗) ≤ ∥x0 − x∗∥2 2ηk , (39) donde x∗ es un m´ ınimo global (que en convexidad es ´ unico si f es estrictamente convexa). Esta tasa de convergencia es sublineal: O(1/k). Para alcanzar una precisi´ on ϵ, se requieren O(1/ϵ) iteraciones. Si adem´ as f es fuertemente convexa con par´ ametro µ > 0, es decir, f(y) ≥ f(x) + ∇f(x)T (y − x) + µ 2 ∥y − x∥2, entonces la convergencia es lineal (geom´ etrica): ∥xk − x∗∥2 ≤ (1 − µη)k∥x0 − x∗∥2, (40) siempre que η ≤ 1/L. La tasa de convergencia est´ a determinada por el n´ umero de condici´ on κ = L/µ. Cuanto mayor sea κ, m´ as lenta ser´ a la convergencia lineal, con factor (1 − 1/κ). En el peor caso, cuando κ es enorme (problema mal condicionado), la convergencia puede ser extremadamente lenta. La demostraci´ on de la convergencia para funciones convexas se basa en la desigualdad de Lipschitz del gradiente, que proporciona: f(xk+1 ) ≤ f(xk ) − η 1 − Lη 2 ∥∇f(xk )∥2. (41) Eligiendo η ≤ 1/L, el factor (1 − Lη/2) ≥ 1/2, luego f(xk+1 ) ≤ f(xk ) − η 2 ∥∇f(xk )∥2. (42) https://educateperuconsultores.com/ P´ ag. 22
  23. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Adem´ as, por convexidad, f(x∗)

    ≥ f(xk ) + ∇f(xk )T (x∗ − xk ). Usando estas relaciones se llega a la cota de la distancia al m´ ınimo. En el caso fuertemente convexo, se puede acotar ∥∇f(xk )∥2 ≥ 2µ(f(xk ) − f(x∗)), lo que conduce a una desigualdad de contracci´ on en la distancia. Es importante notar que las tasas de convergencia son en el peor caso. En la pr´ actica, el compor- tamiento suele ser mejor, especialmente si la funci´ on tiene estructura adicional (por ejemplo, separabilidad o regularidad). Sin embargo, para funciones no convexas (como las redes neuronales), la teor´ ıa es m´ as limitada y generalmente solo se puede garantizar la convergencia a un punto cr´ ıtico (gradiente cero) con tasa O(1/k). 3.6 Complejidad computacional La complejidad computacional del descenso del gradiente se mide en t´ erminos del n´ umero de operaciones necesarias para alcanzar una soluci´ on con una precisi´ on ϵ, as´ ı como el costo por iteraci´ on. Costo por iteraci´ on: En cada iteraci´ on, se debe evaluar el gradiente ∇f(xk ). Si f es una suma de n funciones (como en el riesgo emp´ ırico), el gradiente es la suma de los gradientes individuales: ∇f(x) = 1 n n i=1 ∇fi (x). Calcular esta suma requiere O(nd) operaciones, donde d es el n´ umero de par´ ametros. Para conjuntos de datos masivos donde n puede ser millones o miles de millones, esto es prohibitivo. Por esta raz´ on, el GD cl´ asico no es escalable a datasets grandes; surge entonces el SGD que utiliza subconjuntos. En problemas donde f tiene una forma anal´ ıtica simple (por ejemplo, funciones cuadr´ aticas con n = d), el costo por iteraci´ on puede ser O(d2) o O(d3) dependiendo de c´ omo se calcule el gradiente. Para redes neuronales, el gradiente se calcula mediante retropropagaci´ on (backpropagation) con un costo O(d) por muestra, pero el gradiente completo requerir´ ıa procesar todas las muestras. N´ umero de iteraciones para alcanzar precisi´ on ϵ: • Funciones convexas con gradiente Lipschitz: O(1/ϵ) iteraciones. • Funciones fuertemente convexas: O(κ log(1/ϵ)) iteraciones, donde κ = L/µ. Cada iteraci´ on tiene costo O(nd) (para el gradiente completo). Por lo tanto, el costo total para funciones convexas es O(nd/ϵ). Para funciones fuertemente convexas, O(ndκ log(1/ϵ)). Comparado con m´ etodos de segundo orden (como Newton), que tienen convergencia cuadr´ atica pero costo O(d3) por iteraci´ on, el gradiente descendente es m´ as econ´ omico cuando d es grande, pero puede requerir muchas m´ as iteraciones. Para problemas con d moderado (hasta unos pocos miles), los m´ etodos de segundo orden pueden ser competitivos; para d grande (millones), solo los m´ etodos de primer orden son viables. Complejidad en el contexto del aprendizaje autom´ atico: Cuando f es el riesgo emp´ ırico con n muestras y d par´ ametros, el GD cl´ asico es O(nd/ϵ). Si n y d son del orden de 106, y ϵ es, digamos, 10−4, entonces se requieren aproximadamente 1016 operaciones, lo cual es inaceptable. Aqu´ ı es donde el SGD reduce el costo por iteraci´ on a O(d) (usando una sola muestra) o O(md) (usando mini-batch de tama˜ no m), logrando una complejidad total O(d/ϵ) para problemas convexos, que es independiente de n. Esto constituye una ventaja revolucionaria. 3.7 Limitaciones del Gradient Descent cl´ asico A pesar de su elegancia conceptual, el m´ etodo del descenso del gradiente adolece de varias limitaciones importantes que motivan el desarrollo de variantes m´ as sofisticadas, incluyendo el SGD. 1. Dependencia cr´ ıtica del learning rate: Elegir η adecuadamente es dif´ ıcil sin un conocimiento previo de la curvatura de f. Un valor demasiado peque˜ no ralentiza la convergencia; uno demasiado grande puede divergir. Los m´ etodos de b´ usqueda de l´ ınea mitigan esto pero introducen costo adicional. 2. Mala convergencia en problemas mal condicionados: Cuando la matriz Hessiana tiene un n´ umero de condici´ on κ grande (es decir, los valores propios est´ an muy dispersos), el gradiente de- scendente produce zigzagueo y la convergencia es extremadamente lenta. En t´ erminos geom´ etricos, las curvas de nivel son elipses muy alargadas, y la direcci´ on del gradiente no apunta directamente al m´ ınimo. https://educateperuconsultores.com/ P´ ag. 23
  24. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 3. Atascamiento en puntos silla:

    Para funciones no convexas, los puntos silla son ubicuos. En un punto silla, el gradiente es cero, pero no es un m´ ınimo. El GD determinista se detiene all´ ı porque no hay direcciones de descenso de primer orden. Aunque existen direcciones de descenso de segundo orden (valores propios negativos del Hessiano), el m´ etodo de primer orden no puede detectarlas. En la pr´ actica, debido a errores num´ ericos, el GD puede escapar lentamente, pero no est´ a garantizado. 4. Incapacidad de escapar de m´ ınimos locales pobres: Aunque en redes neuronales sobredi- mensionadas los m´ ınimos locales tienen valores similares, en otros problemas (como ciertos modelos de mezclas) puede haber m´ ınimos locales muy malos. El GD determinista converger´ a al m´ ınimo local de la cuenca donde se inicia, sin posibilidad de explorar otras regiones. 5. Sensibilidad a la inicializaci´ on: El punto inicial x0 influye en gran medida en la convergen- cia. Una mala inicializaci´ on puede llevar a una convergencia extremadamente lenta o a una mala soluci´ on. Se requieren t´ ecnicas como inicializaci´ on de Xavier o He para redes profundas. 6. Costo computacional por iteraci´ on para datasets grandes: Como se mencion´ o, calcular ∇f completo requiere O(nd) operaciones. Para n en el orden de millones, esto es inviable. El GD no puede manejar aprendizaje a gran escala, mientras que el SGD s´ ı. 7. Monoton´ ıa forzada: El GD siempre reduce el valor de la funci´ on (si η es suficientemente peque˜ no). Esta monoton´ ıa puede ser una desventaja porque impide salir de una meseta o un m´ ınimo local: una vez que se ha descendido, no se puede subir para explorar. Los m´ etodos es- toc´ asticos pueden aumentar temporalmente el valor de f, lo que permite escapar de atrapamientos. 8. Dificultad con funciones no diferenciables: Muchas funciones de p´ erdida en aprendizaje autom´ atico no son diferenciables en todas partes (por ejemplo, la p´ erdida hinge de SVM, o la activaci´ on ReLU en puntos cero). El GD requiere subgradientes en esos puntos, pero la convergencia es m´ as lenta y puede ser problem´ atica. Estas limitaciones han llevado al desarrollo de m´ etodos como el SGD, que introduce ruido estoc´ astico para escapar de puntos silla y manejar grandes conjuntos de datos, y a m´ etodos adaptativos como Adam, que ajustan la tasa de aprendizaje por par´ ametro para mitigar el mal condicionamiento. 3.8 Problemas asociados al uso de datasets masivos Cuando el conjunto de entrenamiento es masivo (por ejemplo, n del orden de 109 o m´ as), el descenso del gradiente cl´ asico se vuelve completamente impracticable. Veamos con detalle los problemas espec´ ıficos. Costo de una sola iteraci´ on: Para calcular ∇f(x) = 1 n n i=1 ∇ℓi (x), es necesario recorrer todas las muestras. Si cada muestra requiere una cantidad modesta de c´ omputo (digamos 103 operaciones), y n = 109, entonces cada gradiente cuesta 1012 operaciones. Incluso en supercomputadoras, esto toma horas o d´ ıas. Si adem´ as se necesitan miles de iteraciones para converger, el costo total es astron´ omico. Requerimientos de memoria: Aunque no es necesario almacenar todos los gradientes individuales al mismo tiempo (se pueden acumular en una suma), a´ un se necesita tener acceso a todas las muestras. En datasets masivos, los datos no caben en la memoria RAM y deben residir en disco o en sistemas de archivos distribuidos. Leer cada muestra de disco en cada iteraci´ on es demasiado lento. Redundancia de informaci´ on: Para conjuntos de datos muy grandes, muchas muestras son re- dundantes; es decir, el gradiente completo se puede estimar razonablemente bien con un subconjunto peque˜ no. El GD cl´ asico, al procesar todas las muestras, desperdicia capacidad computacional en infor- maci´ on repetitiva. Aprendizaje online y flujo de datos: En muchas aplicaciones (por ejemplo, sistemas de recomen- daci´ on en tiempo real), los datos llegan de forma continua y no hay un conjunto fijo. El GD no puede adaptarse porque requiere un conjunto est´ atico. El SGD, en cambio, puede actualizar los par´ ametros en cada muestra entrante y olvidar las antiguas (aprendizaje online). Paralelizaci´ on limitada: Aunque el gradiente completo puede calcularse en paralelo (map-reduce), la sincronizaci´ on entre nodos para sumar los gradientes individuales puede ser un cuello de botella. Adem´ as, si se utilizan muchas m´ aquinas, la comunicaci´ on de los vectores de gradiente de tama˜ no d (que puede ser enorme) puede saturar la red. El SGD as´ ıncrono permite actualizaciones m´ as ligeras. Generalizaci´ on y overfitting: En la pr´ actica, minimizar exactamente el riesgo emp´ ırico en un dataset masivo puede llevar a overfitting (sobreajuste) porque el modelo se memoriza ruido. El SGD, al https://educateperuconsultores.com/ P´ ag. 24
  25. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso no recorrer todo el dataset,

    introduce una regularizaci´ on impl´ ıcita que a menudo mejora la generalizaci´ on. Por otra parte, el GD cl´ asico tiende a converger a m´ ınimos agudos que generalizan peor. Tasa de aprendizaje y curvatura: En datasets masivos, la funci´ on objetivo es una suma de muchos t´ erminos. La curvatura local (Hessiana) puede ser extremadamente variable. El GD con tasa de aprendizaje constante no puede adaptarse a regiones con diferente curvatura. Los m´ etodos adaptativos (como Adam) o el SGD con momentum son necesarios para lograr convergencia pr´ actica. Tiempo de entrenamiento: Para modelos de deep learning, entrenar con GD cl´ asico en ImageNet (1.2 millones de im´ agenes) tomar´ ıa semanas incluso con GPUs. El SGD con mini-batches de tama˜ no 256 reduce el tiempo a horas o d´ ıas. En resumen, el descenso del gradiente cl´ asico es un algoritmo elegante y ´ util para problemas de tama˜ no peque˜ no a mediano y para entender los principios b´ asicos de optimizaci´ on. Sin embargo, en la era del big data y del aprendizaje profundo, sus limitaciones son insalvables, y es necesario recurrir a m´ etodos estoc´ asticos como el SGD, que se estudiar´ an en los siguientes cap´ ıtulos. Conclusi´ on del cap´ ıtulo: Hemos presentado el m´ etodo de descenso del gradiente desde sus fundamen- tos matem´ aticos hasta sus limitaciones pr´ acticas. La derivaci´ on mediante expansi´ on de Taylor muestra su justificaci´ on local, la interpretaci´ on geom´ etrica ayuda a visualizar el comportamiento en superficies convexas y no convexas, y el an´ alisis de convergencia proporciona garant´ ıas para funciones convexas. No obstante, la dependencia cr´ ıtica de la tasa de aprendizaje, la mala convergencia en problemas mal condicionados y el costo prohibitivo para datasets masivos motivan la necesidad del enfoque estoc´ astico que se aborda a continuaci´ on. 4 Fundamentos Probabil´ ısticos del SGD 4.1 Motivaci´ on estad´ ıstica del muestreo aleatorio El descenso del gradiente estoc´ astico (SGD) surge de la necesidad de manejar conjuntos de datos masivos donde el c´ alculo del gradiente completo resulta prohibitivo. La motivaci´ on estad´ ıstica fundamental es que, cuando el tama˜ no de la muestra n es muy grande, el gradiente calculado sobre un subconjunto peque˜ no y aleatorio de datos es una aproximaci´ on sorprendentemente buena del gradiente verdadero. Este hecho se basa en la ley de los grandes n´ umeros y en la teor´ ıa del muestreo aleatorio. Supongamos que tenemos un conjunto de entrenamiento {(xi , yi )}n i=1 compuesto por observaciones independientes e id´ enticamente distribuidas (i.i.d.) seg´ un una distribuci´ on de probabilidad desconocida P sobre el espacio X × Y. La funci´ on de p´ erdida emp´ ırica (riesgo emp´ ırico) es: J(θ) = 1 n n i=1 ℓi (θ), (43) donde ℓi (θ) = L(hθ (xi ), yi ). El gradiente completo es: ∇J(θ) = 1 n n i=1 ∇ℓi (θ). (44) Si seleccionamos aleatoriamente un subconjunto B ⊂ {1, . . . , n} de tama˜ no m (con o sin reemplazo), el gradiente estoc´ astico se define como: gB (θ) = 1 m i∈B ∇ℓi (θ). (45) La motivaci´ on estad´ ıstica proviene del hecho de que, si el muestreo es uniforme y aleatorio, entonces gB (θ) es un estimador insesgado de ∇J(θ). Adem´ as, su varianza decrece como 1/m (para muestreo con reemplazo) o como n−m n−1 σ2 m para muestreo sin reemplazo, donde σ2 es la varianza poblacional de los gradientes individuales. En aplicaciones de aprendizaje autom´ atico, n puede ser del orden de millones o miles de millones. Procesar todas las muestras para cada actualizaci´ on es inviable; sin embargo, procesar solo m = 1 o m = 256 muestras es econ´ omico. La intuici´ on estad´ ıstica es que el ruido introducido por el muestreo aleatorio act´ ua como un regularizador impl´ ıcito, y adem´ as la trayectoria de optimizaci´ on puede escapar de puntos silla y m´ ınimos locales poco profundos. Este cap´ ıtulo explora los fundamentos probabil´ ısticos que justifican el SGD y establecen las condiciones para su convergencia. https://educateperuconsultores.com/ P´ ag. 25
  26. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 4.2 Riesgo emp´ ırico y

    riesgo esperado Para comprender el papel del muestreo aleatorio en optimizaci´ on, es necesario distinguir entre dos obje- tivos fundamentales en aprendizaje estad´ ıstico: el riesgo emp´ ırico y el riesgo esperado. El riesgo esperado (o riesgo verdadero) se define como: R(θ) = E(x,y)∼P [L(hθ (x), y)], (46) que es el error promedio que el modelo cometer´ ıa sobre toda la distribuci´ on subyacente P. Desafortu- nadamente, P es desconocida; solo tenemos acceso a un conjunto finito de muestras. El principio de minimizaci´ on del riesgo emp´ ırico (ERM) propone aproximar R(θ) mediante: ˆ Rn (θ) = 1 n n i=1 L(hθ (xi ), yi ). (47) La teor´ ıa del aprendizaje estad´ ıstico proporciona cotas para la diferencia |R(θ) − ˆ Rn (θ)| que dependen de la complejidad del modelo y del tama˜ no de la muestra n. Para n grande, minimizar ˆ Rn es equivalente a minimizar R con alta probabilidad. El SGD se aplica t´ ıpicamente a la minimizaci´ on del riesgo emp´ ırico, pero tambi´ en puede utilizarse en contextos de aprendizaje online donde se minimiza directamente el riesgo esperado mediante actual- izaciones en flujo de datos. En ese caso, se asume que en cada iteraci´ on t se observa una nueva muestra (xt , yt ) extra´ ıda de P (no necesariamente del mismo conjunto fijo). La actualizaci´ on ser´ ıa: θt+1 = θt − ηt ∇L(hθt (xt ), yt ). (48) Este enfoque, denominado SGD online, tiene la ventaja de no requerir almacenamiento de datos y puede adaptarse a cambios en la distribuci´ on (concept drift). La relaci´ on entre el riesgo emp´ ırico y el esperado es clave para entender por qu´ e el SGD funciona bien incluso cuando no minimiza exactamente ˆ Rn . En la pr´ actica, a menudo se detiene el entrenamiento antes de alcanzar el m´ ınimo del riesgo emp´ ırico (early stopping), lo que act´ ua como regularizaci´ on y evita el sobreajuste. Adem´ as, el ruido estoc´ astico del SGD tiende a sesgar la soluci´ on hacia regiones de baja curvatura (m´ ınimos planos), que se ha demostrado emp´ ırica y te´ oricamente que generalizan mejor. 4.3 Estimadores insesgados del gradiente Una propiedad fundamental del gradiente estoc´ astico basado en mini-batches aleatorios es que es un estimador insesgado del gradiente completo. Formalmente, si seleccionamos un mini-batch B de tama˜ no m de manera aleatoria uniforme sin reemplazo del conjunto {1, . . . , n}, entonces: EB 1 m i∈B ∇ℓi (θ) = 1 n n i=1 ∇ℓi (θ) = ∇J(θ). (49) La esperanza se toma con respecto a la aleatoriedad del muestreo. Si el muestreo es con reemplazo, la propiedad tambi´ en se cumple, aunque la varianza es ligeramente diferente. Esta insesgadez es crucial porque garantiza que, en promedio, la direcci´ on de actualizaci´ on apunta hacia la direcci´ on de descenso verdadera. Adem´ as del mini-batch, tambi´ en se puede considerar un muestreo m´ as general: en lugar de muestrear ´ ındices uniformemente, se puede asignar una distribuci´ on de probabilidad pi a cada muestra, y definir el gradiente estoc´ astico como 1 m i∈B ∇ℓi(θ) pi . Si las pi son las probabilidades de selecci´ on, la insesgadez se mantiene siempre que i pi = 1 y el muestreo sea con reemplazo. En la pr´ actica, es com´ un usar muestreo uniforme, pero en problemas con datos desbalanceados se pueden utilizar pesos diferentes. La insesgadez es una propiedad deseable, pero no suficiente para garantizar convergencia; se necesita tambi´ en control sobre la varianza. Si el estimador tuviera varianza infinita o muy grande, la convergencia ser´ ıa extremadamente lenta o nula. Por ello, los an´ alisis de convergencia del SGD suponen t´ ıpicamente que la varianza est´ a acotada por una constante σ2: E ∥g(θ) − ∇J(θ)∥2 ≤ σ2, (50) para todo θ en el dominio de inter´ es. En el caso de mini-batches, esta cota puede refinarse: la varianza es aproximadamente 1 m Var[∇ℓi (θ)], que decrece con m. https://educateperuconsultores.com/ P´ ag. 26
  27. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Es importante notar que la

    insesgadez del gradiente estoc´ astico no depende de la convexidad de la funci´ on ni de la suavidad. Solo requiere que el valor esperado de ∇ℓi (θ) sobre la distribuci´ on de muestreo sea igual al gradiente emp´ ırico. Esto hace que el SGD sea aplicable a una amplia gama de problemas, incluyendo aquellos con funciones no convexas y no suaves. 4.4 Aproximaci´ on estoc´ astica de Robbins-Monro El SGD tiene sus ra´ ıces en el trabajo fundamental de Robbins y Monro (1951) sobre aproximaci´ on estoc´ astica. Ellos consideraron el problema de encontrar la ra´ ız θ∗ de una funci´ on desconocida M(θ) que solo puede observarse con ruido. Es decir, en cada iteraci´ on se dispone de una observaci´ on Yt = M(θt )+εt , donde εt es ruido aleatorio con esperanza cero. El algoritmo propuesto fue: θt+1 = θt − ηt Yt . (51) Bajo condiciones apropiadas (como que M sea creciente y tenga una ´ unica ra´ ız, y que ηt = ∞, η2 t < ∞), Robbins y Monro demostraron que θt → θ∗ en probabilidad y casi seguramente. En el contexto de la optimizaci´ on, M(θ) es el gradiente ∇J(θ), y la observaci´ on ruidosa Yt es el gradiente estoc´ astico. La ecuaci´ on de actualizaci´ on del SGD es exactamente la del m´ etodo de Robbins- Monro. La principal contribuci´ on de Robbins y Monro fue establecer condiciones sobre la secuencia de tasas de aprendizaje para garantizar la convergencia a pesar del ruido. Espec´ ıficamente, se requiere que: ∞ t=1 ηt = ∞ y ∞ t=1 η2 t < ∞. (52) La primera condici´ on asegura que el algoritmo puede moverse una distancia infinita, necesaria para alcanzar el ´ optimo desde cualquier punto inicial. La segunda condici´ on limita la varianza acumulada, de modo que el ruido no domine el proceso. Una elecci´ on cl´ asica es ηt = η0 /t, que satisface ambas condiciones. El trabajo de Robbins-Monro sent´ o las bases para la teor´ ıa de la aproximaci´ on estoc´ astica, que luego fue extendida por otros autores (Kiefer-Wolfowitz, Sacks, Chung, etc.). En particular, se demostr´ o que la tasa de convergencia ´ optima para funciones suficientemente regulares es O(1/ √ t) en media cuadr´ atica, y que la elecci´ on ηt = 1/(µt) (donde µ es la curvatura) alcanza la cota de Cram´ er-Rao asint´ otica. En el caso del SGD aplicado a la minimizaci´ on del riesgo emp´ ırico, la funci´ on M(θ) = ∇J(θ) es determinista y se puede evaluar exactamente, pero optamos por no hacerlo por razones de eficiencia. La teor´ ıa de Robbins-Monro nos dice que a´ un con gradientes ruidosos, bajo condiciones apropiadas, podemos converger al mismo punto θ∗ que minimiza J (si J es convexa) o al menos a un punto cr´ ıtico (en el caso no convexo). 4.5 Variables aleatorias y ruido estoc´ astico En el SGD, la fuente de aleatoriedad proviene de la selecci´ on de las muestras o mini-batches. Podemos modelar el gradiente estoc´ astico como: gt = ∇J(θt ) + ξt , (53) donde ξt es un vector aleatorio que representa el ruido de estimaci´ on. Este ruido satisface E[ξt ] = 0 y su matriz de covarianza es: E[ξt ξT t ] = 1 m Σ(θt ), (54) donde Σ(θ) es la matriz de covarianza de los gradientes individuales ∇ℓi (θ). Para muestreo con reem- plazo, Σ(θ) = 1 n n i=1 (∇ℓi (θ) − ∇J(θ))(∇ℓi (θ) − ∇J(θ))T , mientras que para muestreo sin reemplazo la expresi´ on incluye un factor de correcci´ on por poblaci´ on finita. El ruido ξt no es necesariamente gaussiano, pero bajo condiciones de regularidad y para n grande, puede aproximarse por una distribuci´ on normal multivariante debido al teorema central del l´ ımite. La magnitud del ruido est´ a controlada por la varianza, que a su vez depende de θt . En regiones cercanas al ´ optimo, donde los gradientes individuales son peque˜ nos, la varianza tambi´ en tiende a ser peque˜ na, lo que facilita la convergencia. Un aspecto crucial es que el ruido ξt y la iteraci´ on θt no son independientes, porque ξt depende de θt a trav´ es de la distribuci´ on de los gradientes evaluados en ese punto. Sin embargo, condicional a https://educateperuconsultores.com/ P´ ag. 27
  28. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso θt , el gradiente estoc´

    astico tiene esperanza ∇J(θt ). Esto es suficiente para aplicar las herramientas de martingalas y procesos estoc´ asticos. En la pr´ actica, el ruido estoc´ astico tiene efectos beneficiosos: • Act´ ua como una fuente de exploraci´ on que permite escapar de puntos silla y m´ ınimos locales poco profundos. • Suaviza el paisaje de p´ erdida efectivo, evitando la convergencia a m´ ınimos agudos que generalizan mal. • Permite el entrenamiento con tasas de aprendizaje constantes, ya que el ruido impide que las iteraciones se estanquen exactamente en un punto cr´ ıtico. Sin embargo, demasiado ruido (por ejemplo, mini-batch de tama˜ no 1 con gradientes de alta varianza) puede hacer que la convergencia sea muy lenta y err´ atica, requiriendo m´ as iteraciones. 4.6 Esperanza matem´ atica del gradiente estoc´ astico La esperanza del gradiente estoc´ astico es el concepto central que permite conectar el SGD con el gradiente determinista. Formalmente, dado un punto θ y una regla de muestreo que selecciona un subconjunto aleatorio B (de tama˜ no fijo o variable), se tiene: EB [gB (θ)] = ∇J(θ). (55) Esta igualdad es v´ alida puntualmente para cada θ. Es importante destacar que EB se refiere a la esperanza con respecto a la aleatoriedad del mini-batch, manteniendo θ fijo. En el algoritmo, θt es aleatorio porque depende de realizaciones pasadas del ruido, pero la propiedad de insesgadez condicional se mantiene: E[gt | θt ] = ∇J(θt ). (56) Esta propiedad es la base para el an´ alisis de convergencia mediante supermartingalas. La esperanza del gradiente estoc´ astico tambi´ en puede considerarse con respecto a la distribuci´ on de los datos si estamos en el contexto del riesgo esperado. En ese caso, ∇J(θ) es el gradiente del riesgo esperado, y la muestra (xt , yt ) se extrae de P, por lo que E[∇L(hθ (x), y)] = ∇R(θ). El algoritmo SGD online explota directamente esta propiedad. Una consecuencia importante es que, aunque el gradiente estoc´ astico sea ruidoso, la direcci´ on prome- dio apunta hacia la direcci´ on de descenso. Por lo tanto, si tomamos promedios de las iteraciones o de los gradientes, podemos reducir la varianza. Esto motiva t´ ecnicas como el promediado de Polyak-Ruppert, que consiste en devolver la media de las ´ ultimas iteraciones en lugar de la ´ ultima iteraci´ on, obteniendo una convergencia ´ optima. 4.7 Varianza del estimador del gradiente La varianza del gradiente estoc´ astico mide la dispersi´ on de las estimaciones alrededor del gradiente verdadero. Controlar esta varianza es esencial para garantizar una convergencia r´ apida. La varianza se define como: Var(gB (θ)) = E ∥gB (θ) − ∇J(θ)∥2 . (57) Para un mini-batch de tama˜ no m con muestreo uniforme con reemplazo, se puede demostrar que: Var(gB (θ)) = 1 m Tr (Σ(θ)) = 1 m · 1 n n i=1 ∥∇ℓi (θ) − ∇J(θ)∥2. (58) Si el muestreo es sin reemplazo, la varianza es ligeramente menor, multiplicada por el factor (1 − m−1 n−1 ) aproximadamente. En cualquier caso, la varianza decrece linealmente con el tama˜ no del mini-batch m. Por lo tanto, usar lotes m´ as grandes reduce el ruido, pero aumenta el costo computacional por iteraci´ on. En problemas de aprendizaje profundo, la varianza puede ser muy alta, especialmente cerca de la inicializaci´ on, donde los gradientes individuales difieren significativamente. A medida que el modelo converge, la varianza tiende a disminuir porque los gradientes se vuelven peque˜ nos y m´ as consistentes. La varianza tambi´ en depende de la funci´ on de p´ erdida y de la arquitectura; por ejemplo, la p´ erdida de entrop´ ıa cruzada con activaci´ on softmax produce gradientes con varianza moderada, mientras que la p´ erdida cuadr´ atica puede tener varianza grande si hay valores at´ ıpicos. https://educateperuconsultores.com/ P´ ag. 28
  29. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Una cota com´ unmente utilizada

    en el an´ alisis te´ orico es que existe una constante σ2 tal que: E ∥gt ∥2 ≤ σ2 + ∥∇J(θt )∥2. (59) Esta condici´ on se denomina “varianza acotada por el gradiente” y es satisfecha por muchas funciones de p´ erdida comunes cuando los gradientes est´ an acotados. Tambi´ en se utiliza la condici´ on m´ as simple: Var(gt ) ≤ σ2 para todo θt . La varianza del estimador tambi´ en puede reducirse mediante t´ ecnicas de reducci´ on de varianza, como SVRG (Stochastic Variance Reduced Gradient) o SAGA, que mantienen una estimaci´ on de la media de los gradientes y actualizan peri´ odicamente. Estos m´ etodos logran tasas de convergencia lineales incluso para problemas mal condicionados, pero con costo adicional. En la pr´ actica, el SGD simple con mini- batches moderados suele ser suficiente debido a la regularizaci´ on impl´ ıcita. 4.8 Convergencia en media y convergencia casi segura El an´ alisis de convergencia del SGD se puede realizar desde dos perspectivas complementarias: con- vergencia en media (o en media cuadr´ atica) y convergencia casi segura (con probabilidad 1). Ambos conceptos capturan diferentes aspectos del comportamiento asint´ otico. Convergencia en media cuadr´ atica: Se dice que θt converge a θ∗ en media cuadr´ atica si limt→∞ E[∥θt − θ∗∥2] = 0. Este tipo de convergencia es ´ util porque proporciona una cota para el error esperado en cada iteraci´ on. Bajo condiciones apropiadas (convexidad fuerte, gradiente Lipschitz, varianza acotada), se puede demostrar que: E[∥θt − θ∗∥2] ≤ C t , (60) para alguna constante C. Esto significa que la tasa de convergencia en media cuadr´ atica es O(1/t). La demostraci´ on utiliza desigualdades recursivas y la elecci´ on de ηt = 1/(µt). La convergencia en media cuadr´ atica implica convergencia en probabilidad (por desigualdad de Cheby- shev), pero es m´ as fuerte. No obstante, no garantiza que cada trayectoria individual converja; solo asegura que el error cuadr´ atico medio tiende a cero. Convergencia casi segura (c.s.): Se dice que θt converge a θ∗ casi seguramente si: P lim t→∞ θt = θ∗ = 1. (61) Este tipo de convergencia es m´ as fuerte que la convergencia en probabilidad y garantiza que, con probabil- idad 1, la trayectoria del algoritmo se acerca a θ∗ a medida que t crece. Para SGD en problemas convexos con gradiente Lipschitz y condiciones sobre las tasas de aprendizaje (como ηt = ∞, η2 t < ∞), se puede demostrar la convergencia casi segura a un m´ ınimo global (si la funci´ on es convexa) o a un punto cr´ ıtico (si es no convexa). La demostraci´ on se apoya en el teorema de convergencia de martingalas de Robbins-Siegmund. En la pr´ actica, la convergencia casi segura es una propiedad muy deseable porque asegura que, ejecutando el algoritmo el tiempo suficiente, se obtendr´ a una soluci´ on arbitrariamente cercana al ´ optimo (excepto en un conjunto de medida nula). Sin embargo, en implementaciones reales con precisi´ on finita y n´ umero finito de iteraciones, la distinci´ on entre ambos tipos de convergencia es menos relevante; ambos implican que el algoritmo funciona bien asint´ oticamente. Para funciones no convexas, la convergencia casi segura se establece hacia puntos donde el gradiente se anula, pero no se garantiza que sea un m´ ınimo global. Aun as´ ı, resultados recientes muestran que, bajo condiciones de ruido no degenerado, el SGD evita puntos silla y converge a m´ ınimos locales. 4.9 SGD como proceso din´ amico aleatorio El SGD puede interpretarse como un sistema din´ amico estoc´ astico en tiempo discreto. La ecuaci´ on de actualizaci´ on: θt+1 = θt − ηt (∇J(θt ) + ξt ) (62) es una versi´ on discretizada de una ecuaci´ on diferencial estoc´ astica (SDE). Si consideramos ηt como un paso de tiempo, y definimos t como tiempo continuo mediante un escalado apropiado, la din´ amica del SGD se aproxima por: dθ = −∇J(θ)dt + ηt Σ(θ)dWt , (63) https://educateperuconsultores.com/ P´ ag. 29
  30. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso donde Wt es un movimiento

    browniano multivariante. Esta SDE describe una difusi´ on en el paisaje de p´ erdida, donde el t´ ermino de drift −∇J(θ) empuja hacia los m´ ınimos y el t´ ermino de difusi´ on (ruido) proporciona fluctuaciones aleatorias. El an´ alisis de esta SDE revela varios fen´ omenos interesantes: • La temperatura efectiva del sistema es proporcional a ηt y a la varianza del ruido. Para ηt constante, el SGD no converge a un punto fijo, sino que oscila alrededor de un m´ ınimo con una distribuci´ on estacionaria que se concentra cerca de los m´ ınimos planos. • La probabilidad de escapar de un m´ ınimo local depende de la altura de la barrera y de la tem- peratura. A temperatura constante, el sistema puede saltar entre cuencas, mientras que si la temperatura desciende (tasa de aprendizaje decreciente), se produce un recocido simulado que permite converger a un m´ ınimo global. • La matriz de covarianza asint´ otica de las iteraciones (cuando ηt es peque˜ na) est´ a relacionada con el inverso del Hessiano en el m´ ınimo, lo que permite construir intervalos de confianza. Desde la perspectiva de los procesos estoc´ asticos, la sucesi´ on {θt } es una cadena de Markov inho- mog´ enea (debido a ηt variable) con n´ ucleo de transici´ on que depende del gradiente y la aleatoriedad del mini-batch. La teor´ ıa de las cadenas de Markov y las martingalas proporciona herramientas para estudiar su comportamiento erg´ odico. Un enfoque alternativo es considerar el SGD como un algoritmo de optimizaci´ on que minimiza una funci´ on objetivo mientras explora el espacio de par´ ametros. El equilibrio entre explotaci´ on (seguir el gradiente) y exploraci´ on (ruido) est´ a controlado por ηt y el tama˜ no del mini-batch. Este equilibrio es an´ alogo al de los algoritmos de b´ usqueda aleatoria y los m´ etodos de Monte Carlo. En la pr´ actica, comprender el SGD como un proceso din´ amico aleatorio ayuda a dise˜ nar estrategias de ajuste de la tasa de aprendizaje (por ejemplo, annealing c´ ıclico) y a explicar por qu´ e el SGD generaliza bien: la difusi´ on estoc´ astica favorece regiones planas del paisaje de p´ erdida, que se corresponden con soluciones de baja complejidad. Conclusi´ on del cap´ ıtulo: En esta secci´ on hemos establecido los fundamentos probabil´ ısticos que sub- yacen al SGD, desde la motivaci´ on del muestreo aleatorio hasta la interpretaci´ on como proceso din´ amico estoc´ astico. La insesgadez del gradiente estoc´ astico, el control de su varianza y las condiciones de convergencia derivadas de la teor´ ıa de Robbins-Monro son pilares que justifican su uso en aprendizaje autom´ atico. El an´ alisis de convergencia en media y casi segura proporciona garant´ ıas te´ oricas, mientras que la analog´ ıa con ecuaciones diferenciales estoc´ asticas ofrece una visi´ on m´ as rica del comportamiento del algoritmo en problemas no convexos. Estos fundamentos ser´ an esenciales para abordar las variantes modernas y las aplicaciones en los cap´ ıtulos siguientes. 5 Formulaci´ on Matem´ atica del SGD 5.1 Definici´ on formal del algoritmo SGD El Stochastic Gradient Descent (SGD) es un algoritmo iterativo de optimizaci´ on de primer orden dise˜ nado para minimizar funciones objetivo que se expresan como una suma de t´ erminos. Formalmente, se con- sidera el problema de minimizaci´ on sin restricciones: min θ∈Rd J(θ) = 1 n n i=1 Ji (θ), (64) donde cada Ji : Rd → R es una funci´ on de p´ erdida asociada a la i-´ esima muestra de entrenamiento. El algoritmo SGD genera una sucesi´ on de iterantes {θt }∞ t=0 mediante la regla recursiva: θt+1 = θt − ηt ∇Jit (θt ), (65) donde it es un ´ ındice aleatorio seleccionado uniformemente del conjunto {1, . . . , n} (con o sin reemplazo), ηt > 0 es la tasa de aprendizaje (learning rate) en la iteraci´ on t, y ∇Jit (θt ) denota el gradiente de la funci´ on de p´ erdida individual evaluada en el punto actual. En su versi´ on m´ as pura, el SGD utiliza una sola muestra por iteraci´ on (m = 1), lo que contrasta con el m´ etodo del gradiente cl´ asico que emplea todas las muestras. https://educateperuconsultores.com/ P´ ag. 30
  31. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso El punto inicial θ0 puede

    elegirse de diversas formas, t´ ıpicamente mediante inicializaciones aleatorias de peque˜ na magnitud (por ejemplo, distribuci´ on normal con media cero y varianza 2/d para redes neuronales). El algoritmo se detiene cuando se alcanza un n´ umero m´ aximo de iteraciones, cuando la norma del gradiente estoc´ astico es suficientemente peque˜ na, o cuando la funci´ on de p´ erdida en un conjunto de validaci´ on deja de mejorar. Una caracter´ ıstica crucial del SGD es que el gradiente utilizado es un estimador insesgado del gradiente completo, como se demostr´ o en la secci´ on anterior. Esto significa que, condicional a θt , se cumple: Eit [∇Jit (θt )] = ∇J(θt ). (66) Sin embargo, a diferencia del gradiente determinista, el gradiente estoc´ astico introduce ruido cuya vari- anza es proporcional a 1 n n i=1 ∥∇Ji (θt ) − ∇J(θt )∥2 cuando se muestrea una sola muestra. El algoritmo SGD se puede describir mediante el siguiente pseudoc´ odigo: 1 def sgd(J_grad , theta0 , learning_rate , num_iterations ): 2 theta = theta0 3 for t in range( num_iterations ): 4 i = random.randint (0, n -1) # seleccionar indice aleatorio 5 gradient = J_grad[i]( theta) # gradiente de la muestra i 6 theta = theta - learning_rate [t] * gradient 7 return theta Este algoritmo es extremadamente simple y constituye la base de la mayor´ ıa de los optimizadores utilizados en aprendizaje profundo. La elecci´ on de la secuencia ηt es fundamental y ser´ a discutida en detalle m´ as adelante. 5.2 Diferencias entre GD y SGD El Gradient Descent (GD) cl´ asico y el Stochastic Gradient Descent (SGD) difieren en varios aspectos fundamentales, tanto en su formulaci´ on matem´ atica como en su comportamiento pr´ actico. A continuaci´ on se enumeran las diferencias m´ as importantes. Costo computacional por iteraci´ on: GD requiere evaluar ∇J(θt ) = 1 n n i=1 ∇Ji (θt ), lo que implica O(nd) operaciones por iteraci´ on, donde d es el n´ umero de par´ ametros. En cambio, SGD utiliza solo una muestra, con costo O(d) por iteraci´ on. Para conjuntos de datos masivos (n del orden de millones o miles de millones), la diferencia es abismal: una iteraci´ on de GD puede tardar horas, mientras que una de SGD toma microsegundos. Exactitud del gradiente: GD emplea el gradiente exacto de la funci´ on objetivo, mientras que SGD utiliza una aproximaci´ on ruidosa. El ruido tiene media cero pero varianza positiva. Esta diferen- cia implica que GD produce una trayectoria suave y mon´ otonamente decreciente en J (para tasas de aprendizaje suficientemente peque˜ nas), mientras que SGD produce una trayectoria err´ atica que puede aumentar temporalmente el valor de J. Convergencia: GD converge a un m´ ınimo local (o global si la funci´ on es convexa) con tasas lineales o sublineales deterministas. SGD converge en expectativa o casi seguramente, pero con una tasa m´ as lenta en t´ erminos de iteraciones (O(1/t) en el caso convexo vs. O(1/t) para GD, pero la constante para SGD es peor debido a la varianza). Sin embargo, en t´ erminos de tiempo de c´ omputo, SGD puede alcanzar una soluci´ on aceptable mucho m´ as r´ apido porque cada iteraci´ on es barata. Escape de puntos silla: GD determinista puede quedar atrapado en puntos silla (donde ∇J = 0 pero la Hessiana tiene valores propios negativos) porque no hay direcci´ on de descenso de primer orden. En la pr´ actica, debido a errores num´ ericos, puede escapar lentamente. En cambio, el ruido estoc´ astico del SGD proporciona una fuente continua de perturbaciones que permiten escapar r´ apidamente de los puntos silla, un fen´ omeno bien estudiado en la literatura de optimizaci´ on no convexa. Generalizaci´ on: Se ha observado emp´ ıricamente que SGD tiende a encontrar soluciones que gener- alizan mejor que las obtenidas con GD. La raz´ on se atribuye a que el ruido estoc´ astico sesga la conver- gencia hacia m´ ınimos planos (flat minima), que son m´ as robustos a peque˜ nas variaciones en los datos o en los par´ ametros. GD, en cambio, puede converger a m´ ınimos agudos (sharp minima) que generalizan pobremente. Regularizaci´ on impl´ ıcita: SGD introduce una forma de regularizaci´ on impl´ ıcita debida al ruido. En problemas lineales, se ha demostrado que SGD con tasa de aprendizaje constante converge a la soluci´ on de norma m´ ınima bajo ciertas condiciones, lo que equivale a una regularizaci´ on ℓ2 . En redes neuronales profundas, el efecto regularizador es m´ as complejo pero ben´ efico. Paralelizaci´ on: GD puede paralelizarse f´ acilmente calculando gradientes individuales en diferentes n´ ucleos y luego sum´ andolos, pero requiere sincronizaci´ on. SGD, en su forma de una sola muestra, es https://educateperuconsultores.com/ P´ ag. 31
  32. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso inherentemente secuencial. Sin embargo, la

    variante mini-batch de SGD permite paralelizaci´ on eficiente en GPUs, combinando lo mejor de ambos mundos. Requerimientos de memoria: GD necesita almacenar todo el conjunto de datos o al menos tener acceso secuencial a ´ el, lo que puede ser problem´ atico cuando los datos no caben en memoria. SGD puede procesar datos en flujo (streaming) sin necesidad de almacenarlos todos. En resumen, aunque GD es te´ oricamente m´ as limpio y converge con menos iteraciones, SGD es pr´ acticamente insustituible para problemas a gran escala debido a su eficiencia computacional y sus propiedades de generalizaci´ on. 5.3 Actualizaci´ on iterativa basada en muestras individuales La forma m´ as elemental de SGD utiliza una ´ unica muestra por iteraci´ on. La regla de actualizaci´ on es: θt+1 = θt − ηt ∇Jit (θt ), (67) donde it ∼ Uniform{1, . . . , n}. Esta ecuaci´ on puede reescribirse como: θt+1 = θt − ηt (∇J(θt ) + ξt ) , (68) con ξt = ∇Jit (θt ) − ∇J(θt ) siendo un vector de ruido centrado. La elecci´ on de it puede hacerse de dos maneras principales: • Muestreo con reemplazo: Cada iteraci´ on selecciona un ´ ındice de manera independiente y uni- forme. Esto produce una secuencia de gradientes independientes (condicionalmente a θt ). La varianza del estimador es exactamente la varianza poblacional de los gradientes individuales. • Muestreo sin reemplazo (recorrido aleatorio): Se recorre el conjunto de ´ ındices en orden aleatorio, y al llegar al final se vuelve a permutar. Este m´ etodo reduce ligeramente la varianza y es m´ as com´ un en la pr´ actica porque garantiza que cada muestra sea utilizada una vez por ´ epoca. La actualizaci´ on basada en muestras individuales tiene la ventaja de que el costo por iteraci´ on es m´ ınimo, permitiendo realizar muchas actualizaciones en poco tiempo. Adem´ as, introduce la m´ axima cantidad de ruido, lo que puede ayudar a escapar de m´ ınimos locales pobres. Sin embargo, la alta varianza puede provocar una convergencia muy err´ atica y dificultar la reducci´ on del error por debajo de cierto umbral, a menos que se utilice una tasa de aprendizaje decreciente. La ecuaci´ on anterior se puede expandir para comprender mejor su din´ amica. Supongamos que Ji es convexa y suave, y que ηt = η constante. Entonces, tomando esperanza condicional: E[θt+1 | θt ] = θt − η∇J(θt ). (69) Es decir, el valor esperado de la siguiente iteraci´ on sigue la direcci´ on del gradiente completo. Sin embargo, la varianza condicional es: Var(θt+1 | θt ) = η2Var(∇Jit (θt )). (70) Esta varianza no se disipa a menos que η tienda a cero. Por lo tanto, con η constante, θt nunca converge a un punto fijo, sino que oscila alrededor de una vecindad del m´ ınimo. La magnitud de las oscilaciones es O(η). Para lograr convergencia exacta, se emplean secuencias ηt decrecientes. Bajo condiciones apropiadas, se puede demostrar que limt→∞ θt = θ∗ casi seguramente. La tasa de convergencia en media cuadr´ atica es O(1/t) para funciones convexas, y O(1/t) para funciones fuertemente convexas (con constante que depende de la varianza). En la pr´ actica, el SGD con muestras individuales es ampliamente utilizado en problemas de apren- dizaje online y en sistemas donde los datos llegan en flujo (por ejemplo, en sistemas de recomendaci´ on). En deep learning, sin embargo, el uso de mini-batches (tama˜ no ¿ 1) se ha vuelto predominante por razones de eficiencia en GPUs y estabilidad. 5.4 SGD usando mini-batches El mini-batch SGD es una extensi´ on natural del SGD de muestra ´ unica, en la que en cada iteraci´ on se selecciona un subconjunto (lote) de m muestras, donde 1 ≤ m ≤ n. La actualizaci´ on se define como: θt+1 = θt − ηt · 1 m i∈Bt ∇Ji (θt ), (71) https://educateperuconsultores.com/ P´ ag. 32
  33. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso siendo Bt un conjunto aleatorio

    de m ´ ındices. El gradiente estoc´ astico es ahora el promedio de los gradientes individuales sobre el mini-batch. Este estimador sigue siendo insesgado: EBt 1 m i∈Bt ∇Ji (θt ) = ∇J(θt ), (72) y su varianza es aproximadamente 1 m Var(∇Ji (θt )) (para muestreo con reemplazo). Por lo tanto, aumentar m reduce la varianza, lo que estabiliza las actualizaciones y permite usar tasas de aprendizaje m´ as grandes. El tama˜ no del mini-batch m es un hiperpar´ ametro que afecta tanto la velocidad de convergencia como la calidad de la soluci´ on. Valores t´ ıpicos en deep learning oscilan entre 16 y 512, aunque en modelos muy grandes pueden llegar a miles o incluso millones (como en el entrenamiento de GPT-3, donde se utilizan lotes de 0.5 a 2 millones de tokens). Ventajas del mini-batch SGD sobre el de muestra ´ unica: • Reduce la varianza del gradiente estoc´ astico, resultando en trayectorias m´ as suaves y convergencia m´ as r´ apida en t´ erminos de iteraciones. • Permite explotar la paralelizaci´ on de hardware: las GPUs pueden procesar un lote de ejemplos simult´ aneamente mediante operaciones vectorizadas, obteniendo un rendimiento mucho mayor que procesar las muestras una por una. • Facilita el uso de normalizaci´ on por lotes (batch normalization), una t´ ecnica que estabiliza el entrenamiento de redes profundas. • Mejora la estabilidad num´ erica al promediar gradientes, reduciendo la probabilidad de gradientes explosivos. Desventajas: • Aumenta el costo computacional por iteraci´ on en O(m) en comparaci´ on con O(1) de SGD puro. Sin embargo, debido a la paralelizaci´ on, el tiempo real no escala linealmente con m; para m moderados, el tiempo puede ser casi constante. • Lotes muy grandes pueden llevar a una convergencia a m´ ınimos agudos que generalizan peor (fen´ omeno reportado por Keskar et al., 2017). Se cree que lotes grandes reducen el ruido necesario para escapar de m´ ınimos agudos. • Requieren m´ as memoria para almacenar los gradientes y las activaciones de todo el lote. En la pr´ actica, se utiliza un compromiso: un tama˜ no de lote lo suficientemente grande para aprovechar la GPU, pero no tan grande como para perjudicar la generalizaci´ on. En muchos casos, m = 32, 64, 128 o 256 funcionan bien. El algoritmo de mini-batch SGD se implementa t´ ıpicamente recorriendo el conjunto de entrenamiento en ´ epocas. Una ´ epoca consiste en procesar todos los ejemplos una vez, divididos en lotes de tama˜ no m. El orden de los ejemplos se permuta aleatoriamente antes de cada ´ epoca para garantizar que los lotes sean representativos. 1 def mini_batch_sgd (J_grad , theta0 , learning_rate , batch_size , num_epochs ): 2 theta = theta0 3 n = len(J_grad) 4 for epoch in range( num_epochs): 5 indices = random. permutation (n) 6 for start in range (0, n, batch_size ): 7 batch_indices = indices[start:start+ batch_size ] 8 gradient = sum(J_grad[i]( theta) for i in batch_indices ) / len( batch_indices ) 9 theta = theta - learning_rate * gradient 10 return theta https://educateperuconsultores.com/ P´ ag. 33
  34. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 5.5 Funci´ on de p´

    erdida promedio En el contexto del SGD, la funci´ on objetivo J(θ) se define como el promedio de las p´ erdidas individuales. Esto es consistente con la formulaci´ on del riesgo emp´ ırico. Sin embargo, es importante notar que el SGD no requiere calcular expl´ ıcitamente J(θ); solo necesita los gradientes. No obstante, a menudo se eval´ ua J(θ) en puntos intermedios para monitorear el progreso. La funci´ on de p´ erdida promedio tiene la propiedad de que su gradiente es el promedio de los gra- dientes individuales. Por lo tanto, el SGD con mini-batches es un m´ etodo natural para minimizarla. En problemas de clasificaci´ on, la p´ erdida promedio puede interpretarse como la probabilidad de error emp´ ırica cuando se utiliza p´ erdida 0-1, pero como esta no es diferenciable, se utilizan sustitutos suaves como la entrop´ ıa cruzada o la p´ erdida hinge. Una cuesti´ on pr´ actica es que el valor de J(θ) durante el entrenamiento con SGD no es mon´ otono debido al ruido. Para obtener una estimaci´ on m´ as fiable del progreso, se suele calcular la p´ erdida sobre un conjunto de validaci´ on separado o sobre un lote grande fijo (a veces llamado conjunto de “sombra”). Tambi´ en es com´ un promediar las p´ erdidas sobre las ´ ultimas iteraciones. En el an´ alisis te´ orico, a menudo se considera la funci´ on de p´ erdida esperada E[Ji (θ)] cuando los datos son i.i.d. En ese caso, el SGD online minimiza directamente el riesgo esperado, y el promedio sobre iteraciones converge a la soluci´ on ´ optima. 5.6 Interpretaci´ on geom´ etrica de las trayectorias de optimizaci´ on Para comprender visualmente el comportamiento del SGD, resulta ´ util analizar sus trayectorias en el espacio de par´ ametros en comparaci´ on con las del GD. Consideremos una funci´ on cuadr´ atica convexa en dos dimensiones: J(θ) = 1 2 θT Aθ, con A definida positiva. El GD produce una trayectoria que converge al origen siguiendo una l´ ınea recta si el punto inicial est´ a sobre un eje propio, o una curva suave si no. En cambio, el SGD utiliza gradientes ruidosos de la forma ∇Ji (θt ) = Ai θt , donde Ai son matrices (por ejemplo, provenientes de una descomposici´ on). La trayectoria resultante es una marcha aleatoria con deriva hacia el origen. En un paisaje de p´ erdida no convexo t´ ıpico de redes neuronales, el SGD tiende a moverse a trav´ es de valles y laderas. La componente estoc´ astica permite al algoritmo “saltar” sobre peque˜ nas barreras y explorar diferentes cuencas. Visualizaciones en 2D proyectadas muestran que el SGD con tasa de aprendizaje constante realiza un movimiento browniano alrededor de una regi´ on, mientras que con tasa decreciente se concentra gradualmente en un m´ ınimo. Una interpretaci´ on geom´ etrica alternativa es considerar la trayectoria del SGD como la discretizaci´ on de una ecuaci´ on diferencial estoc´ astica (SDE). En el l´ ımite de η → 0, la trayectoria se aproxima por una difusi´ on con drift −∇J(θ) y difusi´ on ηΣ(θ). Esta SDE tiene una distribuci´ on estacionaria que se concentra en los puntos donde ∇J = 0 y la curvatura es alta. Los m´ ınimos planos (con curvatura peque˜ na) son m´ as favorables porque la difusi´ on los visita con mayor probabilidad. En la pr´ actica, la visualizaci´ on de trayectorias se utiliza para diagnosticar problemas de optimizaci´ on: oscilaciones grandes indican que la tasa de aprendizaje es demasiado alta; estancamiento con gradiente peque˜ no puede indicar un punto silla o una meseta; divergencia sugiere que η es excesiva. 5.7 Influencia del tama˜ no del batch El tama˜ no del mini-batch m es un hiperpar´ ametro que tiene una influencia profunda en la din´ amica de optimizaci´ on y en la calidad de la soluci´ on final. A continuaci´ on se detallan los efectos m´ as importantes. Sobre la varianza del gradiente: Como se mencion´ o, la varianza del gradiente estoc´ astico es aproximadamente σ2/m, donde σ2 es la varianza de los gradientes individuales. Reducir la varianza permite usar tasas de aprendizaje m´ as altas porque las actualizaciones son m´ as confiables. En el l´ ımite m = n, se recupera GD, con varianza cero. Sobre la velocidad de convergencia: En t´ erminos de iteraciones, un lote m´ as grande reduce la varianza, lo que acelera la convergencia (menos iteraciones necesarias). Sin embargo, el costo por iteraci´ on aumenta linealmente con m. El producto (n´ umero de iteraciones) × (costo por iteraci´ on) puede ser m´ ınimo para alg´ un m intermedio. En la pr´ actica, con GPUs, el costo no crece linealmente para m moderados debido a la paralelizaci´ on, por lo que a menudo se usa el m m´ as grande que quepa en la memoria de la GPU. Sobre la generalizaci´ on: Existe evidencia emp´ ırica de que lotes peque˜ nos (m = 32, 64) tienden a generalizar mejor que lotes grandes (m = 512, 1024). La explicaci´ on propuesta es que el ruido intr´ ınseco del lote peque˜ no ayuda a escapar de m´ ınimos agudos y a favorecer m´ ınimos planos. Lotes grandes https://educateperuconsultores.com/ P´ ag. 34
  35. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso reducen el ruido, permitiendo converger

    a m´ ınimos m´ as agudos que pueden sobreajustarse. Esto ha sido observado en tareas de clasificaci´ on de im´ agenes y en NLP. Sobre la estabilidad num´ erica: Lotes muy peque˜ nos (m = 1) pueden producir gradientes muy rui- dosos que causan inestabilidad, especialmente si la funci´ on de p´ erdida tiene gradientes grandes en algunas muestras (por ejemplo, valores at´ ıpicos). Los lotes m´ as grandes promedian estos efectos, proporcionando mayor estabilidad. Sobre el tiempo de entrenamiento: Para lograr un error de validaci´ on dado, a menudo se puede reducir el tiempo total usando un lote moderado que equilibre la reducci´ on de varianza y el costo computacional. En muchos casos, m = 128 o 256 son ´ optimos. Una regla emp´ ırica ´ util es que el tama˜ no del lote debe ser lo suficientemente grande para que la varianza del gradiente estoc´ astico sea peque˜ na comparada con la norma del gradiente al cuadrado. Matem´ aticamente, se desea σ2 m ≤ ∥∇J(θ)∥2. Cerca del m´ ınimo, ∇J es peque˜ no, por lo que se necesita un lote grande o una tasa de aprendizaje decreciente. 5.8 Propiedades computacionales del SGD El SGD posee propiedades computacionales que lo hacen extremadamente atractivo para el aprendizaje autom´ atico a gran escala. Eficiencia de memoria: En su forma de muestra ´ unica, SGD solo necesita almacenar un ejemplo a la vez, lo que permite procesar conjuntos de datos que no caben en la memoria principal. Incluso con mini-batches, la memoria requerida es proporcional al tama˜ no del lote, no al tama˜ no total del conjunto. Esto es fundamental para datasets como ImageNet (1.2 millones de im´ agenes) o conjuntos de texto masivos. Tiempo por iteraci´ on: El costo de una actualizaci´ on SGD es O(md) para mini-batch de tama˜ no m. En la pr´ actica, utilizando operaciones vectorizadas y GPUs, el tiempo real para m = 256 puede ser apenas unas pocas veces mayor que para m = 1, debido a que las GPUs son m´ aquinas SIMD (Single Instruction Multiple Data). Para redes profundas, la retropropagaci´ on (backpropagation) domina el costo, y su complejidad es lineal en el n´ umero de par´ ametros y en el tama˜ no del lote. Paralelizaci´ on: El mini-batch SGD se presta naturalmente a la paralelizaci´ on: cada ejemplo del lote puede procesarse en paralelo, y los gradientes se suman mediante una reducci´ on. Esto ha sido implementado en todos los frameworks de deep learning (TensorFlow, PyTorch, JAX) y permite escalar a m´ ultiples GPUs y TPUs. Comunicaci´ on en entrenamiento distribuido: Cuando se entrena con m´ ultiples dispositivos, el SGD puede ejecutarse de forma s´ ıncrona (todos los dispositivos procesan un sub-lote, se promedian los gradientes) o as´ ıncrona (cada dispositivo actualiza los par´ ametros de forma independiente). La variante as´ ıncrona, conocida como Hogwild! (Recht et al., 2011), puede lograr una aceleraci´ on casi lineal sin bloqueos, aprovechando la tolerancia al ruido del SGD. Adaptabilidad a datos en streaming: El SGD puede procesar datos en flujo (online learning) actualizando los par´ ametros con cada nueva muestra y descartando las anteriores. Esto es esencial para aplicaciones en tiempo real, como detecci´ on de fraudes o recomendaci´ on de noticias. Implementaciones eficientes: Los frameworks modernos implementan SGD con numerosas op- timizaciones: fusi´ on de operaciones, c´ alculo de gradientes en precisi´ on mixta (FP16), y t´ ecnicas de compilaci´ on just-in-time (JIT) para acelerar el bucle de entrenamiento. 5.9 SGD en espacios de alta dimensi´ on Una de las fortalezas m´ as notables del SGD es su capacidad para operar en espacios de par´ ametros de muy alta dimensi´ on, t´ ıpicamente del orden de millones o miles de millones. En tales espacios, los m´ etodos de segundo orden son inviables debido a la necesidad de almacenar y manipular matrices Hessianas de tama˜ no d × d. El SGD, en cambio, solo requiere almacenar el vector de par´ ametros actual (tama˜ no d) y el gradiente (tama˜ no d), ambos con costo O(d). En alta dimensi´ on, el paisaje de optimizaci´ on tiene propiedades particulares. Por ejemplo, los puntos silla se vuelven mucho m´ as abundantes que los m´ ınimos locales. Sin embargo, estudios recientes muestran que el SGD, gracias a su ruido, puede escapar de estos puntos silla en tiempo polinomial. Adem´ as, la probabilidad de que una direcci´ on aleatoria tenga curvatura positiva es alta, por lo que la mayor´ ıa de los puntos silla son “f´ aciles” de atravesar. Otra propiedad interesante es que en espacios de alta dimensi´ on, la norma del gradiente estoc´ astico puede ser mucho menor que la norma del gradiente completo debido a cancelaciones. Esto puede acelerar https://educateperuconsultores.com/ P´ ag. 35
  36. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso la convergencia porque el ruido

    act´ ua como un regularizador. El SGD tambi´ en se beneficia de la Ley de los Grandes N´ umeros en alta dimensi´ on: el promedio de gradientes sobre un mini-batch, aunque sea peque˜ no, tiende a estar cerca del gradiente verdadero si las componentes son poco correlacionadas. Esto explica por qu´ e incluso lotes peque˜ nos funcionan bien. En cuanto a la inicializaci´ on en espacios de alta dimensi´ on, es com´ un usar distribuciones que mantienen la varianza de las activaciones (por ejemplo, inicializaci´ on de He). El SGD converge a soluciones con buena generalizaci´ on a pesar de la alta dimensionalidad, un fen´ omeno que a´ un se investiga activamente bajo el nombre de “beneficio de la sobredimensionalizaci´ on”. Resumen del cap´ ıtulo: Hemos presentado la formulaci´ on matem´ atica completa del SGD, desde su definici´ on con muestras individuales hasta la versi´ on con mini-batches. Las diferencias con el GD cl´ asico son notables tanto en coste computacional como en comportamiento din´ amico. La influencia del tama˜ no del lote es crucial y debe ajustarse cuidadosamente. Las propiedades computacionales hacen del SGD el algoritmo elegido para el entrenamiento de modelos de aprendizaje profundo a gran escala. En los cap´ ıtulos siguientes, se explorar´ an variantes avanzadas y aplicaciones concretas. 6 Convergencia y An´ alisis Te´ orico 6.1 Hip´ otesis matem´ aticas para la convergencia El an´ alisis riguroso de la convergencia del algoritmo Stochastic Gradient Descent requiere establecer un conjunto de hip´ otesis sobre la funci´ on objetivo, el ruido estoc´ astico y la secuencia de tasas de aprendizaje. Estas hip´ otesis son necesarias para garantizar que la sucesi´ on generada por el SGD se aproxime a un punto cr´ ıtico (o al m´ ınimo global en el caso convexo) y para caracterizar la tasa de convergencia. A continuaci´ on se enumeran las hip´ otesis m´ as comunes en la literatura. • Diferenciabilidad y suavidad del gradiente: La funci´ on J(θ) es diferenciable y su gradiente es L-Lipschitz continuo, es decir, existe L > 0 tal que para todo θ, θ′ ∈ Rd: ∥∇J(θ) − ∇J(θ′)∥ ≤ L∥θ − θ′∥. (73) Esta condici´ on asegura que J puede ser aproximada cuadr´ aticamente y que el descenso del gradiente no puede cambiar demasiado r´ apido. En el caso de funciones de p´ erdida en aprendizaje profundo, esta propiedad se satisface localmente si las activaciones son suaves (por ejemplo, sigmoide, tanh) o casi en todas partes (para ReLU, el gradiente es Lipschitz en el sentido de medida). • Acotaci´ on de la varianza del gradiente estoc´ astico: Existe una constante σ2 ≥ 0 tal que para todo θ: E ∥∇Ji (θ) − ∇J(θ)∥2 ≤ σ2. (74) En el caso de mini-batches de tama˜ no m, la varianza se reduce a σ2/m si los gradientes individuales son independientes. Esta hip´ otesis es fundamental para controlar el ruido. En problemas reales, σ2 puede depender de θ, pero a menudo se acota por una constante. • Acotaci´ on del gradiente estoc´ astico (opcional): Algunos an´ alisis requieren que E[∥∇Ji (θ)∥2] ≤ G2 para alguna constante G. Esta condici´ on es m´ as fuerte que la anterior y no siempre se cumple (por ejemplo, en regresi´ on lineal sin regularizaci´ on, el gradiente puede crecer linealmente). Sin embargo, cuando se utiliza regularizaci´ on o se restringe el dominio, puede satisfacerse. • Convexidad (para resultados de convergencia global): En el caso convexo, se supone que J es convexa, es decir: J(θ) ≥ J(θ′) + ∇J(θ′)T (θ − θ′), ∀θ, θ′. (75) Para tasas de convergencia m´ as r´ apidas, a menudo se requiere convexidad fuerte con par´ ametro µ > 0: J(θ) ≥ J(θ′) + ∇J(θ′)T (θ − θ′) + µ 2 ∥θ − θ′∥2. (76) En problemas no convexos, t´ ıpicamente solo se puede garantizar la convergencia a puntos cr´ ıticos (donde ∇J(θ) = 0). https://educateperuconsultores.com/ P´ ag. 36
  37. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Condiciones sobre la tasa

    de aprendizaje: La secuencia {ηt } debe satisfacer: ∞ t=1 ηt = ∞, ∞ t=1 η2 t < ∞. (77) La primera condici´ on asegura que la suma de los pasos es infinita, permitiendo que el algoritmo alcance cualquier punto desde cualquier inicializaci´ on. La segunda controla la acumulaci´ on de varianza. Un ejemplo t´ ıpico es ηt = η0 /t. En el caso convexo con tasas constantes, solo se obtiene convergencia a una vecindad del ´ optimo. • Existencia de un m´ ınimo (o punto cr´ ıtico): Se asume que el problema tiene una soluci´ on ´ optima θ∗ (global o local) con valor ´ optimo J∗. En el caso convexo, θ∗ es ´ unico si la funci´ on es estrictamente convexa. Estas hip´ otesis no siempre se verifican en aplicaciones pr´ acticas (por ejemplo, la funci´ on de p´ erdida de una red neuronal con ReLU no es Lipschitz diferenciable globalmente, y la varianza puede no estar uniformemente acotada). Sin embargo, proporcionan un marco te´ orico s´ olido para entender el compor- tamiento del SGD y se han extendido a situaciones m´ as realistas mediante an´ alisis locales o t´ ecnicas de truncamiento. 6.2 Convergencia en problemas convexos En problemas convexos, el SGD goza de garant´ ıas de convergencia global al m´ ınimo. El resultado cl´ asico, debido a Robbins y Monro (1951) y posteriormente refinado por otros autores, establece que bajo las hip´ otesis de convexidad, Lipschitz continuidad del gradiente y acotaci´ on de la varianza, con tasas de aprendizaje que satisfacen ηt = ∞ y η2 t < ∞, se tiene que J(θt ) → J(θ∗) casi seguramente y E[J(θt ) − J(θ∗)] → 0. Para cuantificar la velocidad de convergencia, se suele analizar la esperanza del error en el valor de la funci´ on o en la distancia al ´ optimo. Un resultado t´ ıpico para el SGD con tasa de aprendizaje ηt = η0 / √ t (no satisface η2 t < ∞ pero s´ ı ηt = ∞) es que: E[J(θt ) − J(θ∗)] = O 1 √ t . (78) Sin embargo, la condici´ on η2 t < ∞ es necesaria para la convergencia casi segura y para lograr tasas O(1/t) bajo convexidad fuerte. Un resultado m´ as preciso para funciones convexas (no necesariamente fuertemente convexas) con gradiente Lipschitz es: E[J(¯ θT ) − J(θ∗)] ≤ R2 2 T t=1 ηt + σ2 T t=1 η2 t 2 T t=1 ηt , (79) donde ¯ θT = T t=1 ηtθt T t=1 ηt es el promedio ponderado de las iteraciones, y R = ∥θ1 − θ∗∥ es la distancia inicial al ´ optimo. Esta cota se obtiene mediante t´ ecnicas de telescopio y la propiedad de Lipschitz del gradiente. Si elegimos ηt = 1/ √ t, entonces T t=1 ηt ≈ 2 √ T y T t=1 η2 t ≈ log T, resultando una cota O(1/ √ T). Para funciones fuertemente convexas, se puede lograr una tasa O(1/t) usando ηt = 2/(µ(t + 1)) (tasa de aprendizaje decreciente de forma ´ optima). El resultado es: E ∥θt − θ∗∥2 ≤ C t , (80) donde C depende de µ, L y la varianza σ2. Esta cota es ´ optima en el sentido de que ning´ un algoritmo de optimizaci´ on de primer orden puede superar la tasa O(1/t) para problemas convexos fuertemente convexos con acceso a gradientes estoc´ asticos. La demostraci´ on de la convergencia en el caso convexo se basa en la siguiente desigualdad recursiva. Definamos Dt = ∥θt − θ∗∥2. Entonces: E[Dt+1 | θt ] ≤ Dt − 2ηt (J(θt ) − J(θ∗)) + η2 t σ2. (81) Tomando esperanza total, sumando desde t = 1 hasta T y reorganizando, se obtiene una cota para la suma de los errores. Luego, usando la convexidad se relaciona con el error en el valor de la funci´ on. Es importante destacar que estos resultados garantizan convergencia a la soluci´ on exacta solo cuando ηt → 0 y η2 t < ∞. Si se usa una tasa constante η, el SGD solo converge a una vecindad del m´ ınimo: E[J(θt ) − J(θ∗)] = O(ησ2), y no hay mejora con t. https://educateperuconsultores.com/ P´ ag. 37
  38. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 6.3 Convergencia en problemas no

    convexos En problemas no convexos, como el entrenamiento de redes neuronales profundas, el an´ alisis de con- vergencia es m´ as desafiante. No se puede garantizar la convergencia al m´ ınimo global, ni siquiera a un m´ ınimo local; en su lugar, el objetivo m´ as realista es mostrar que el gradiente se vuelve peque˜ no en expectativa, es decir, que el algoritmo alcanza un punto cr´ ıtico (donde ∇J(θ) = 0). Bajo condiciones de suavidad (gradiente L-Lipschitz) y acotaci´ on de la varianza, se puede probar que: E 1 T T t=1 ∥∇J(θt )∥2 = O 1 √ T o O 1 T , (82) dependiendo de la elecci´ on de ηt . El resultado t´ ıpico para ηt = η0 / √ T constante dentro de un bloque es: 1 T T t=1 E ∥∇J(θt )∥2 ≤ 2(J(θ1 ) − J∗) η0 √ T + η0 σ2L √ T . (83) Para minimizar la cota, se elige η0 balanceando los t´ erminos, obteniendo una tasa O(1/ √ T). Un resultado m´ as refinado muestra que si se emplean tasas de aprendizaje decrecientes ηt = 1/ √ t, entonces: min 1≤t≤T E ∥∇J(θt )∥2 = O log T √ T . (84) Esto significa que a medida que T aumenta, la norma esperada del gradiente tiende a cero, lo que indica que el algoritmo se aproxima a un punto estacionario. El an´ alisis no convexo t´ ıpicamente asume que J est´ a acotada inferiormente por J∗ (lo cual es cierto si la p´ erdida es no negativa). Tambi´ en se requiere que la varianza del gradiente estoc´ astico est´ e acotada, aunque se puede relajar a varianza que crece con la norma del gradiente. En la pr´ actica, las redes neu- ronales satisfacen localmente estas condiciones, aunque globalmente el gradiente puede no ser Lipschitz debido a activaciones como ReLU. Sin embargo, los resultados emp´ ıricos muestran convergencia a puntos con gradiente peque˜ no. Un avance reciente en el an´ alisis no convexo es la demostraci´ on de que el SGD escapa de puntos silla en tiempo polinomial. Bajo condiciones de ruido no degenerado (la varianza del gradiente estoc´ astico es definida positiva en todas las direcciones), el SGD no se queda atrapado en puntos silla, sino que los atraviesa. Este resultado es fundamental para explicar por qu´ e el SGD funciona bien en la pr´ actica a pesar de la abundancia de puntos silla. 6.4 Tasas de convergencia Las tasas de convergencia del SGD dependen de la convexidad de la funci´ on, la regularidad del gradiente, la varianza del ruido y la elecci´ on de la tasa de aprendizaje. A continuaci´ on se resumen las tasas m´ as importantes en funci´ on de la iteraci´ on t o del n´ umero total de iteraciones T. • Convexo fuerte, gradiente Lipschitz, varianza acotada: con ηt = 2 µ(t+1) , se obtiene E ∥θt − θ∗∥2 = O 1 t . (85) Esta tasa es ´ optima para algoritmos de primer orden estoc´ asticos. • Convexo (no fuertemente), gradiente Lipschitz, varianza acotada: con ηt = O(1/ √ t), se obtiene E[J(¯ θT ) − J(θ∗)] = O 1 √ T . (86) Tambi´ en se puede lograr O(1/T) con m´ etodos de reducci´ on de varianza (SVRG, SAGA), pero no con SGD puro. • No convexo, gradiente Lipschitz, varianza acotada: con ηt = η0 / √ t, min 1≤t≤T E ∥∇J(θt )∥2 = O log T √ T . (87) Con tasa constante y promediado, se obtiene O(1/ √ T) en el mejor de los casos. https://educateperuconsultores.com/ P´ ag. 38
  39. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Caso determinista (GD): Para

    funciones convexas fuertes, O(exp(−µt/L)) (convergencia lineal). Para convexas no fuertes, O(1/t). En t´ erminos de complejidad muestral (n´ umero de evaluaciones de gradientes individuales para alcan- zar una precisi´ on ϵ), el SGD requiere O(1/ϵ2) para convexidad no fuerte, mientras que el GD requiere O(n/ϵ) (si n es grande, esto es mucho peor). Para convexidad fuerte, el SGD necesita O(1/(µϵ)), mien- tras que GD necesita O(κ log(1/ϵ)) donde κ = L/µ; pero si n es grande, κ log(1/ϵ) puede ser menor que 1/(µϵ) para ϵ peque˜ no? En realidad, la comparaci´ on es compleja, pero en la pr´ actica el SGD es preferible para datasets masivos. Es importante notar que las tasas asint´ oticas pueden ser enga˜ nosas. En la pr´ actica, con tama˜ nos de lote moderados y tasas de aprendizaje bien ajustadas, el SGD converge r´ apidamente en las primeras ´ epocas, aunque la convergencia final pueda ser lenta. Por esta raz´ on, a menudo se emplean programas de reducci´ on de la tasa de aprendizaje (decay) para mejorar la precisi´ on final. 6.5 Efecto del ruido estoc´ astico El ruido estoc´ astico en el gradiente es el elemento distintivo del SGD y tiene efectos tanto positivos como negativos en la convergencia. Efectos negativos: • El ruido impide la convergencia exacta si la tasa de aprendizaje es constante; las iteraciones oscilan alrededor del m´ ınimo con una amplitud proporcional a ησ. • La varianza a˜ nade un t´ ermino en las cotas de convergencia que ralentiza la mejora a medida que el gradiente se vuelve peque˜ no. En la regi´ on final, el ruido domina y el error de optimizaci´ on no puede reducirse por debajo de O(ησ2). • Para reducir el error es necesario disminuir η, lo que a su vez reduce la velocidad de progreso (compensaci´ on). Efectos positivos: • El ruido permite escapar de puntos silla y de m´ ınimos locales poco profundos. Si la funci´ on tiene un m´ ınimo local malo pero no muy profundo, las fluctuaciones estoc´ asticas pueden sacar al algoritmo de all´ ı hacia regiones de menor p´ erdida. • Act´ ua como un regularizador impl´ ıcito, favoreciendo soluciones con buena capacidad de general- izaci´ on. En particular, se ha demostrado que el SGD con ruido converge a la soluci´ on de norma m´ ınima en problemas lineales, lo que equivale a regularizaci´ on ℓ2 . • Mejora la exploraci´ on del espacio de par´ ametros, evitando que el algoritmo se estanque prematu- ramente en mesetas. • En el contexto de aprendizaje online, el ruido permite adaptarse a cambios en la distribuci´ on de los datos. Matem´ aticamente, el efecto del ruido puede analizarse mediante la descomposici´ on del error en sesgo y varianza. Suponiendo que el algoritmo ha convergido a una vecindad del m´ ınimo, la din´ amica linealizada alrededor de θ∗ satisface: θt+1 − θ∗ ≈ (I − ηt H)(θt − θ∗) + ηt ξt , (88) donde H = ∇2J(θ∗) es la Hessiana. Si ηt = η constante, la varianza estacionaria es aproximadamente (η/2)Tr(H−1Σ) en cierta m´ etrica. Esto implica que el ruido induce una distribuci´ on estacionaria cuyo radio es proporcional a η. En cambio, si ηt → 0, la varianza se reduce asint´ oticamente y el algoritmo converge. 6.6 Condiciones sobre la tasa de aprendizaje Las condiciones ∞ t=1 ηt = ∞ y ∞ t=1 η2 t < ∞ son suficientes para la convergencia casi segura del SGD a un punto cr´ ıtico (bajo las hip´ otesis adecuadas). Estas condiciones se conocen como condiciones de Robbins-Monro. La primera garantiza que el algoritmo puede recorrer una distancia infinita para alcanzar el ´ optimo desde cualquier punto inicial. La segunda asegura que la suma de las varianzas (ponderada por η2 t ) es finita, lo que evita que el ruido acumulado diverja. https://educateperuconsultores.com/ P´ ag. 39
  40. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Una condici´ on m´ as

    fuerte, a menudo utilizada en an´ alisis de convergencia en media cuadr´ atica, es ηt = ∞ y η2 t < ∞ junto con ηt → 0. Un ejemplo cl´ asico es ηt = η0 /t. Sin embargo, esta secuencia decrece demasiado r´ apido en las primeras iteraciones, lo que puede hacer que el progreso inicial sea lento. En la pr´ actica, se usan esquemas h´ ıbridos: se comienza con una tasa constante durante las primeras ´ epocas y luego se reduce por factores (step decay) o mediante decaimiento exponencial. Para problemas convexos fuertes, la tasa ´ optima es ηt = 2/(µ(t+1)). Esta elecci´ on satisface ηt = ∞ y η2 t < ∞. Para problemas no convexos, a menudo se usa ηt = η0 / √ t (que no satisface η2 t < ∞, pero aun as´ ı funciona bien en la pr´ actica). La raz´ on es que la condici´ on η2 t < ∞ se requiere para la convergencia casi segura, pero no para la convergencia en expectativa del gradiente al cuadrado; para esta ´ ultima basta con ηt = ∞ y ηt → 0. Un esquema muy utilizado en deep learning es el “step decay”: se fija una tasa inicial η0 y cada cierto n´ umero de ´ epocas se multiplica por un factor γ < 1, por ejemplo γ = 0.1 cada 30 ´ epocas. Esto no satisface las condiciones te´ oricas de suma infinita porque eventualmente la tasa se vuelve cero, pero en la pr´ actica se detiene el entrenamiento antes. Otro esquema moderno es el “cosine annealing”, que var´ ıa la tasa de forma c´ ıclica, lo que ayuda a escapar de m´ ınimos locales. 6.7 Oscilaciones alrededor del ´ optimo Cuando se utiliza una tasa de aprendizaje constante η, el SGD no converge a un punto fijo, sino que oscila alrededor del m´ ınimo (o de un punto cr´ ıtico). Estas oscilaciones pueden analizarse mediante la din´ amica linealizada. Supongamos que J es fuertemente convexa y suave, y que θ∗ es el ´ unico m´ ınimo. Entonces, para η suficientemente peque˜ no (menor que 2/L), la iteraci´ on linealizada es: θt+1 − θ∗ = (I − ηH)(θt − θ∗) + ηξt , (89) con E[ξt ] = 0 y E[ξt ξT t ] = Σ(θ∗) aproximadamente. Este es un proceso autorregresivo de primer orden vectorial. La matriz de covarianza estacionaria limt→∞ E[(θt − θ∗)(θt − θ∗)T ] satisface la ecuaci´ on de Lyapunov: (I − ηH)C(I − ηH)T + η2Σ = C. (90) Resolviendo, se obtiene que C ≈ η 2 H−1ΣH−1 para η peque˜ no. Por lo tanto, la magnitud de las oscila- ciones es O(η). Esto implica que la precisi´ on alcanzable con tasa constante est´ a limitada por η, no por el n´ umero de iteraciones. En el contexto del aprendizaje autom´ atico, estas oscilaciones no son necesariamente perjudiciales. De hecho, la distribuci´ on estacionaria puede tener mejor capacidad de generalizaci´ on que el punto exacto θ∗, porque act´ ua como un promedio de puntos cercanos. Adem´ as, se puede mejorar la precisi´ on final promediando las iteraciones (averaging). El promedio de Polyak-Ruppert, definido como ¯ θT = 1 T T t=1 θt , tiene una varianza asint´ otica O(1/T) incluso con tasa constante, siempre que η decaiga adecuadamente o se use un esquema de promediado. 6.8 Escape de m´ ınimos locales y puntos silla Una de las ventajas m´ as importantes del SGD es su capacidad para escapar de puntos cr´ ıticos no deseados, como m´ ınimos locales sub´ optimos y puntos silla. En funciones no convexas, los puntos silla son especialmente problem´ aticos para los m´ etodos deterministas, ya que el gradiente se anula y no hay direcci´ on de descenso de primer orden. El SGD, sin embargo, gracias al ruido estoc´ astico, puede superar estas regiones. Para analizar el escape de puntos silla, se considera la din´ amica alrededor de un punto silla θs con Hessiana H que tiene al menos un valor propio negativo λ− < 0. Suponiendo que el ruido es isotr´ opico con varianza η2σ2, el tiempo esperado para escapar es del orden de exp(|λ− |−2) en el caso determinista, pero con ruido estoc´ astico puede ser polinomial en 1/η. M´ as precisamente, se ha demostrado que el SGD escapa de puntos silla estrictos en O(1/η2) iteraciones con alta probabilidad, siempre que η no sea demasiado peque˜ no. Un resultado importante de Jin et al. (2017) establece que el SGD (y tambi´ en el GD con ruido a˜ nadido) puede escapar de todos los puntos silla estrictos en tiempo polinomial, y converge a un m´ ınimo local. Esto justifica por qu´ e en la pr´ actica, aunque las redes neuronales tienen muchos puntos silla, el SGD no se queda atrapado. El mecanismo de escape puede entenderse mediante la linealizaci´ on alrededor del punto silla. En la direcci´ on del valor propio negativo, la din´ amica es inestable: una peque˜ na perturbaci´ on crece exponen- https://educateperuconsultores.com/ P´ ag. 40
  41. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso cialmente. El ruido proporciona esa

    perturbaci´ on. Una vez que la iteraci´ on se aleja lo suficiente en la direcci´ on negativa, el gradiente se vuelve grande y el algoritmo desciende hacia un m´ ınimo. En cuanto a los m´ ınimos locales, si son muy profundos y estrechos, el ruido puede no ser suficiente para escapar. Sin embargo, en redes sobredimensionadas, la mayor´ ıa de los m´ ınimos locales tienen valores similares, por lo que no es necesario escapar. Adem´ as, el ruido tiende a empujar hacia m´ ınimos planos, que son preferibles. 6.9 An´ alisis asint´ otico del SGD El an´ alisis asint´ otico se ocupa del comportamiento del SGD cuando el n´ umero de iteraciones tiende a infinito y las tasas de aprendizaje tienden a cero de manera apropiada. Este an´ alisis proporciona una caracterizaci´ on precisa de la distribuci´ on l´ ımite de las iteraciones escaladas. Supongamos que ηt = η0 /tα con α ∈ (0.5, 1] para garantizar η2 t < ∞. Entonces, bajo condiciones de regularidad y cerca de un m´ ınimo local θ∗ con Hessiana H definida positiva, se puede demostrar que: √ t(θt − θ∗) d − → N 0, η2 0 2α − 1 · Σ H2 , (91) donde Σ = limt→∞ E[ξt ξT t ] (matriz de covarianza del ruido en el m´ ınimo). Este resultado es an´ alogo al teorema del l´ ımite central para procesos estoc´ asticos. Significa que la tasa de convergencia es O(1/ √ t) y la distribuci´ on asint´ otica es normal. Si α = 1 (tasa de decrecimiento arm´ onico ηt = η0 /t), entonces la convergencia es m´ as r´ apida: √ t(θt −θ∗) → N(0, η2 0 2 H−2Σ) para η0 > 1/(2µ). Sin embargo, esta tasa no es ´ optima porque la constante puede ser grande. El promediado de Polyak-Ruppert mejora la tasa asint´ otica. Si se define ¯ θt = 1 t t k=1 θk , entonces √ t(¯ θt − θ∗) d − → N(0, H−1ΣH−1) independientemente de la elecci´ on de ηt (siempre que ηt → 0 y ηt = ∞). Esta es la varianza asint´ otica ´ optima para estimadores de gradiente estoc´ astico, alcanzando la cota de Cram´ er-Rao. En la pr´ actica, el promediado a menudo mejora significativamente la precisi´ on. El an´ alisis asint´ otico tambi´ en revela que la elecci´ on de la tasa de aprendizaje afecta la matriz de covarianza asint´ otica. Para minimizar la varianza, se debe elegir ηt que balancee el sesgo y la varianza, lo que conduce al esquema ηt = c/t con c = 1/µ en el caso fuertemente convexo. 6.10 Relaci´ on entre SGD y ecuaciones diferenciales estoc´ asticas La conexi´ on entre el SGD y las ecuaciones diferenciales estoc´ asticas (SDE) proporciona una comprensi´ on profunda de la din´ amica en el l´ ımite de pasos peque˜ nos. Consideremos la actualizaci´ on: θt+1 = θt − η∇J(θt ) − ηξt , (92) donde ξt es ruido de media cero y covarianza Σ(θt ). Si interpretamos η como un paso de tiempo infinitesimal, podemos escribir la ecuaci´ on en diferencias como una aproximaci´ on de Euler-Maruyama de la SDE: dθt = −∇J(θt )dt + ηΣ(θt )dWt , (93) donde Wt es un movimiento browniano est´ andar en Rd. El par´ ametro η juega el papel de la temperatura en un sistema f´ ısico. Esta SDE tiene una distribuci´ on estacionaria πη (θ) ∝ exp −2 η J(θ) cuando Σ(θ) es constante e isotr´ opica (es decir, Σ = σ2I). En ese caso, la distribuci´ on se concentra alrededor de los m´ ınimos de J, y la probabilidad de estar en un m´ ınimo dado es proporcional a exp(−2J(θ)/η). Para η peque˜ no, la distribuci´ on se concentra en el m´ ınimo global (recocido simulado). Si Σ depende de θ, la distribuci´ on estacionaria es m´ as complicada, pero a´ un favorece regiones con baja energ´ ıa y baja curvatura. Cuando se utiliza una tasa de aprendizaje decreciente ηt → 0, la SDE asociada tiene un t´ ermino de difusi´ on que se desvanece, y el proceso converge a la din´ amica del gradiente determinista. Sin embargo, la velocidad de desvanecimiento controla la posibilidad de escapar de m´ ınimos locales. La teor´ ıa de recocido simulado sugiere que si ηt decrece como c/ log t, se puede garantizar la convergencia al m´ ınimo global, aunque esta tasa es muy lenta. En la pr´ actica, se usan tasas m´ as r´ apidas y se conforman con m´ ınimos locales de buena calidad. Otra aplicaci´ on importante de la analog´ ıa SDE es el estudio de la generalizaci´ on. Se ha propuesto que el SGD con mini-batches de tama˜ no peque˜ no induce una difusi´ on que favorece m´ ınimos planos porque https://educateperuconsultores.com/ P´ ag. 41
  42. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso la varianza del ruido es

    aproximadamente 1 m Σ(θ). En m´ ınimos planos, la curvatura es baja, lo que hace que la difusi´ on sea m´ as efectiva para explorar, y la distribuci´ on estacionaria tiene mayor masa en esas regiones. La relaci´ on con SDE tambi´ en permite utilizar herramientas de la teor´ ıa de grandes desviaciones para estimar el tiempo de escape de m´ ınimos locales. Este tiempo es exponencial en 1/η, lo que justifica por qu´ e con tasas constantes el SGD puede quedar atrapado durante mucho tiempo en m´ ınimos locales, pero eventualmente escapar´ a. Conclusi´ on del cap´ ıtulo: En este cap´ ıtulo hemos desarrollado un an´ alisis te´ orico riguroso de la con- vergencia del SGD, abarcando desde las hip´ otesis necesarias hasta las tasas de convergencia en escenarios convexos y no convexos. Las condiciones sobre la tasa de aprendizaje ηt = ∞, η2 t < ∞ son funda- mentales para la convergencia casi segura. El ruido estoc´ astico, aunque introduce oscilaciones, permite escapar de puntos silla y mejora la generalizaci´ on. La conexi´ on con ecuaciones diferenciales estoc´ asticas ofrece una perspectiva unificadora que explica muchos fen´ omenos observados en la pr´ actica. Estos fun- damentos te´ oricos son esenciales para el desarrollo de variantes avanzadas y para la comprensi´ on del comportamiento del SGD en aplicaciones reales. 7 Tasa de Aprendizaje y Estrategias de Ajuste 7.1 Importancia cr´ ıtica del learning rate La tasa de aprendizaje (learning rate) η es, sin lugar a dudas, el hiperpar´ ametro m´ as importante en el algoritmo Stochastic Gradient Descent y en todas sus variantes. Su valor determina la magnitud del paso que se da en la direcci´ on del gradiente negativo en cada iteraci´ on. Una elecci´ on inadecuada puede provocar una convergencia extremadamente lenta, oscilaciones divergentes o incluso la explosi´ on de los par´ ametros. Por el contrario, un valor bien ajustado acelera la convergencia, mejora la estabilidad num´ erica y, en el caso de redes neuronales profundas, favorece la generalizaci´ on. La importancia del learning rate se deriva de la expansi´ on de Taylor de primer orden. Para una funci´ on suficientemente suave J(θ), se tiene: J(θt+1 ) ≈ J(θt ) + ∇J(θt )T (θt+1 − θt ) = J(θt ) − η∥∇J(θt )∥2. (94) Si η es demasiado peque˜ na, la reducci´ on de J es muy modesta y se necesitan muchas iteraciones. Si η es demasiado grande, la aproximaci´ on lineal falla y J puede aumentar, causando divergencia. Existe un valor cr´ ıtico ηmax m´ as all´ a del cual el algoritmo es inestable; para funciones convexas cuadr´ aticas, ηmax = 2/λmax , donde λmax es el mayor valor propio de la Hessiana. En problemas no convexos, la situaci´ on es m´ as compleja pero la intuici´ on persiste. En el contexto del aprendizaje profundo, la tasa de aprendizaje influye directamente en la din´ amica del entrenamiento. Tasas altas al inicio permiten explorar r´ apidamente el espacio de par´ ametros, mientras que tasas bajas al final permiten afinar la soluci´ on. Por esta raz´ on, los programas de ajuste (learning rate schedules) son omnipresentes en la pr´ actica. 7.2 Learning rate constante El enfoque m´ as simple es mantener η constante durante todo el entrenamiento. Aunque f´ acil de imple- mentar, rara vez es ´ optimo para problemas de optimizaci´ on a gran escala. Con η constante, el SGD no converge al m´ ınimo exacto, sino que oscila alrededor de ´ el con una amplitud proporcional a ησ, donde σ2 es la varianza del gradiente estoc´ astico. No obstante, en aplicaciones donde la precisi´ on no es cr´ ıtica o el conjunto de datos es masivo, una tasa constante puede ser suficiente. La elecci´ on de una tasa constante se realiza mediante b´ usqueda en una cuadr´ ıcula logar´ ıtmica. Valores t´ ıpicos en deep learning son 10−2, 10−3, 10−4. Por ejemplo, para redes convolucionales como ResNet-50 en ImageNet, un learning rate de 0.1 con momentum suele funcionar bien. Para Transformers, valores m´ as peque˜ nos como 10−4 o 10−5 son comunes. La ventaja de la tasa constante es su simplicidad y que no requiere monitoreo adicional. Sin embargo, su principal desventaja es que la precisi´ on final est´ a limitada por el ruido: incluso despu´ es de muchas ´ epocas, el error de optimizaci´ on no mejora m´ as all´ a de O(ησ2). Para obtener soluciones de alta precisi´ on, es necesario reducir η a lo largo del tiempo. https://educateperuconsultores.com/ P´ ag. 42
  43. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 7.3 Learning rate decreciente La

    idea de hacer decrecer la tasa de aprendizaje es fundamental para lograr convergencia a un punto cr´ ıtico (o al m´ ınimo global). Las condiciones suficientes de Robbins-Monro son: ∞ t=1 ηt = ∞, ∞ t=1 η2 t < ∞. (95) La primera condici´ on asegura que el algoritmo puede recorrer una distancia infinita; la segunda evita que el ruido acumulado diverja. Un esquema cl´ asico es el decaimiento inverso: ηt = η0 1 + βt , (96) donde η0 es la tasa inicial y β controla la velocidad de decrecimiento. Para t grande, ηt ≈ η0 /(βt), que satisface las condiciones. Otra opci´ on es ηt = η0 t−α con α ∈ (0.5, 1]. Por ejemplo, α = 0.5 da ηt = η0 / √ t (no satisface η2 t < ∞ pero funciona en la pr´ actica). α = 1 da ηt = η0 /t, que satisface ambas condiciones pero decrece demasiado r´ apido en las primeras iteraciones. En problemas convexos fuertes, la elecci´ on ´ optima es ηt = 2 µ(t+1) , donde µ es el m´ odulo de convexidad fuerte. En la pr´ actica, µ no se conoce, por lo que se utilizan esquemas heur´ ısticos. El decaimiento por ´ epocas es otra variante: se reduce la tasa multiplic´ andola por un factor constante cada cierto n´ umero de ´ epocas (step decay). Aunque no satisface las condiciones te´ oricas de forma estricta (porque eventualmente se vuelve cero), es muy efectivo en la pr´ actica. 7.4 Schedules de aprendizaje Los schedules (programas) de aprendizaje son estrategias para variar ηt a lo largo del entrenamiento. M´ as all´ a de los decaimientos simples, existen schedules m´ as sofisticados que se adaptan a la din´ amica del entrenamiento o siguen funciones peri´ odicas. Un schedule exitoso debe balancear la exploraci´ on inicial (tasa alta) con la explotaci´ on final (tasa baja). Los schedules m´ as comunes son: • Step decay: Se mantiene η constante durante un n´ umero fijo de ´ epocas E, luego se multiplica por un factor γ < 1. Se repite varias veces. Por ejemplo, η0 = 0.1, reducci´ on por 10 cada 30 ´ epocas. • Exponential decay: ηt = η0 γt/T , donde T es una constante. Decae muy r´ apido al principio y m´ as lentamente despu´ es. • Cosine annealing: ηt = ηmin + 1 2 (ηmax −ηmin ) 1 + cos t T π , que reduce η de forma suave desde ηmax hasta ηmin en T iteraciones. • Warm restarts: Reinicia el schedule peri´ odicamente, volviendo a una tasa alta para escapar de m´ ınimos locales. La elecci´ on del schedule afecta tanto la velocidad de convergencia como la calidad de la soluci´ on final. En redes neuronales profundas, el cosine annealing con warm restarts ha demostrado un rendimiento sobresaliente, a menudo superando al step decay. 7.5 Step decay El step decay es el schedule m´ as utilizado en la pr´ actica de deep learning, especialmente en visi´ on por computadora. Consiste en reducir la tasa de aprendizaje en ciertos momentos predefinidos, t´ ıpicamente cuando la p´ erdida de validaci´ on deja de mejorar. En su forma m´ as com´ un, se divide el entrenamiento en ´ epocas y se multiplica η por γ (por ejemplo, 0.1) cada N ´ epocas. Formalmente, sea s el n´ umero de pasos de reducci´ on, entonces: ηt = η0 γ⌊t/N⌋, (97) donde t se mide en ´ epocas o en iteraciones. Este schedule es discontinuo pero f´ acil de implementar. Por ejemplo, para entrenar ResNet-50 en ImageNet, se usa η0 = 0.1, γ = 0.1 cada 30 ´ epocas, durante 90 ´ epocas. https://educateperuconsultores.com/ P´ ag. 43
  44. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso La ventaja del step decay

    es que permite per´ ıodos de exploraci´ on con tasa constante seguidos de afinamiento brusco. Los descensos abruptos pueden ayudar a saltar de una meseta a otra. Sin embargo, requiere ajustar manualmente los puntos de reducci´ on, lo que no siempre es ´ optimo. En la pr´ actica, se suelen determinar emp´ ıricamente o mediante early stopping. 7.6 Exponential decay El decaimiento exponencial es otra opci´ on popular, especialmente en aprendizaje por refuerzo y algunos modelos secuenciales. La f´ ormula es: ηt = η0 exp − t τ , (98) donde τ es una constante de tiempo. Tambi´ en puede escribirse como ηt = η0 γt, con γ = e−1/τ . Este schedule decrece muy r´ apidamente al principio y luego se estabiliza en valores muy peque˜ nos. El decaimiento exponencial satisface ηt < ∞ (porque es una serie geom´ etrica), por lo que no cumple la condici´ on ηt = ∞ necesaria para convergencia al m´ ınimo exacto. Esto significa que el algoritmo puede detenerse prematuramente si la tasa se vuelve demasiado peque˜ na antes de alcanzar el ´ optimo. No obstante, en problemas donde solo se necesita una soluci´ on aproximada y la varianza es baja, funciona aceptablemente. Una variante es el decaimiento exponencial por ´ epocas: ηk+1 = ηk · γ al final de cada ´ epoca. Esto es similar al step decay pero con reducci´ on m´ as frecuente y suave. 7.7 Cosine annealing El cosine annealing, propuesto por Loshchilov y Hutter (2017), es un schedule suave que reduce la tasa de aprendizaje siguiendo una onda coseno. La f´ ormula est´ andar es: ηt = ηmin + 1 2 (ηmax − ηmin ) 1 + cos t T π , (99) donde T es el n´ umero total de iteraciones (o ´ epocas) y t el paso actual. Al inicio, η0 = ηmax ; al final, ηT = ηmin . La tasa decae suavemente, lo que permite al algoritmo estabilizarse gradualmente. La principal ventaja del cosine annealing es que evita ca´ ıdas bruscas y proporciona un control fino. Adem´ as, se ha observado que mejora la generalizaci´ on en comparaci´ on con el step decay. Una variante moderna es el cosine annealing con warm restarts (ver siguiente secci´ on). 7.8 Warm restarts Los warm restarts (reinicios c´ alidos) consisten en reiniciar peri´ odicamente el schedule de aprendizaje a un valor alto, pero sin reinicializar los par´ ametros del modelo. La idea es que al aumentar la tasa de aprendizaje, el algoritmo puede escapar de m´ ınimos locales o puntos silla y explorar nuevas regiones, pero partiendo de una soluci´ on ya buena. El schedule propuesto por Loshchilov y Hutter (2017) para SGDR (Stochastic Gradient Descent with Warm Restarts) es: ηt = ηmin + 1 2 (ηmax − ηmin ) 1 + cos tmod Ti π , (100) donde Ti es la longitud del i-´ esimo ciclo (usualmente se multiplica por un factor constante cada ciclo, por ejemplo Ti+1 = 2Ti ), y tmod es el n´ umero de iteraciones desde el ´ ultimo reinicio. Al final de cada ciclo, se reinicia η a ηmax . Los warm restarts han demostrado mejorar el rendimiento en varias tareas, especialmente cuando se combinan con cosine annealing. Permiten al SGD converger a soluciones m´ as planas y con mejor generalizaci´ on. En la pr´ actica, se usan con ciclos que duran entre 10 y 100 ´ epocas. 7.9 Adaptive learning rates Los m´ etodos adaptativos ajustan la tasa de aprendizaje de forma individual para cada par´ ametro, en lugar de usar un valor global. Algoritmos como AdaGrad, RMSProp, Adam y sus derivados modifican η en funci´ on de las magnitudes hist´ oricas de los gradientes. Aunque no son estrictamente schedules en el sentido de una funci´ on del tiempo, representan una forma din´ amica de controlar la tasa. https://educateperuconsultores.com/ P´ ag. 44
  45. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Adam, por ejemplo, mantiene estimaciones

    de primer y segundo momento: mt = β1 mt−1 + (1 − β1 )∇Jit (θt ), (101) vt = β2 vt−1 + (1 − β2 )(∇Jit (θt ))2, (102) ˆ mt = mt /(1 − βt 1 ), ˆ vt = vt /(1 − βt 2 ), (103) θt+1 = θt − η ˆ mt √ ˆ vt + ϵ . (104) Aqu´ ı, η es una tasa de aprendizaje base que a menudo se mantiene constante, pero cada par´ ametro tiene su propia tasa efectiva η/( √ ˆ vt + ϵ). Esto permite que par´ ametros con gradientes grandes tengan tasas peque˜ nas, y viceversa. Los m´ etodos adaptativos son menos sensibles a la elecci´ on de η y a menudo convergen m´ as r´ apido al principio. Sin embargo, en algunos casos pueden generalizar peor que el SGD con momentum y un schedule bien ajustado. Por ello, en muchas aplicaciones de visi´ on por computadora se prefiere el SGD cl´ asico con step decay o cosine annealing. 7.10 Problemas de divergencia y explosi´ on num´ erica Una tasa de aprendizaje mal elegida puede causar divergencia, es decir, que los par´ ametros crezcan sin control y la p´ erdida tienda a infinito. Esto es especialmente com´ un en redes profundas donde los gradientes pueden ser grandes. La divergencia se manifiesta como valores NaN (Not a Number) en la p´ erdida o en los gradientes debido a desbordamiento num´ erico. Causas comunes de divergencia: • η demasiado grande: el paso supera la curvatura local y el valor de J aumenta en lugar de disminuir. • Gradientes explosivos: en redes recurrentes (RNN) o muy profundas, el producto de Jacobianos puede tener valores propios mayores que 1, causando que el gradiente crezca exponencialmente. Una tasa moderada puede amplificar el problema. • Par´ ametros mal inicializados: si los pesos son muy grandes, el gradiente puede ser enorme y un paso moderado lleva a valores a´ un mayores. • Datos no normalizados: caracter´ ısticas con escalas muy diferentes producen Hessianas mal condi- cionadas, lo que requiere tasas muy peque˜ nas. Para mitigar la divergencia, se pueden emplear t´ ecnicas como: • Gradient clipping: truncar la norma del gradiente a un valor m´ aximo C. Por ejemplo, g ← g · min(1, C/∥g∥). • Normalizaci´ on de lotes (batch normalization): estabiliza las activaciones y reduce la sensibilidad a η. • Inicializaci´ on cuidadosa (por ejemplo, He o Xavier). • Uso de tasas de aprendizaje muy peque˜ nas al inicio (warmup) para luego aumentarlas. En la pr´ actica, es com´ un comenzar con una tasa peque˜ na (por ejemplo, 10−5) y aumentarla grad- ualmente hasta un valor objetivo durante las primeras ´ epocas (warmup). Esto evita picos iniciales de gradiente. Despu´ es, se aplica el schedule elegido. Conclusi´ on del cap´ ıtulo: La tasa de aprendizaje y sus estrategias de ajuste son elementos cr´ ıticos para el ´ exito del SGD. Desde tasas constantes hasta schedules complejos como cosine annealing con warm restarts, la elecci´ on adecuada acelera la convergencia y mejora la generalizaci´ on. Los m´ etodos adaptativos ofrecen una alternativa robusta, pero no exenta de inconvenientes. Comprender las condiciones te´ oricas y las pr´ acticas de mitigaci´ on de divergencia permite al practicante dise˜ nar entrenamientos eficientes y estables. https://educateperuconsultores.com/ P´ ag. 45
  46. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 8 Mini-Batch SGD 8.1 Motivaci´

    on computacional El mini-batch Stochastic Gradient Descent surge como una evoluci´ on natural del SGD de muestra ´ unica, con el objetivo de aprovechar las capacidades de c´ omputo paralelo de los hardware modernos, especial- mente las unidades de procesamiento gr´ afico (GPUs) y las unidades de procesamiento tensorial (TPUs). La motivaci´ on computacional fundamental es que el procesamiento de un lote (batch) de m ejemplos simult´ aneamente es, en t´ erminos de tiempo real, apenas unas pocas veces m´ as costoso que procesar un solo ejemplo, gracias a la arquitectura SIMD (Single Instruction Multiple Data) de las GPUs. Esto contrasta con el costo O(m) que se podr´ ıa esperar ingenuamente; en la pr´ actica, para valores de m hasta unos pocos cientos o miles, el tiempo por iteraci´ on permanece casi constante. Para comprender esta ganancia, consideremos una red neuronal profunda t´ ıpica. El c´ alculo de la salida y la retropropagaci´ on para un solo ejemplo implica una secuencia de operaciones matriciales (productos punto, activaciones). Si realizamos estas operaciones para un lote de m ejemplos, podemos apilar las entradas en una matriz de tama˜ no m × dentrada , y todas las operaciones se convierten en productos de matrices m × d con matrices de pesos d × d′, cuyo coste computacional es O(mdd′). El coste por ejemplo sigue siendo O(dd′), pero el tiempo de ejecuci´ on en GPU se ve afectado por la latencia de lanzamiento de kernels y la utilizaci´ on de los n´ ucleos. Para m peque˜ no, la GPU est´ a infrautilizada; a partir de un cierto umbral (t´ ıpicamente m = 32 o 64), la eficiencia alcanza un plateau. Otra motivaci´ on computacional es la reducci´ on de la varianza del gradiente estoc´ astico. Al promediar m gradientes independientes, la varianza se reduce en un factor 1/m, lo que permite utilizar tasas de aprendizaje mayores y converge de manera m´ as estable. Esto es particularmente importante en problemas con ruido elevado o cuando las funciones de p´ erdida individuales tienen gradientes muy dispares. Adem´ as, el uso de mini-batches facilita la implementaci´ on de t´ ecnicas de normalizaci´ on como Batch Normalization (BN), que normaliza las activaciones de una capa utilizando la media y la varianza calcu- ladas sobre el lote. BN acelera dr´ asticamente la convergencia y permite usar tasas de aprendizaje m´ as altas, pero requiere que el tama˜ no del lote sea suficientemente grande para estimar estad´ ısticas fiables (t´ ıpicamente m ≥ 32). Desde la perspectiva de la ingenier´ ıa de software, los mini-batches permiten estructurar el bucle de entrenamiento en ´ epocas, donde cada ´ epoca recorre todo el conjunto de datos en fragmentos. Esto facilita el monitoreo del progreso, la implementaci´ on de early stopping y la mezcla aleatoria de los datos. 8.2 Balance entre ruido y eficiencia El tama˜ no del mini-batch m establece un compromiso fundamental entre la varianza del gradiente es- toc´ astico y la eficiencia computacional. Como se ha mencionado, la varianza del gradiente estimado a partir de un mini-batch es aproximadamente 1 m Var(∇Ji (θ)), suponiendo muestreo independiente con reemplazo. Por lo tanto, al aumentar m, el ruido disminuye, lo que permite actualizaciones m´ as precisas y, potencialmente, una convergencia m´ as r´ apida en t´ erminos de n´ umero de iteraciones. Sin embargo, cada iteraci´ on tiene un costo computacional que crece (sublinealmente) con m debido a la paralelizaci´ on. El n´ umero de operaciones de punto flotante por iteraci´ on es O(md), mientras que el tiempo real T(m) suele ser aproximadamente T(m) ≈ α + βm para m peque˜ no, y se vuelve constante para m grandes debido al cuello de botella de memoria o a la saturaci´ on de los n´ ucleos. El tiempo total para alcanzar una precisi´ on ϵ es Ttotal (m) = (n´ umero de iteraciones) × T(m). El n´ umero de iteraciones necesario suele ser inversamente proporcional a m en un rango moderado, porque cada iteraci´ on procesa m´ as ejemplos. Por lo tanto, el producto puede ser minimizado para alg´ un m ´ optimo. En la pr´ actica, para conjuntos de datos de tama˜ no moderado (por ejemplo, CIFAR-10 con 50,000 im´ agenes), los tama˜ nos de lote t´ ıpicos son 32, 64, 128, 256. Para conjuntos masivos (ImageNet: 1.2 millones), se usan lotes de 256 a 1024. Para modelos de lenguaje grandes (LLMs), los lotes pueden alcanzar millones de tokens, aprovechando gradientes promediados sobre una gran cantidad de muestras para estabilizar el entrenamiento. Un fen´ omeno interesante es que lotes muy grandes (por ejemplo, m = 8192 o m´ as) pueden perjudicar la capacidad de generalizaci´ on, como se discute en la subsecci´ on 8.4. Adem´ as, lotes demasiado peque˜ nos (m = 1) pueden producir gradientes con alta varianza, lo que ralentiza la convergencia y puede hacer que el algoritmo oscile err´ aticamente. El balance ´ optimo depende de la tarea, el modelo y el hardware. https://educateperuconsultores.com/ P´ ag. 46
  47. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 8.3 Paralelizaci´ on en GPU

    Las GPUs modernas (por ejemplo, NVIDIA A100, H100) contienen miles de n´ ucleos CUDA que pueden ejecutar operaciones de manera masivamente paralela. La paralelizaci´ on del mini-batch SGD se logra procesando cada ejemplo del lote en un grupo de hilos diferente, pero compartiendo los mismos pesos del modelo. En la pr´ actica, esto se traduce en que la matriz de entrada tiene dimensi´ on m×din , y cada capa realiza la operaci´ on Z = XW + b, donde X es la matriz de activaciones de entrada de tama˜ no m × din , W es la matriz de pesos de tama˜ no din × dout , y Z es la salida de tama˜ no m × dout . La retropropagaci´ on calcula los gradientes mediante reglas de la cadena que tambi´ en operan sobre matrices, sumando los gradientes de todos los ejemplos. La eficiencia de la paralelizaci´ on depende de que el tama˜ no del lote sea un m´ ultiplo del tama˜ no de warp de la GPU (32 para CUDA). Si m es demasiado peque˜ no, muchos n´ ucleos permanecen inactivos, y la latencia de lanzamiento de kernels domina el tiempo. A partir de m ≈ 64, la ocupaci´ on de los n´ ucleos es alta. Para m muy grandes (por ejemplo, 4096), la memoria de la GPU puede ser insuficiente para almacenar todas las activaciones intermedias, lo que obliga a usar t´ ecnicas como el checkpointing o la reducci´ on de lote. En el entrenamiento distribuido con m´ ultiples GPUs, cada GPU procesa un sub-lote del mini-batch global (por ejemplo, mglobal = mlocal × n´ umero de GPUs). Los gradientes calculados por cada GPU se promedian (operaci´ on all-reduce) y luego se actualizan los par´ ametros. Esto permite escalar a cientos de GPUs, aunque la comunicaci´ on se convierte en un cuello de botella si el tama˜ no del modelo es muy grande. Los frameworks como PyTorch y TensorFlow implementan autom´ aticamente la paralelizaci´ on de mini-batches utilizando operaciones vectorizadas. El usuario solo debe especificar el tama˜ no del lote y el n´ umero de workers para la carga de datos. 1 import torch 2 import torch.nn as nn 3 4 model = MyModel ().cuda () 5 criterion = nn. CrossEntropyLoss () 6 optimizer = torch.optim.SGD(model.parameters (), lr =0.01) 7 8 batch_size = 128 9 dataloader = DataLoader (dataset , batch_size=batch_size , shuffle=True) 10 11 for epoch in range( num_epochs): 12 for inputs , labels in dataloader: 13 inputs , labels = inputs.cuda (), labels.cuda () 14 optimizer.zero_grad () 15 outputs = model(inputs) 16 loss = criterion(outputs , labels) 17 loss.backward () 18 optimizer.step () Este c´ odigo carga lotes de 128 im´ agenes, las env´ ıa a la GPU, realiza la pasada forward, calcula la p´ erdida, la retropropagaci´ on y actualiza los par´ ametros. Todo el proceso es transparente y altamente optimizado. 8.4 Batch size y generalizaci´ on Uno de los hallazgos m´ as contraintuitivos en el entrenamiento de redes neuronales profundas es que el tama˜ no del lote afecta la capacidad de generalizaci´ on del modelo final. Keskar et al. (2017) demostraron que lotes grandes tienden a converger a m´ ınimos agudos (sharp minima), que se caracterizan por tener valores propios grandes de la matriz Hessiana, mientras que lotes peque˜ nos conducen a m´ ınimos planos (flat minima) con mejor capacidad de generalizaci´ on. La raz´ on propuesta es que el ruido estoc´ astico inherente a los lotes peque˜ nos act´ ua como un regularizador impl´ ıcito, evitando que el algoritmo se asiente en regiones de alta curvatura. Experimentos en benchmarks como CIFAR-10, CIFAR-100 e ImageNet muestran consistentemente que, para una misma arquitectura y n´ umero de ´ epocas, lotes peque˜ nos (32-128) producen una precisi´ on en validaci´ on superior a lotes grandes (512-4096), a menos que se tomen medidas adicionales como aumentar la tasa de aprendizaje (linear scaling rule) o usar t´ ecnicas de normalizaci´ on espec´ ıficas. La regla de escalado lineal propone que cuando se multiplica el tama˜ no del lote por k, se debe multiplicar la tasa de aprendizaje por k para mantener la misma din´ amica en expectativa. Sin embargo, esto no siempre restaura completamente la generalizaci´ on. https://educateperuconsultores.com/ P´ ag. 47
  48. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Otro aspecto importante es que

    lotes grandes pueden provocar una convergencia m´ as r´ apida en t´ erminos de ´ epocas, pero la calidad de la soluci´ on final es peor. Por lo tanto, en aplicaciones donde la precisi´ on es cr´ ıtica, se prefiere lotes peque˜ nos aunque el tiempo de entrenamiento sea mayor. En cambio, para prototipado r´ apido o cuando los recursos son limitados, se utilizan lotes m´ as grandes. Estudios recientes sugieren que la relaci´ on entre el tama˜ no del lote y la generalizaci´ on tambi´ en depende de la inicializaci´ on, la arquitectura y el optimizador. Por ejemplo, Adam tiende a ser menos sensible al tama˜ no del lote que el SGD con momentum. Tambi´ en se ha observado que el uso de batch normalization reduce la diferencia, porque normaliza las activaciones y suaviza el paisaje de p´ erdida. 8.5 Estabilidad num´ erica El uso de mini-batches mejora la estabilidad num´ erica del entrenamiento en comparaci´ on con el SGD de muestra ´ unica. Al promediar m gradientes, se reducen las fluctuaciones extremas que podr´ ıan causar des- bordamiento o valores NaN. Adem´ as, muchos c´ alculos num´ ericos, como la softmax o la log-verosimilitud, son m´ as estables cuando se realizan sobre lotes debido a que se pueden restar m´ aximos por lote para evitar exponenciales grandes. Sin embargo, el tama˜ no del lote tambi´ en puede afectar la estabilidad en el sentido de la precisi´ on de los gradientes. Con lotes muy peque˜ nos, la estimaci´ on de la media puede tener alta varianza, lo que puede conducir a pasos de actualizaci´ on err´ aticos. Esto es particularmente problem´ atico en las ´ ultimas etapas del entrenamiento, donde el gradiente verdadero es peque˜ no. Para mitigarlo, se puede aumentar el tama˜ no del lote progresivamente (batch size scheduling) o utilizar t´ ecnicas de reducci´ on de varianza. En el contexto de la normalizaci´ on por lotes (BatchNorm), la estabilidad num´ erica es crucial. Batch- Norm calcula la media y la varianza de las activaciones sobre el lote. Si el lote es demasiado peque˜ no, estas estimaciones son ruidosas y pueden degradar el rendimiento. Por eso, se recomienda un tama˜ no de lote m´ ınimo de 16-32 para BatchNorm. Otro problema num´ erico es la posibilidad de que el gradiente se vuelva infinito debido a divisiones por cero (por ejemplo, en la p´ erdida de entrop´ ıa cruzada si las probabilidades predichas son exactamente 0 o 1). El uso de mini-batches reduce la probabilidad de que una muestra singular cause este problema, pero no lo elimina por completo. Se suele a˜ nadir una peque˜ na constante de suavizado (epsilon) en las operaciones logar´ ıtmicas. 8.6 Efecto sobre la convergencia Te´ oricamente, el SGD con mini-batches de tama˜ no m tiene propiedades de convergencia an´ alogas al SGD de muestra ´ unica, pero con una varianza reducida. La cota de convergencia para funciones convexas es: E[J(¯ θT ) − J(θ∗)] ≤ R2 2 T t=1 ηt + σ2 T t=1 η2 t 2m T t=1 ηt , (105) donde σ2 es la varianza de los gradientes individuales. Por lo tanto, para un mismo n´ umero de iteraciones T, aumentar m reduce el t´ ermino de varianza en un factor 1/m. Esto sugiere que, para lograr una precisi´ on ϵ, se necesita un n´ umero de iteraciones T ∝ 1/(mϵ2) en el peor caso, pero cada iteraci´ on cuesta O(m) en tiempo, por lo que el costo total O(Tm) = O(1/ϵ2) es independiente de m. En la pr´ actica, debido a la paralelizaci´ on, el tiempo real por iteraci´ on crece menos que linealmente, por lo que m grandes pueden ser beneficiosos hasta cierto punto. En problemas no convexos, se obtiene una cota similar: 1 T T t=1 E[∥∇J(θt )∥2] ≤ 2(J(θ1 ) − J∗) ηT + ησ2L m . (106) Aqu´ ı, el t´ ermino de ruido escala como 1/m. Por lo tanto, para una tasa de aprendizaje fija η, aumentar m reduce el error estacionario. Si η se elige ´ optimamente, la tasa de convergencia es O(1/ √ mT + 1/T). Un aspecto importante es que el n´ umero de ´ epocas necesarias para alcanzar una soluci´ on de calidad es aproximadamente inversamente proporcional al tama˜ no del lote, si se mantiene constante el n´ umero de actualizaciones. Sin embargo, la calidad final (en t´ erminos de generalizaci´ on) puede ser peor para lotes grandes, como se discuti´ o. En la pr´ actica, los practitioners suelen realizar un ajuste conjunto: comienzan con un lote peque˜ no para explorar y luego lo aumentan (warmup de lote). Tambi´ en se utiliza la estrategia de ”batch size scheduling”, incrementando m a medida que avanza el entrenamiento. https://educateperuconsultores.com/ P´ ag. 48
  49. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 8.7 Uso eficiente de memoria

    El entrenamiento de modelos profundos est´ a limitado por la memoria de la GPU (t´ ıpicamente entre 8 GB y 80 GB para GPUs de alta gama). El uso de mini-batches afecta directamente la huella de memoria porque se deben almacenar las activaciones de todas las capas para todos los ejemplos del lote durante la retropropagaci´ on (para poder calcular los gradientes). El costo de memoria es aproximadamente O(m × n´ umero de par´ ametros de activaciones). Para una red convolucional profunda, las activaciones pueden dominar la memoria. Para modelos muy grandes (por ejemplo, GPT-3 con 175 mil millones de par´ ametros), incluso un solo ejemplo puede requerir cientos de gigabytes de memoria si no se aplican t´ ecnicas de checkpointing o particionamiento de modelo (model parallelism). Por lo tanto, el tama˜ no del lote a menudo est´ a limitado por la memoria disponible. Las t´ ecnicas comunes para reducirlo incluyen: • Gradient accumulation: Se simula un lote grande sumando gradientes de varios lotes peque˜ nos antes de actualizar los par´ ametros. Esto no reduce la varianza porque los gradientes se acumulan, pero permite entrenar con lotes virtualmente grandes sin exceder la memoria. • Checkpointing de activaciones: Se almacenan solo algunas activaciones en puntos estrat´ egicos y se recalculan las dem´ as durante la retropropagaci´ on. Esto incrementa el tiempo de c´ omputo pero reduce la memoria. • Mixed precision training: Utilizar FP16 (half precision) para activaciones y gradientes reduce la memoria a la mitad y acelera el c´ omputo. • Parallelismo de datos: Distribuir el lote entre varias GPUs, cada una con su propia copia del modelo, promediando gradientes. La memoria por GPU es la misma que para un lote local peque˜ no. En la pr´ actica, se selecciona el mayor m que quepa en la memoria de la GPU disponible, t´ ıpicamente 64, 128, 256 para redes medianas (ResNet-50, BERT-base), y 8-32 para modelos muy grandes (GPT- 3, LLaMA). La eficiencia de memoria tambi´ en puede mejorarse mediante t´ ecnicas de optimizaci´ on de memoria como la liberaci´ on de tensores no utilizados. 8.8 Mini-batches en entrenamiento distribuido El entrenamiento distribuido es esencial para escalar a modelos con miles de millones de par´ ametros y conjuntos de datos masivos. El mini-batch SGD se extiende naturalmente a entornos distribuidos mediante dos paradigmas principales: SGD s´ ıncrono y SGD as´ ıncrono. SGD s´ ıncrono (Sync SGD): M´ ultiples workers (GPUs o m´ aquinas) procesan cada uno un sub-lote del mini-batch global. Al final de cada iteraci´ on, se comunican sus gradientes (a trav´ es de all-reduce) para calcular el promedio, y todos los workers actualizan sus par´ ametros con el mismo gradiente promedio. Esto es equivalente a ejecutar mini-batch SGD con un lote de tama˜ no mglobal = mlocal × ♯ workers. La sincronizaci´ on garantiza que los gradientes sean exactos, pero introduce latencia de comunicaci´ on, y los workers deben esperar al m´ as lento (efecto straggler). Para mitigar este problema, se utilizan t´ ecnicas como la comunicaci´ on as´ ıncrona, la superposici´ on de c´ omputo y comunicaci´ on, y la reducci´ on de la frecuencia de sincronizaci´ on. El algoritmo LARS (Layer- wise Adaptive Rate Scaling) ajusta la tasa de aprendizaje para lotes muy grandes (hasta 64k) y ha sido utilizado para entrenar ResNet-50 en ImageNet en minutos. SGD as´ ıncrono (Async SGD): Los workers actualizan los par´ ametros de forma independiente sin sincronizaci´ on. Cada worker lee los par´ ametros actuales, calcula el gradiente sobre su lote local y escribe una actualizaci´ on. Esto puede provocar que m´ ultiples workers actualicen la misma variable simult´ aneamente (condiciones de carrera), pero se ha demostrado que para problemas dispersos o con gradientes ruidosos, el algoritmo Hogwild! (Recht et al., 2011) converge casi con la misma velocidad que el SGD s´ ıncrono, siempre que la mayor´ ıa de las actualizaciones sean sobre diferentes coordenadas. El entrenamiento as´ ıncrono es m´ as escalable porque no hay barreras, pero puede introducir sesgo debido a actualizaciones obsoletas. Se utilizan t´ ecnicas como la versi´ on con demora controlada o el uso de bloqueos por par´ ametros. En el contexto de los grandes modelos de lenguaje, se ha popularizado el entrenamiento con par- alelismo de datos combinado con paralelismo de modelo y de pipeline. El tama˜ no del lote global puede ser del orden de millones de tokens. Los frameworks como Megatron-LM y DeepSpeed implementan optimizaciones de comunicaci´ on y memoria para soportar estos tama˜ nos. https://educateperuconsultores.com/ P´ ag. 49
  50. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso El ajuste del tama˜ no

    del lote en entrenamiento distribuido sigue la regla de escalado lineal: si se aumenta mglobal por un factor k, se debe aumentar la tasa de aprendizaje por k para mantener la misma din´ amica por ´ epoca. Esto se ha verificado emp´ ıricamente en varios modelos. Conclusi´ on del cap´ ıtulo: El uso de mini-batches en SGD es una evoluci´ on pr´ actica que aprovecha la paralelizaci´ on del hardware moderno, reduce la varianza del gradiente y mejora la estabilidad num´ erica. El tama˜ no del lote debe elegirse cuidadosamente, equilibrando eficiencia computacional, memoria y cali- dad de generalizaci´ on. Para entrenamiento distribuido, se requieren t´ ecnicas adicionales de sincronizaci´ on y escalado. La comprensi´ on de estos aspectos es crucial para entrenar modelos profundos de manera efec- tiva a gran escala. 9 Variantes y Extensiones del SGD 9.1 Momentum SGD El algoritmo Momentum Stochastic Gradient Descent (SGD con momento o impulso) es una extensi´ on que incorpora una media m´ ovil exponencial de los gradientes pasados para suavizar las actualizaciones y acelerar la convergencia en direcciones de curvatura persistente. La idea f´ ısica es an´ aloga a una part´ ıcula que se mueve en un campo de fuerzas con inercia: el gradiente proporciona la aceleraci´ on, mientras que el t´ ermino de momento act´ ua como una velocidad que se amortigua gradualmente. La formulaci´ on matem´ atica del Momentum SGD se compone de dos ecuaciones recursivas: vt+1 = βvt − η∇Jit (θt ), (107) θt+1 = θt + vt+1 . (108) Aqu´ ı, vt es el vector de momento (velocidad) en la iteraci´ on t, β ∈ [0, 1) es el coeficiente de momento (t´ ıpicamente 0.9 o 0.99), y η es la tasa de aprendizaje. El t´ ermino βvt representa la retenci´ on del momento anterior con un decaimiento exponencial. El gradiente estoc´ astico ∇Jit (θt ) act´ ua como una fuerza que modifica la velocidad. Para entender el efecto, consideremos el caso determinista con gradiente constante ∇J = g. Entonces la recurrencia se convierte en: vt+1 = βvt − ηg, (109) cuya soluci´ on estacionaria es v∞ = − η 1−β g. Esto implica que la velocidad terminal es mayor que en SGD (que ser´ ıa −ηg). Por lo tanto, el momento acelera el movimiento en direcciones consistentes. En t´ erminos de convergencia, el m´ etodo de momento promedia los gradientes pasados, reduciendo el ruido efectivo y suavizando las trayectorias. Para funciones cuadr´ aticas convexas mal condicionadas, el momento puede mejorar la tasa de convergencia de O(κ) a O( √ κ), donde κ es el n´ umero de condici´ on. Adem´ as, ayuda a atravesar mesetas y puntos silla m´ as r´ apidamente. En la pr´ actica, se utiliza com´ unmente β = 0.9 y se ajusta η mediante b´ usqueda. El algoritmo es robusto y constituye la base de muchos optimizadores modernos. Una implementaci´ on simple en PyTorch es: 1 optimizer = torch.optim.SGD(model.parameters (), lr =0.01 , momentum =0.9) 9.2 Nesterov Accelerated Gradient (NAG) El Nesterov Accelerated Gradient (NAG) es una variante del m´ etodo de momento que introduce un paso de anticipaci´ on (look-ahead). Propuesto por Yurii Nesterov en 1983, este algoritmo logra una tasa de convergencia ´ optima para funciones convexas suaves con gradiente Lipschitz, mejorando la constante respecto al momento est´ andar. La actualizaci´ on de NAG se define como: vt+1 = βvt − η∇Jit (θt + βvt ), (110) θt+1 = θt + vt+1 . (111) La diferencia clave es que el gradiente se eval´ ua en el punto anticipado θt + βvt (es decir, donde la part´ ıcula estar´ ıa si se moviera solo con el momento), en lugar de en el punto actual θt . Esto corrige el exceso de impulso y permite una respuesta m´ as r´ apida a cambios en la curvatura. https://educateperuconsultores.com/ P´ ag. 50
  51. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso En el caso determinista, NAG

    converge con tasa O(1/t2) para funciones convexas suaves, mientras que el momento est´ andar converge como O(1/t). Para funciones fuertemente convexas, la tasa es lineal pero con una constante mejorada. En problemas pr´ acticos de aprendizaje profundo, NAG a menudo supera al SGD con momento simple, especialmente en tareas de visi´ on por computadora. Una implementaci´ on com´ un en frameworks es: 1 optimizer = torch.optim.SGD(model.parameters (), lr =0.01 , momentum =0.9 , nesterov=True) 9.3 AdaGrad AdaGrad (Adaptive Gradient) es un algoritmo que adapta la tasa de aprendizaje a cada par´ ametro individualmente, bas´ andose en la suma acumulada de los cuadrados de los gradientes hist´ oricos. Prop- uesto por Duchi, Hazan y Singer (2011), est´ a especialmente dise˜ nado para problemas con datos dispersos (sparse data), como el procesamiento de lenguaje natural o sistemas de recomendaci´ on. La actualizaci´ on de AdaGrad es: Gt = Gt−1 + ∇Jit (θt ) ⊙ ∇Jit (θt ), (112) θt+1 = θt − η √ Gt + ϵ ⊙ ∇Jit (θt ), (113) donde Gt es un vector de la misma dimensi´ on que θt , que acumula la suma de los cuadrados de las componentes del gradiente, ⊙ denota el producto elemento a elemento, ϵ es una constante peque˜ na (t´ ıpicamente 10−8) para evitar divisi´ on por cero, y la divisi´ on es tambi´ en elemento a elemento. La intuici´ on es que los par´ ametros que reciben gradientes grandes frecuentemente tienen sus tasas de aprendizaje reducidas, mientras que aquellos con gradientes peque˜ nos o infrecuentes mantienen tasas m´ as altas. Esto es muy beneficioso para caracter´ ısticas raras: sus par´ ametros se actualizan con pasos m´ as grandes. Sin embargo, AdaGrad tiene una desventaja importante: la suma acumulada Gt crece mon´ otonamente, por lo que la tasa de aprendizaje efectiva η/ √ Gt + ϵ tiende a cero, deteniendo el aprendizaje prematu- ramente. Esto lo hace inadecuado para problemas no convexos a gran escala donde se requieren muchas iteraciones. 9.4 RMSProp RMSProp (Root Mean Square Propagation) fue propuesto por Geoffrey Hinton en su curso en l´ ınea (sin publicar formalmente) para solucionar el problema de la disminuci´ on agresiva de la tasa de aprendizaje de AdaGrad. En lugar de acumular todos los cuadrados de los gradientes desde el inicio, RMSProp mantiene una media m´ ovil exponencial de los cuadrados. Las ecuaciones son: vt = βvt−1 + (1 − β) (∇Jit (θt ) ⊙ ∇Jit (θt )) , (114) θt+1 = θt − η √ vt + ϵ ⊙ ∇Jit (θt ), (115) donde β es un coeficiente de decaimiento (t´ ıpicamente 0.9, 0.99 o 0.999). El vector vt es una estimaci´ on de la media cuadr´ atica de los gradientes recientes. As´ ı, la tasa de aprendizaje se adapta bas´ andose en las ´ ultimas iteraciones, permitiendo que el algoritmo contin´ ue aprendiendo incluso despu´ es de muchas actualizaciones. RMSProp funciona bien en entornos no estacionarios y se ha convertido en un componente central de optimizadores m´ as avanzados como Adam. Es especialmente eficaz para redes recurrentes (RNN) y problemas con gradientes ruidosos. 9.5 AdaDelta AdaDelta (Zeiler, 2012) es una extensi´ on de AdaGrad y RMSProp que elimina la necesidad de especificar una tasa de aprendizaje global η. En su lugar, adapta el paso de actualizaci´ on utilizando la relaci´ on entre la media cuadr´ atica de los gradientes y la media cuadr´ atica de las actualizaciones pasadas. Las ecuaciones de AdaDelta son: E[g2]t = βE[g2]t−1 + (1 − β)∇Jit (θt )2, (116) https://educateperuconsultores.com/ P´ ag. 51
  52. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso ∆θt = − E[∆θ2]t−1 +

    ϵ E[g2]t + ϵ ⊙ ∇Jit (θt ), (117) E[∆θ2]t = βE[∆θ2]t−1 + (1 − β)∆θ2 t , (118) θt+1 = θt + ∆θt . (119) Aqu´ ı, E[g2]t es la media m´ ovil de los cuadrados de los gradientes, E[∆θ2]t es la media m´ ovil de los cuadrados de las actualizaciones, y las operaciones son elemento a elemento. β suele ser 0.95 y ϵ una constante peque˜ na. La ventaja de AdaDelta es que no tiene un hiperpar´ ametro de tasa de aprendizaje global, lo que simplifica el ajuste. Sin embargo, en la pr´ actica se ha visto que Adam y RMSProp con una tasa bien elegida suelen funcionar igual o mejor. 9.6 Adam Adam (Adaptive Moment Estimation) fue propuesto por Kingma y Ba (2015) y es actualmente uno de los optimizadores m´ as populares en aprendizaje profundo. Combina las ideas de momento (SGD con momentum) y adaptaci´ on de tasa de aprendizaje (RMSProp). Adam mantiene dos estimaciones: el primer momento (media) y el segundo momento (varianza no centrada) de los gradientes. El algoritmo se define mediante las siguientes ecuaciones: mt = β1 mt−1 + (1 − β1 )∇Jit (θt ), (120) vt = β2 vt−1 + (1 − β2 ) (∇Jit (θt ))2 , (121) ˆ mt = mt 1 − βt 1 , ˆ vt = vt 1 − βt 2 , (122) θt+1 = θt − η ˆ mt √ ˆ vt + ϵ . (123) Los valores t´ ıpicos son β1 = 0.9, β2 = 0.999, ϵ = 10−8, y η normalmente se fija en 10−3 o 10−4. Las correcciones de sesgo ( ˆ mt , ˆ vt ) son necesarias porque mt y vt se inicializan a cero, lo que produce estimaciones sesgadas hacia cero en las primeras iteraciones. Adam combina lo mejor de ambos mundos: la inercia del momento para atravesar regiones planas y la adaptaci´ on por par´ ametro para manejar diferentes escalas. Funciona bien en una amplia variedad de problemas y es relativamente insensible a la elecci´ on de la tasa de aprendizaje. Sin embargo, se ha observado que Adam puede converger a soluciones con peor generalizaci´ on que el SGD con momento en algunos casos, especialmente en visi´ on por computadora. 9.7 AdamW AdamW fue propuesto por Loshchilov y Hutter (2019) para corregir un defecto en la implementaci´ on est´ andar de Adam cuando se combina con regularizaci´ on de decaimiento de peso (weight decay). En el Adam original, el decaimiento de peso se a˜ nade al t´ ermino de gradiente, lo que interfiere con la adaptaci´ on de las tasas de aprendizaje. AdamW desacopla el decaimiento de peso de la actualizaci´ on basada en gradiente. La actualizaci´ on de AdamW es: mt = β1 mt−1 + (1 − β1 )∇Jit (θt ), (124) vt = β2 vt−1 + (1 − β2 )(∇Jit (θt ))2, (125) ˆ mt = mt /(1 − βt 1 ), ˆ vt = vt /(1 − βt 2 ), (126) θt+1 = θt − η ˆ mt √ ˆ vt + ϵ + λθt , (127) donde λ es el coeficiente de decaimiento de peso. Observar que el t´ ermino λθt se aplica directamente a los par´ ametros, no a trav´ es del gradiente. AdamW ha demostrado mejorar significativamente la generalizaci´ on en modelos como Transformers y redes convolucionales, y se ha convertido en el optimizador predeterminado en muchos proyectos de NLP. https://educateperuconsultores.com/ P´ ag. 52
  53. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 9.8 AMSGrad AMSGrad (Reddi et

    al., 2018) fue propuesto para corregir un problema de convergencia te´ orica de Adam en algunos casos patol´ ogicos. Se demostr´ o que Adam no siempre converge al ´ optimo porque la tasa de aprendizaje adaptativa puede no ser mon´ otona decreciente, lo que podr´ ıa causar divergencia. AMSGrad modifica la actualizaci´ on del segundo momento para garantizar que la tasa de aprendizaje no aumente. La ´ unica diferencia con Adam es que en AMSGrad se mantiene el m´ aximo de ˆ vt : ˆ vmax t = max(ˆ vmax t , ˆ vt ), θt+1 = θt − η ˆ mt ˆ vmax t + ϵ . (128) Esto asegura que el tama˜ no de paso no crezca a lo largo del tiempo. Aunque te´ oricamente m´ as s´ olido, en la pr´ actica AMSGrad rara vez supera a Adam. 9.9 Nadam Nadam (Dozat, 2016) combina el momento de Nesterov con el esquema adaptativo de Adam. La actual- izaci´ on es similar a Adam, pero con una correcci´ on para incorporar el paso de anticipaci´ on de Nesterov. La f´ ormula se puede derivar reemplazando el momento est´ andar por el de Nesterov en Adam. La implementaci´ on t´ ıpica es: θt+1 = θt − η β1 ˆ mt + (1−β1) 1−βt 1 ∇Jit (θt ) √ ˆ vt + ϵ . (129) Nadam a menudo proporciona una convergencia ligeramente m´ as r´ apida que Adam, especialmente en tareas de clasificaci´ on de im´ agenes. 9.10 Lion Optimizer Lion (EvoLved Sign Momentum) es un optimizador propuesto por Chen et al. (2023) que utiliza ´ unicamente el signo del gradiente y el momento, reduciendo el uso de memoria y la complejidad com- putacional. A diferencia de Adam, Lion no almacena el segundo momento, solo mantiene un vector de momento. Las ecuaciones son: mt = β1 mt−1 + (1 − β1 )∇Jit (θt ), (130) θt+1 = θt − η (sign(mt ) + λθt ) , (131) donde sign(x) es la funci´ on signo aplicada elemento a elemento, β1 suele ser 0.9 o 0.95, η la tasa de aprendizaje y λ el decaimiento de peso. Lion ha demostrado un rendimiento comparable o superior a Adam en modelos de lenguaje grandes y visi´ on, con la ventaja de usar menos memoria (no requiere almacenar vt ) y ser m´ as r´ apido en hardware especializado. 9.11 Comparaci´ on matem´ atica entre optimizadores Para facilitar la comparaci´ on, se presentan en forma unificada las reglas de actualizaci´ on de cada opti- mizador. Denotamos gt = ∇Jit (θt ). La actualizaci´ on gen´ erica es: θt+1 = θt − η · update(gt , estadost ). (132) • SGD: θt+1 = θt − ηgt . • Momentum: vt+1 = βvt − ηgt , θt+1 = θt + vt+1 . • NAG: vt+1 = βvt − η∇Jit (θt + βvt ), θt+1 = θt + vt+1 . • AdaGrad: Gt = Gt−1 + g2 t , θt+1 = θt − ηgt /( √ Gt + ϵ). • RMSProp: vt = βvt−1 + (1 − β)g2 t , θt+1 = θt − ηgt /( √ vt + ϵ). • Adam: mt = β1 mt−1 + (1 − β1 )gt , vt = β2 vt−1 + (1 − β2 )g2 t , ˆ mt = mt /(1 − βt 1 ), ˆ vt = vt /(1 − βt 2 ), θt+1 = θt − η ˆ mt /( √ ˆ vt + ϵ). https://educateperuconsultores.com/ P´ ag. 53
  54. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • AdamW: igual que Adam,

    pero la actualizaci´ on es θt+1 = θt − η( ˆ mt /( √ ˆ vt + ϵ) + λθt ). • AMSGrad: igual que Adam pero ˆ vmax t = max(ˆ vmax t , ˆ vt ), y θt+1 = θt − η ˆ mt /( ˆ vmax t + ϵ). • Nadam: θt+1 = θt − η(β1 ˆ mt + (1 − β1 )gt /(1 − βt 1 ))/( √ ˆ vt + ϵ). • Lion: mt = β1 mt−1 + (1 − β1 )gt , θt+1 = θt − η(sign(mt ) + λθt ). 9.12 Ventajas y limitaciones de cada variante A continuaci´ on se resumen las ventajas y limitaciones principales de cada optimizador. • SGD: – Ventajas: Simplicidad, bajo costo computacional, buena generalizaci´ on si se ajusta bien. – Limitaciones: Sensible a la tasa de aprendizaje y al escalado de caracter´ ısticas, convergencia lenta en problemas mal condicionados. • Momentum: – Ventajas: Acelera la convergencia en direcciones consistentes, reduce oscilaciones, ayuda a cruzar mesetas. – Limitaciones: Introduce un hiperpar´ ametro adicional β, puede causar overshooting si es de- masiado alto. • NAG: – Ventajas: Convergencia te´ orica m´ as r´ apida que momentum, mejor respuesta a cambios de curvatura. – Limitaciones: Requiere evaluar el gradiente en un punto adelantado (costo adicional en im- plementaciones ingenuas). • AdaGrad: – Ventajas: Funciona bien con datos dispersos, elimina la necesidad de ajustar η por par´ ametro. – Limitaciones: La tasa de aprendizaje decrece mon´ otonamente, deteniendo el aprendizaje pre- maturo. • RMSProp: – Ventajas: Adaptable a entornos no estacionarios, evita la muerte prematura de AdaGrad. – Limitaciones: Sigue dependiendo de una tasa de aprendizaje global η, puede ser inestable con β mal elegido. • AdaDelta: – Ventajas: No requiere tasa de aprendizaje global, robusto. – Limitaciones: Menos popular, a veces inferior a Adam. • Adam: – Ventajas: Combina momento y adaptaci´ on, converge r´ apidamente, funciona bien en muchos problemas. – Limitaciones: Puede generalizar peor que SGD, requiere correcci´ on de sesgo, problemas de convergencia te´ orica en algunos casos. • AdamW: – Ventajas: Mejora la generalizaci´ on mediante desacoplamiento del decaimiento de peso, est´ andar en NLP. – Limitaciones: Mismas que Adam, excepto el problema del decaimiento de peso. • AMSGrad: https://educateperuconsultores.com/ P´ ag. 54
  55. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso – Ventajas: Convergencia te´ orica

    garantizada, evita el aumento de la tasa de aprendizaje. – Limitaciones: En la pr´ actica rara vez supera a Adam. • Nadam: – Ventajas: Convergencia m´ as r´ apida que Adam en algunas tareas. – Limitaciones: Similar a Adam, pero con un hiperpar´ ametro adicional. • Lion: – Ventajas: Bajo uso de memoria, eficiente, competitivo con Adam. – Limitaciones: Relativamente nuevo, menos estudiado, puede ser sensible a la tasa de apren- dizaje. En la pr´ actica, la elecci´ on del optimizador depende de la tarea. Para visi´ on por computadora, SGD con momentum o NAG y step decay suelen dar mejores resultados en generalizaci´ on. Para NLP y modelos Transformer, AdamW es la opci´ on predominante. Para entrenamiento con recursos limitados, Lion o SGD simple pueden ser adecuados. Conclusi´ on del cap´ ıtulo: Las variantes y extensiones del SGD han enriquecido el arsenal de her- ramientas para optimizaci´ on en aprendizaje profundo. Desde el momento que acelera la convergencia hasta AdamW que corrige problemas de regularizaci´ on, cada optimizador ofrece un balance distinto entre velocidad, robustez y generalizaci´ on. Conocer sus fundamentos matem´ aticos y sus limitaciones permite al investigador seleccionar el m´ as apropiado para cada problema. 10 SGD y Aprendizaje Autom´ atico 10.1 Optimizaci´ on en regresi´ on lineal La regresi´ on lineal es uno de los modelos m´ as simples y fundamentales en el aprendizaje autom´ atico. El objetivo es predecir una variable objetivo continua y ∈ R a partir de un vector de caracter´ ısticas x ∈ Rd mediante una funci´ on lineal hθ (x) = θT x (ignorando el sesgo por simplicidad, o incluy´ endolo como una componente adicional). Dado un conjunto de entrenamiento {(xi , yi )}n i=1 , la funci´ on de costo emp´ ırica (error cuadr´ atico medio) se define como: J(θ) = 1 2n n i=1 (yi − θT xi )2. (133) El factor 1/2 simplifica el gradiente. El gradiente de J respecto a θ es: ∇J(θ) = − 1 n n i=1 (yi − θT xi )xi . (134) La soluci´ on anal´ ıtica es θ∗ = (XT X)−1XT y, donde X es la matriz de dise˜ no de tama˜ no n × d y y el vector de salidas. Sin embargo, para n y d grandes, la inversi´ on de XT X es O(d3) y resulta impracticable. El SGD ofrece una alternativa escalable. La actualizaci´ on de SGD para regresi´ on lineal, utilizando una sola muestra i, es: θt+1 = θt + η(yi − θT t xi )xi . (135) Este algoritmo se conoce como LMS (Least Mean Squares) o regla de Widrow-Hoff. Es un caso particular de SGD donde el gradiente es ∇Ji (θ) = −(yi − θT xi )xi . En regresi´ on lineal con SGD, la convergencia est´ a garantizada bajo condiciones apropiadas (convex- idad fuerte si XT X es definida positiva). La tasa de convergencia es O(1/t) en expectativa para la distancia al ´ optimo. Adem´ as, el SGD tiene un costo de O(d) por iteraci´ on, mientras que el m´ etodo de gradiente completo cuesta O(nd). Para datasets masivos, la diferencia es abismal. Un aspecto pr´ actico importante es el escalado de las caracter´ ısticas. Si las caracter´ ısticas tienen diferentes magnitudes, la superficie de costo se vuelve alargada (mal condicionada), y SGD converge lentamente. Por ello, es recomendable normalizar los datos (media cero y desviaci´ on est´ andar unitaria) antes de aplicar SGD. A continuaci´ on se muestra una implementaci´ on sencilla de SGD para regresi´ on lineal en Python: https://educateperuconsultores.com/ P´ ag. 55
  56. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 1 import numpy as np

    2 3 def sgd_linear_regression (X, y, learning_rate =0.01 , epochs =100): 4 n, d = X.shape 5 theta = np.zeros(d) 6 for epoch in range(epochs): 7 indices = np.random. permutation (n) 8 for i in indices: 9 grad = -(y[i] - np.dot(theta , X[i])) * X[i] 10 theta = theta - learning_rate * grad 11 return theta 12 10.2 SGD en regresi´ on log´ ıstica La regresi´ on log´ ıstica es un modelo de clasificaci´ on binaria que estima la probabilidad P(y = 1|x) = σ(θT x), donde σ(z) = 1/(1 + e−z) es la funci´ on sigmoide. La funci´ on de p´ erdida es la log-verosimilitud negativa (entrop´ ıa cruzada): J(θ) = − 1 n n i=1 yi log(σ(θT xi )) + (1 − yi ) log(1 − σ(θT xi )) . (136) El gradiente de la p´ erdida para una muestra i es: ∇Ji (θ) = (σ(θT xi ) − yi )xi . (137) La actualizaci´ on SGD es: θt+1 = θt − η(σ(θT t xi ) − yi )xi . (138) La regresi´ on log´ ıstica es convexa en θ, por lo que SGD converge al m´ ınimo global. Al igual que en regresi´ on lineal, el escalado de caracter´ ısticas es crucial para una convergencia r´ apida. Una extensi´ on com´ un es la regresi´ on log´ ıstica multinomial (softmax) para K clases, donde la p´ erdida es la entrop´ ıa cruzada categ´ orica y el gradiente tiene una expresi´ on similar. SGD se aplica de forma an´ aloga. 10.3 M´ aquinas de soporte vectorial (SVM) Las m´ aquinas de soporte vectorial para clasificaci´ on binaria (con kernel lineal) minimizan la funci´ on de p´ erdida hinge regularizada: J(θ) = λ 2 ∥θ∥2 + 1 n n i=1 max(0, 1 − yi θT xi ), (139) donde yi ∈ {−1, 1} y λ > 0 es el par´ ametro de regularizaci´ on. La p´ erdida hinge no es diferenciable en los puntos donde 1 − yi θT xi = 0. Sin embargo, podemos utilizar subgradientes. Un subgradiente de max(0, 1 − yi θT xi ) respecto a θ es: gi (θ) =      0 si yi θT xi > 1, −yi xi si yi θT xi < 1, [−yi xi , 0] si yi θT xi = 1. (140) El SGD con subgradientes converge a una soluci´ on ´ optima, aunque con una tasa m´ as lenta que en el caso suave. Una variante popular es el algoritmo Pegasos (Shalev-Shwartz et al., 2011), que utiliza una actualizaci´ on SGD con proyecci´ on sobre una bola de radio 1/ √ λ para acelerar la convergencia. 10.4 Redes neuronales artificiales Las redes neuronales (NN) son modelos no lineales compuestos por capas de neuronas con funciones de activaci´ on no lineales. La funci´ on de p´ erdida t´ ıpica es la entrop´ ıa cruzada para clasificaci´ on o el error cuadr´ atico para regresi´ on. El gradiente se calcula mediante el algoritmo de retropropagaci´ on (backpropagation), que es una aplicaci´ on eficiente de la regla de la cadena. https://educateperuconsultores.com/ P´ ag. 56
  57. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso El SGD es el algoritmo

    est´ andar para entrenar redes neuronales profundas. La actualizaci´ on para un mini-batch de tama˜ no m es: θt+1 = θt − η 1 m i∈Bt ∇Ji (θt ). (141) La retropropagaci´ on tiene un costo O(md) por iteraci´ on, donde d es el n´ umero de par´ ametros. Dado que d puede ser millones o miles de millones, el uso de GPUs es esencial. La no convexidad de la funci´ on de p´ erdida implica que SGD puede converger a diferentes m´ ınimos locales dependiendo de la inicializaci´ on y el tama˜ no del lote. Sin embargo, en redes sobredimensionadas, estos m´ ınimos suelen tener valores de p´ erdida similares y buena capacidad de generalizaci´ on. 10.5 Funciones de p´ erdida comunes En aprendizaje autom´ atico, la elecci´ on de la funci´ on de p´ erdida es crucial. Las m´ as comunes son: • Error cuadr´ atico medio (MSE): L(ˆ y, y) = (ˆ y − y)2. Utilizado en regresi´ on. • Error absoluto medio (MAE): L(ˆ y, y) = |ˆ y − y|. M´ as robusto a valores at´ ıpicos. • P´ erdida de Huber: Combina MSE para errores peque˜ nos y MAE para errores grandes. • Entrop´ ıa cruzada binaria: L(ˆ y, y) = −[y log ˆ y + (1 − y) log(1 − ˆ y)]. Para clasificaci´ on binaria. • Entrop´ ıa cruzada categ´ orica: L(ˆ y, y) = − K k=1 yk log ˆ yk . Para clasificaci´ on multiclase. • P´ erdida hinge: L(ˆ y, y) = max(0, 1 − yˆ y) con y ∈ {−1, 1}. Para SVM. • P´ erdida log´ ıstica: L(ˆ y, y) = log(1 + e−yˆ y). Alternativa suave a la hinge. Cada p´ erdida tiene propiedades diferenciables (excepto la hinge) y su gradiente tiene una forma espec´ ıfica. El SGD requiere que la p´ erdida sea diferenciable (o subdiferenciable) para poder calcular los gradientes. 10.6 Regularizaci´ on L1 y L2 La regularizaci´ on es una t´ ecnica para prevenir el sobreajuste a˜ nadiendo un t´ ermino de penalizaci´ on a la funci´ on de costo. Las dos formas m´ as comunes son: • Regularizaci´ on L2 (decaimiento de pesos): Jreg (θ) = J(θ) + λ 2 ∥θ∥2. El gradiente a˜ nade λθ. • Regularizaci´ on L1: Jreg (θ) = J(θ)+λ∥θ∥1 . El subgradiente es λ·sign(θj ) para cada componente. La regularizaci´ on L2 tiende a producir pesos peque˜ nos y dispersos en el sentido de que muchos pesos son cercanos a cero pero no exactamente cero. La regularizaci´ on L1 induce sparseidad (muchos pesos exactamente cero), lo que puede ser ´ util para selecci´ on de caracter´ ısticas. En SGD, la regularizaci´ on L2 se implementa f´ acilmente como decaimiento de peso: θt+1 = (1−ηλ)θt − η∇Ji (θt ). La regularizaci´ on L1 puede implementarse mediante operadores de proximidad (proximal SGD) o mediante subgradientes. 10.7 Sobreajuste y generalizaci´ on El sobreajuste ocurre cuando el modelo se ajusta demasiado a los datos de entrenamiento, capturando ruido en lugar de patrones generalizables. Esto se manifiesta como una baja p´ erdida en entrenamiento pero una alta p´ erdida en validaci´ on. El SGD, por su naturaleza estoc´ astica, introduce ruido que act´ ua como regularizador impl´ ıcito, ayudando a mitigar el sobreajuste. T´ ecnicas para mejorar la generalizaci´ on incluyen: • Regularizaci´ on (L1, L2). • Dropout: Desactivar aleatoriamente un porcentaje de neuronas durante el entrenamiento. • Batch normalization: Normalizar las activaciones de cada capa. https://educateperuconsultores.com/ P´ ag. 57
  58. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Data augmentation: Aumentar el

    conjunto de entrenamiento mediante transformaciones. • Early stopping: Detener el entrenamiento cuando la p´ erdida de validaci´ on deja de mejorar. El SGD con mini-batches peque˜ nos tiende a generalizar mejor que con lotes grandes, como se discuti´ o anteriormente. Adem´ as, la tasa de aprendizaje y la programaci´ on de la misma influyen en la capacidad de generalizaci´ on. 10.8 Entrenamiento incremental y online learning El entrenamiento incremental (tambi´ en llamado aprendizaje online) se refiere a la situaci´ on en la que los datos llegan en flujo continuo, uno a uno o en lotes, y el modelo debe actualizarse sin volver a entrenar desde cero. El SGD es natural para este entorno, ya que puede actualizar los par´ ametros con cada nueva muestra: θt+1 = θt − ηt ∇L(hθt (xt ), yt ). (142) Las ventajas del aprendizaje online son: • Puede manejar conjuntos de datos que no caben en memoria. • Se adapta a cambios en la distribuci´ on de los datos (concept drift). • Es adecuado para aplicaciones en tiempo real (recomendaci´ on, publicidad, detecci´ on de fraudes). El SGD online requiere que la tasa de aprendizaje satisfaga ηt = ∞ y η2 t < ∞ para garantizar convergencia al m´ ınimo del riesgo esperado. En la pr´ actica, se suele utilizar una tasa constante peque˜ na o un decaimiento gradual. 10.9 Escalabilidad en datasets masivos La escalabilidad del SGD en datasets masivos es su principal ventaja competitiva. A diferencia de los m´ etodos de gradiente completo o de segundo orden, el SGD tiene un costo por iteraci´ on independiente del tama˜ no del dataset n (cuando se usan muestras individuales) o lineal en el tama˜ no del mini-batch m pero con m ≪ n. Esto permite procesar datasets de millones o miles de millones de ejemplos. Para escalar a´ un m´ as, se utilizan t´ ecnicas de procesamiento distribuido: • Data parallelism: El dataset se particiona entre varios workers, cada uno procesa un subconjunto y los gradientes se promedian. • Model parallelism: El modelo se particiona entre dispositivos (cada dispositivo almacena una parte de los par´ ametros). • H´ ıbrido: Combinaci´ on de ambos. El SGD s´ ıncrono en m´ ultiples GPUs es com´ un en frameworks como PyTorch y TensorFlow. Para datasets extremadamente grandes, se utilizan sistemas como Apache Spark con MLlib, que implementan SGD distribuido. Un aspecto importante es la eficiencia de la carga de datos. En datasets masivos, la lectura desde disco puede ser un cuello de botella. Se utilizan formatos columnar (Parquet, TFRecord) y precarga en memoria mediante workers dedicados. Adem´ as, el uso de prefetching y almacenamiento en cach´ e mejora el rendimiento. Conclusi´ on del cap´ ıtulo: El SGD es un algoritmo vers´ atil que se aplica a una amplia gama de modelos de aprendizaje autom´ atico, desde la regresi´ on lineal hasta las redes neuronales profundas. Su capaci- dad para manejar funciones de p´ erdida convexas y no convexas, junto con la posibilidad de incorporar regularizaci´ on y escalar a datasets masivos, lo convierte en la herramienta de optimizaci´ on por excelen- cia. La comprensi´ on de las particularidades de cada modelo y la correcta implementaci´ on de SGD con mini-batches, regularizaci´ on y estrategias de aprendizaje online es esencial para construir sistemas de IA efectivos. https://educateperuconsultores.com/ P´ ag. 58
  59. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 11 SGD y Aprendizaje Profundo

    11.1 Entrenamiento de redes neuronales profundas El entrenamiento de redes neuronales profundas (Deep Neural Networks, DNN) es el dominio donde el Stochastic Gradient Descent (SGD) ha demostrado su m´ aximo potencial. Las DNN son funciones param´ etricas altamente no lineales compuestas por m´ ultiples capas de transformaciones afines seguidas de funciones de activaci´ on no lineales (ReLU, sigmoide, tanh, etc.). El n´ umero de par´ ametros puede oscilar entre millones y cientos de miles de millones, y el tama˜ no de los conjuntos de datos puede superar el petabyte. En este escenario, los m´ etodos de optimizaci´ on de segundo orden o incluso el descenso del gradiente completo son inviables. El proceso de entrenamiento de una DNN con SGD sigue un bucle iterativo t´ ıpico: 1. Inicializar los pesos de la red (sesgos incluidos) mediante alguna estrategia como Xavier o He. 2. Para cada ´ epoca, recorrer el conjunto de entrenamiento en orden aleatorio, dividido en mini-batches. 3. Para cada mini-batch, calcular la salida de la red (forward pass). 4. Calcular la funci´ on de p´ erdida (por ejemplo, entrop´ ıa cruzada para clasificaci´ on). 5. Calcular los gradientes de la p´ erdida con respecto a todos los par´ ametros mediante retropropagaci´ on (backpropagation). 6. Actualizar los par´ ametros usando la regla SGD o alguna de sus variantes (momentum, Adam, etc.). 7. Repetir hasta que se alcance un criterio de parada (n´ umero de ´ epocas, mejora de validaci´ on, etc.). La no convexidad de la funci´ on de p´ erdida en DNN implica que el SGD puede converger a diferentes m´ ınimos locales dependiendo de la inicializaci´ on. Sin embargo, estudios emp´ ıricos muestran que en redes sobredimensionadas (con m´ as par´ ametros que muestras), todos los m´ ınimos locales alcanzables tienen valores de p´ erdida similares y cercanos al ´ optimo global. Adem´ as, el ruido estoc´ astico del SGD act´ ua como regularizador impl´ ıcito, favoreciendo soluciones que generalizan bien. La elecci´ on del optimizador y la tasa de aprendizaje es cr´ ıtica. Para redes convolucionales (CNN), el SGD con momentum (0.9) y step decay sigue siendo una opci´ on popular. Para Transformers y redes recurrentes, AdamW ha demostrado un rendimiento superior. Las tasas de aprendizaje suelen comenzar en un rango de 10−4 a 10−2 y se reducen mediante cosine annealing o step decay. 11.2 Propagaci´ on hacia atr´ as (Backpropagation) La retropropagaci´ on (backpropagation) es el algoritmo que permite calcular eficientemente los gradientes de la funci´ on de p´ erdida respecto a todos los par´ ametros de una red neuronal. Fue popularizado por Rumelhart, Hinton y Williams en 1986 y es la piedra angular del entrenamiento de DNN. El algoritmo se basa en la regla de la cadena del c´ alculo diferencial. Sea una red con L capas. Denotemos la salida de la capa l como a(l) = f(l)(W(l)a(l−1) + b(l)), donde W(l) y b(l) son los pesos y sesgos, y f(l) es la funci´ on de activaci´ on. La p´ erdida total J depende de la salida final a(L). El gradiente de J respecto a los par´ ametros de la capa l se obtiene mediante: ∂J ∂W(l) = ∂J ∂z(l) · ∂z(l) ∂W(l) = δ(l) · (a(l−1))T , (143) donde z(l) = W(l)a(l−1) + b(l) es la entrada a la activaci´ on, y δ(l) = ∂J ∂z(l) se propaga hacia atr´ as: δ(l−1) = (W(l))T δ(l) ⊙ f′(z(l−1)). (144) El costo computacional de la retropropagaci´ on es O(d), donde d es el n´ umero de par´ ametros, y requiere almacenar las activaciones de todas las capas para cada ejemplo del mini-batch (lo que impacta la memoria). En el contexto del SGD, la retropropagaci´ on se realiza sobre cada mini-batch. Los frameworks modernos (TensorFlow, PyTorch, JAX) implementan diferenciaci´ on autom´ atica (autodiff) que construye un grafo computacional y calcula gradientes de forma simb´ olica y num´ erica. Esto libera al usuario de derivar manualmente las expresiones. https://educateperuconsultores.com/ P´ ag. 59
  60. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 11.3 SGD en redes convolucionales

    (CNN) Las redes convolucionales (CNN) est´ an dise˜ nadas para procesar datos con estructura de cuadr´ ıcula, como im´ agenes. Utilizan capas convolucionales, pooling y totalmente conectadas. El entrenamiento de CNN con SGD presenta caracter´ ısticas particulares: • Las capas convolucionales comparten pesos (kernel), lo que reduce el n´ umero de par´ ametros y acelera la convergencia. • El gradiente se calcula mediante la operaci´ on de convoluci´ on transpuesta (o correlaci´ on cruzada) durante la retropropagaci´ on. • El tama˜ no del mini-batch influye en la efectividad de la normalizaci´ on por lotes (batch normaliza- tion), com´ un en CNN. • El uso de data augmentation (rotaciones, recortes, cambios de color) se intercala con el SGD para mejorar la generalizaci´ on. Arquitecturas famosas como LeNet, AlexNet, VGG, ResNet y EfficientNet se entrenan t´ ıpicamente con SGD con momentum (0.9) y step decay (reducci´ on de la tasa de aprendizaje por un factor de 0.1 cada 30-50 ´ epocas). Para ResNet-50 en ImageNet, se utilizan 90 ´ epocas con una tasa inicial de 0.1, reduci´ endose a 0.01 en la ´ epoca 30 y a 0.001 en la ´ epoca 60. El tama˜ no del lote suele ser 256 o 512. Un fen´ omeno importante en CNN es que las primeras capas aprenden filtros de bajo nivel (bordes, texturas) y las capas profundas aprenden caracter´ ısticas sem´ anticas. El SGD con momentum ayuda a que estas caracter´ ısticas se desarrollen de manera estable. 11.4 SGD en redes recurrentes (RNN y LSTM) Las redes recurrentes (RNN) est´ an dise˜ nadas para datos secuenciales, como series temporales, texto o audio. A diferencia de las CNN, las RNN tienen bucles que permiten mantener un estado oculto a lo largo del tiempo. La retropropagaci´ on se realiza a trav´ es del tiempo (Backpropagation Through Time, BPTT), lo que puede ser costoso y propenso a gradientes desvanecientes o explosivos. Las RNN simples sufren del problema de gradiente desvaneciente debido a la multiplicaci´ on repetida de matrices que pueden tener valores propios menores que 1. Las LSTM (Long Short-Term Memory) y GRU (Gated Recurrent Units) introducen compuertas que controlan el flujo de informaci´ on, mitigando este problema. El entrenamiento con SGD de RNN y LSTM requiere cuidado especial: • La tasa de aprendizaje suele ser m´ as peque˜ na (por ejemplo, 10−3 a 10−4) porque los gradientes pueden ser inestables. • Se emplea gradient clipping: si la norma del gradiente excede un umbral, se escala hacia abajo. • Adam o RMSProp son a menudo preferidos sobre SGD simple porque se adaptan a las diferentes escalas de los gradientes. • Para secuencias largas, se utiliza truncated BPTT, donde la retropropagaci´ on solo se propaga unas pocas docenas de pasos atr´ as. Las LSTM han sido fundamentales en tareas como traducci´ on autom´ atica, reconocimiento de voz y generaci´ on de texto, antes de la llegada de los Transformers. El SGD con Adam ha mostrado buenos resultados en estas tareas. 11.5 Optimizaci´ on en Transformers Los Transformers (Vaswani et al., 2017) han revolucionado el procesamiento de lenguaje natural y se est´ an extendiendo a visi´ on y otras ´ areas. Su arquitectura se basa en mecanismos de atenci´ on (self-attention) y capas feed-forward. El entrenamiento de Transformers plantea desaf´ ıos ´ unicos: • Los gradientes pueden tener magnitudes muy variables entre diferentes par´ ametros. • Las capas de atenci´ on son intensivas en memoria y c´ omputo. https://educateperuconsultores.com/ P´ ag. 60
  61. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • El tama˜ no del

    lote en t´ erminos de tokens puede ser muy grande (por ejemplo, 0.5 millones de tokens para GPT-3). El optimizador est´ andar para Transformers es AdamW (Adam con decaimiento de peso desacoplado). La tasa de aprendizaje se programa t´ ıpicamente con un warmup lineal durante los primeros pasos (por ejemplo, 4000 iteraciones) seguido de decaimiento lineal o coseno. La raz´ on del warmup es que al inicio los gradientes son grandes y ruidosos; aumentar gradualmente la tasa de aprendizaje estabiliza el entrenamiento. Una pr´ actica com´ un es usar la regla de escalado de Adam: ηbase = 0.001 o 0.0001 para BERT, y para modelos m´ as grandes como GPT-3 se usan tasas m´ as peque˜ nas (e.g., 6 × 10−5). El tama˜ no del lote global se escala con el n´ umero de GPUs; por ejemplo, GPT-3 se entren´ o con un lote de 3.2 millones de tokens. El entrenamiento de Transformers con SGD puro (sin adaptaci´ on) es ineficaz debido a la mala escala de los gradientes. AdamW proporciona la robustez necesaria. 11.6 Problemas de gradientes desvanecientes y explosivos Los gradientes desvanecientes (vanishing gradients) ocurren cuando la magnitud del gradiente disminuye exponencialmente a medida que se propaga hacia las capas iniciales de la red. Esto impide que esas capas aprendan, estancando el entrenamiento. Las causas principales son: • Funciones de activaci´ on con derivadas peque˜ nas en la regi´ on de saturaci´ on (sigmoide, tanh). • Producto de muchas matrices con valores propios menores que 1 en RNN. • Inicializaci´ on de pesos inapropiada. Los gradientes explosivos (exploding gradients) son el fen´ omeno contrario: el gradiente crece exponen- cialmente, provocando actualizaciones enormes que divergen. Es com´ un en RNN y capas muy profundas sin normalizaci´ on. Soluciones pr´ acticas: • Uso de activaciones ReLU (o sus variantes Leaky ReLU, ELU) que tienen derivada 1 en la regi´ on positiva. • Inicializaci´ on de pesos adecuada (Xavier, He) que mantiene la varianza de las activaciones. • Batch normalization o layer normalization, que normalizan las entradas de cada capa y estabilizan los gradientes. • Gradient clipping (especialmente para gradientes explosivos): g ← g · min(1, C/∥g∥). • Arquitecturas con conexiones residuales (ResNet, Transformers) que permiten que el gradiente fluya directamente a trav´ es de atajos. El SGD se beneficia de estas t´ ecnicas porque el ruido estoc´ astico puede exacerbar los problemas de escala si no se controlan. 11.7 Batch normalization y estabilidad del entrenamiento La normalizaci´ on por lotes (Batch Normalization, BN), propuesta por Ioffe y Szegedy (2015), normaliza las activaciones de una capa para que tengan media cero y varianza unitaria, utilizando estad´ ısticas del mini-batch. La operaci´ on es: znorm = z − µB σ2 B + ϵ , y = γznorm + β, (145) donde µB y σ2 B son la media y varianza del mini-batch, y γ, β son par´ ametros aprendibles. BN tiene varios efectos beneficiosos para el SGD: • Reduce la dependencia de la inicializaci´ on y permite usar tasas de aprendizaje m´ as altas. • Act´ ua como regularizador (reduce la necesidad de dropout). https://educateperuconsultores.com/ P´ ag. 61
  62. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Suaviza el paisaje de

    p´ erdida, facilitando la convergencia del SGD. • Reduce los gradientes desvanecientes al mantener las activaciones en rangos con derivadas no nulas. Sin embargo, BN tiene limitaciones: el tama˜ no del lote debe ser suficientemente grande (t´ ıpicamente ≥ 32) para que las estad´ ısticas sean fiables; en redes recurrentes o con lotes muy peque˜ nos, se prefiere Layer Normalization. En modelos como Transformers, se usa LayerNorm en lugar de BN. La combinaci´ on de BN con SGD con momentum ha sido clave para entrenar redes muy profundas como ResNet-152. 11.8 Inicializaci´ on de pesos La inicializaci´ on de los pesos afecta dr´ asticamente la velocidad de convergencia y la calidad final del modelo. Una mala inicializaci´ on puede causar gradientes desvanecientes o explosivos. Las estrategias m´ as comunes son: • Xavier/Glorot initialization: Para activaciones sigmoide o tanh, los pesos se inicializan con distribuci´ on uniforme o normal con varianza 2/(nin + nout ), donde nin y nout son las dimensiones de entrada y salida de la capa. • He initialization: Para activaciones ReLU, la varianza recomendada es 2/nin . • Orthogonal initialization: Inicializa la matriz de pesos como una matriz ortogonal, ´ util para RNN. • Inicializaci´ on por lotes peque˜ nos: Algunos m´ etodos modernos como Fixup o Zero-initialize residual branches. En SGD, la inicializaci´ on determina el punto de partida en el paisaje de p´ erdida. Una buena ini- cializaci´ on permite que el SGD comience en una regi´ on con gradientes moderados y sin saturaci´ on. Por ejemplo, en redes convolucionales, He initialization es la opci´ on por defecto. 11.9 Entrenamiento distribuido en GPUs y TPUs Para entrenar modelos profundos de gran escala, es indispensable el uso de m´ ultiples aceleradores (GPUs, TPUs) en paralelo. El entrenamiento distribuido con SGD se realiza principalmente mediante paralelismo de datos (data parallelism): • Cada GPU tiene una copia completa del modelo. • El mini-batch global de tama˜ no mglobal se divide en mlocal por GPU. • Cada GPU calcula su gradiente local en su sub-lote. • Los gradientes se promedian entre todas las GPUs mediante una operaci´ on all-reduce (por ejemplo, usando NCCL en NVIDIA). • Todos los workers actualizan sus par´ ametros con el mismo gradiente promedio. Este m´ etodo es equivalente a ejecutar SGD con un mini-batch de tama˜ no mglobal , pero con la ventaja de la aceleraci´ on. Sin embargo, la comunicaci´ on puede ser un cuello de botella si el modelo es muy grande. Para mitigarlo, se usan gradientes en punto flotante de 16 bits (mixed precision) y compresi´ on de gradientes. Para modelos extremadamente grandes (m´ as de 100 mil millones de par´ ametros), se combina el paralelismo de datos con el paralelismo de modelo (model parallelism) y el paralelismo de pipeline. El SGD se modifica para manejar la asincron´ ıa y las demoras. Frameworks como DeepSpeed y FairScale implementan optimizaciones espec´ ıficas (ZeRO, particionamiento de par´ ametros). Las TPUs de Google est´ an dise˜ nadas para SGD s´ ıncrono con grandes lotes y utilizan un protocolo de all-reduce optimizado (XLA). El entrenamiento de modelos como BERT o GPT-3 se realiza en cientos o miles de TPUs/GPUs. https://educateperuconsultores.com/ P´ ag. 62
  63. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 11.10 Escalamiento de modelos de

    gran tama˜ no El escalamiento de modelos (model scaling) se refiere al aumento del n´ umero de par´ ametros, capas y tama˜ no de los datos para mejorar el rendimiento. La ley de escalamiento (scaling laws) de OpenAI y DeepMind muestra que el rendimiento de los modelos de lenguaje sigue una ley de potencias con respecto a los par´ ametros, los datos y la potencia computacional. El entrenamiento de estos modelos con SGD requiere t´ ecnicas especiales: • Lotes extremadamente grandes: Se utilizan tama˜ nos de lote globales de millones de ejemplos (o tokens). La regla de escalado lineal ajusta la tasa de aprendizaje: ηglobal = ηbase · mglobal mbase . • AdamW con decaimiento de peso: Es el optimizador dominante para LLMs. • Gradient checkpointing: Para reducir la memoria, se recalculan las activaciones durante la retropropagaci´ on. • Entrenamiento con precisi´ on mixta: Uso de FP16 o BF16 para acelerar y reducir memoria. • Software especializado: Megatron-LM, DeepSpeed, FSDP (Fully Sharded Data Parallel) de PyTorch. El SGD en su forma simple no escala bien a estos tama˜ nos, pero sus variantes adaptativas (AdamW) s´ ı lo hacen. El entrenamiento de GPT-3 (175B par´ ametros) requiri´ o millones de d´ olares en recursos computacionales y t´ ecnicas de escalado cuidadosas. El SGD sigue siendo el coraz´ on de la optimizaci´ on, aunque con numerosas mejoras. Conclusi´ on del cap´ ıtulo: El SGD y sus variantes son el motor de entrenamiento de las redes neuronales profundas. Desde la retropropagaci´ on que calcula gradientes de manera eficiente hasta las t´ ecnicas de normalizaci´ on e inicializaci´ on que estabilizan la din´ amica, el SGD se adapta a arquitecturas como CNN, RNN y Transformers. El entrenamiento distribuido y el escalado de modelos de gran tama˜ no son posibles gracias a la naturaleza estoc´ astica y paralelizable del algoritmo. La comprensi´ on de estos aspectos es fundamental para cualquier profesional del aprendizaje profundo. 12 Interpretaci´ on Geom´ etrica y F´ ısica del SGD 12.1 Paisajes de p´ erdida en alta dimensi´ on El comportamiento del Stochastic Gradient Descent (SGD) est´ a ´ ıntimamente ligado a la geometr´ ıa de la funci´ on de p´ erdida J(θ) en el espacio de par´ ametros Rd. En el aprendizaje profundo, d es t´ ıpicamente del orden de millones o miles de millones, lo que hace imposible visualizar directamente el paisaje. Sin embargo, herramientas anal´ ıticas y experimentos con proyecciones aleatorias han revelado caracter´ ısticas cruciales. Un paisaje de p´ erdida en alta dimensi´ on presenta las siguientes propiedades distintivas: • M´ ultiples puntos cr´ ıticos: El n´ umero de puntos donde ∇J(θ) = 0 crece exponencialmente con d. Entre ellos, los puntos silla son mucho m´ as abundantes que los m´ ınimos locales. Esta abundancia relativa se debe a que la probabilidad de que un punto cr´ ıtico tenga todos los valores propios positivos (m´ ınimo) es exponencialmente peque˜ na cuando d es grande y la funci´ on es gen´ erica. • Barrancos y valles: Las regiones donde la curvatura es alta en algunas direcciones y baja en otras se denominan barrancos. El SGD tiende a oscilar perpendicularmente al valle, mientras que el momentum promedia esas oscilaciones. • Mesetas: Grandes extensiones donde ∥∇J(θ)∥ es muy peque˜ no. En estas regiones el descenso determinista es extremadamente lento, pero el ruido estoc´ astico del SGD puede proporcionar la energ´ ıa necesaria para salir de ellas. • M´ ınimos planos vs. m´ ınimos agudos: Un m´ ınimo plano se caracteriza porque los valores propios de la matriz Hessiana ∇2J(θ∗) son peque˜ nos (en magnitud). Un m´ ınimo agudo tiene algunos valores propios grandes. La evidencia emp´ ırica sugiere que los m´ ınimos planos generalizan mejor, y el SGD tiende a converger a ellos debido al ruido. https://educateperuconsultores.com/ P´ ag. 63
  64. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso Para estudiar cuantitativamente el paisaje,

    se utiliza la expansi´ on de Taylor alrededor de un punto cr´ ıtico: J(θ) ≈ J(θ∗) + 1 2 (θ − θ∗)T H(θ − θ∗) + t´ erminos de orden superior, (146) donde H = ∇2J(θ∗). Los autovalores λi de H determinan la curvatura local. El n´ umero de condici´ on κ = λmax /λmin (para λmin > 0) mide la anisotrop´ ıa. En problemas mal condicionados, κ es grande y el GD determinista zigzaguea; el SGD con ruido puede mitigar este efecto. Visualizaciones mediante proyecciones aleatorias bidimensionales de la p´ erdida alrededor de un m´ ınimo muestran que la superficie es sorprendentemente cuadr´ atica y que los m´ ınimos est´ an conectados por valles de baja p´ erdida. Esto sugiere que el SGD puede moverse entre diferentes m´ ınimos a trav´ es de estas conexiones. 12.2 Trayectorias estoc´ asticas en superficies no convexas Las trayectorias generadas por el SGD en superficies no convexas son radicalmente diferentes de las trayec- torias deterministas del GD. Mientras que el GD sigue una curva suave que desciende mon´ otonamente hasta un punto cr´ ıtico (a menudo un m´ ınimo local o punto silla), el SGD produce un camino err´ atico que puede aumentar temporalmente la p´ erdida y explorar m´ ultiples cuencas. Formalmente, la actualizaci´ on del SGD es: θt+1 = θt − ηt (∇J(θt ) + ξt ) , (147) donde ξt es ruido de media cero y covarianza Σ(θt )/m (para mini-batch de tama˜ no m). La presencia de ξt convierte la trayectoria en un proceso de Markov. Dos reg´ ımenes son de inter´ es: • Tasa constante ηt = η: La trayectoria no converge a un punto fijo, sino que alcanza una dis- tribuci´ on estacionaria alrededor de un m´ ınimo (o varios m´ ınimos). La amplitud de las fluctuaciones es O( √ η). En este r´ egimen, el SGD realiza una exploraci´ on continua, saltando entre m´ ınimos cer- canos si la barrera de energ´ ıa es baja. • Tasa decreciente ηt → 0: El ruido se desvanece gradualmente, y la trayectoria se asemeja cada vez m´ as al GD determinista. Eventualmente, puede quedar atrapado en un m´ ınimo local. Sin embargo, si la tasa decrece suficientemente lenta (por ejemplo, ηt = 1/t), el algoritmo puede escapar de m´ ınimos pobres con alta probabilidad. Un fen´ omeno importante es el escape de puntos silla. En un punto silla, ∇J = 0, pero hay direcciones de curvatura negativa (autovalores λ− < 0). El GD determinista se queda atascado porque el gradiente es exactamente cero. El SGD, debido al ruido, puede empujar la iteraci´ on hacia la direcci´ on negativa, y luego la inestabilidad lineal hace que se aleje exponencialmente. El tiempo medio de escape escala como exp(|λ− |/σ2) para ruido peque˜ no, pero puede ser polinomial si el ruido es moderado. Experimentalmente, las trayectorias del SGD en redes neuronales profundas muestran que el algoritmo primero explora r´ apidamente el espacio (fase de exploraci´ on) y luego se estabiliza en una regi´ on (fase de afinamiento). El uso de warm restarts o cosine annealing induce ciclos de exploraci´ on que mejoran la generalizaci´ on. 12.3 Din´ amica del SGD como difusi´ on estoc´ astica Una poderosa herramienta para entender el comportamiento del SGD en el l´ ımite de tasas de apren- dizaje peque˜ nas es la aproximaci´ on mediante ecuaciones diferenciales estoc´ asticas (SDE). Consideremos la actualizaci´ on con η constante (o variando lentamente). Reescribiendo la iteraci´ on como: θt+1 − θt = −η∇J(θt ) + η Σ(θt ) m zt , (148) donde zt es un vector de ruido blanco con media cero y matriz de covarianza identidad. En el l´ ımite η → 0 y escalando el tiempo t = s/η, se obtiene la SDE de Ito: dθs = −∇J(θs )ds + η m Σ(θs )dWs , (149) https://educateperuconsultores.com/ P´ ag. 64
  65. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso donde Ws es un movimiento

    browniano est´ andar en Rd. Esta SDE describe una part´ ıcula que se mueve en un potencial J(θ) bajo la influencia de un ruido multiplicativo (dependiente del estado). Si la matriz de covarianza del ruido es constante e isotr´ opica, Σ = σ2I, entonces la SDE se reduce a: dθs = −∇J(θs )ds + ησ2 m dWs . (150) En este caso, la distribuci´ on estacionaria es la distribuci´ on de Gibbs: πη (θ) ∝ exp − 2m ησ2 J(θ) . (151) Esto significa que el SGD con tasa constante muestrea la distribuci´ on de Boltzmann con temperatura T = ησ2/(2m). A medida que η disminuye, la distribuci´ on se concentra en los m´ ınimos globales de J. Esta conexi´ on con la mec´ anica estad´ ıstica es fundamental para entender el comportamiento de generalizaci´ on. En el caso general con ruido multiplicativo, la distribuci´ on estacionaria no tiene una forma cerrada tan simple, pero se puede aproximar mediante la soluci´ on de la ecuaci´ on de Fokker-Planck. El t´ ermino de difusi´ on induce una corriente de probabilidad que favorece regiones donde Σ(θ) es grande, lo que t´ ıpicamente ocurre en regiones de alta curvatura. Por lo tanto, el SGD evita los m´ ınimos agudos (donde Σ podr´ ıa ser peque˜ na) y prefiere los m´ ınimos planos (donde la varianza del gradiente tambi´ en tiende a ser peque˜ na, pero el balance es sutil). El an´ alisis mediante SDE tambi´ en permite estudiar el tiempo de escape de m´ ınimos locales. Aplicando la teor´ ıa de grandes desviaciones, la tasa de escape del m´ ınimo θa al m´ ınimo θb es aproximadamente: tasa ∼ exp − 2m ησ2 (J(θs ) − J(θa )) , (152) donde θs es el punto de silla entre ellos. Esto muestra que con tasas constantes, el SGD puede saltar entre cuencas, pero la probabilidad es exponencialmente peque˜ na si la barrera es alta. Con tasas decrecientes, se puede realizar un recocido simulado que garantice convergencia al m´ ınimo global si ηt ∼ 1/ log t. 12.4 Analog´ ıas con sistemas f´ ısicos La interpretaci´ on del SGD como un sistema f´ ısico ofrece intuiciones valiosas. Podemos establecer las siguientes analog´ ıas: • Energ´ ıa potencial: La funci´ on de p´ erdida J(θ) juega el papel de energ´ ıa potencial. El gradiente −∇J(θ) es la fuerza conservativa que empuja la part´ ıcula hacia regiones de menor energ´ ıa. • Momento: El t´ ermino de momentum vt+1 = βvt − η∇J(θt ) equivale a una part´ ıcula con masa efectiva y fricci´ on. En la literatura f´ ısica, esto corresponde a la ecuaci´ on de Langevin con inercia. • Temperatura: El ruido estoc´ astico del SGD, con varianza ησ2/m, define una temperatura efectiva T = ησ2 2mkB (con kB = 1 en unidades naturales). A mayor temperatura, mayor exploraci´ on; a baja temperatura, el sistema se congela en m´ ınimos. • Fricci´ on: La tasa de aprendizaje η act´ ua como la inversa del coeficiente de fricci´ on en la ecuaci´ on de Langevin sobreamortiguada. Un η grande corresponde a baja fricci´ on (movimiento bal´ ıstico), mientras que η peque˜ no da lugar a movimiento difusivo. Una analog´ ıa m´ as profunda surge al considerar el SGD como un proceso de recocido simulado (simu- lated annealing) donde la temperatura disminuye seg´ un un programa. En el recocido cl´ asico, se garantiza la convergencia al m´ ınimo global si la temperatura decrece como T(t) = c/ log t. En el SGD, la temper- atura efectiva es ηt σ2/(2m), por lo que elegir ηt ∝ 1/ log t (pr´ acticamente imposible por ser demasiado lento) llevar´ ıa a la optimalidad global. En la pr´ actica, se usan decaimientos m´ as r´ apidos que solo garan- tizan convergencia a un m´ ınimo local (posiblemente bueno). Otra analog´ ıa es con el principio de m´ ınima acci´ on: el SGD con momento tiende a seguir trayecto- rias que minimizan un funcional de acci´ on, lo que explica por qu´ e acelera en las direcciones de curvatura persistente. El algoritmo de Nesterov puede interpretarse como una discretizaci´ on de una ecuaci´ on diferencial de segundo orden con un t´ ermino de aceleraci´ on que mejora la convergencia. https://educateperuconsultores.com/ P´ ag. 65
  66. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 12.5 Energ´ ıa potencial y

    estabilidad din´ amica La estabilidad de las soluciones encontradas por el SGD puede analizarse en t´ erminos de la matriz Hessiana y el ruido. Cerca de un m´ ınimo local θ∗ con Hessiana H definida positiva, la din´ amica linealizada del SGD (con tasa constante η) es: θt+1 − θ∗ ≈ (I − ηH)(θt − θ∗) + ηξt . (153) El comportamiento estacionario se describe por una distribuci´ on gaussiana con covarianza C que satisface la ecuaci´ on de Lyapunov: C = (I − ηH)C(I − ηH)T + η2Σ. (154) Para η peque˜ no, la soluci´ on es aproximadamente C ≈ η 2 H−1ΣH−1. La varianza en la direcci´ on del i-´ esimo autovector es η 2 σ2 i λ2 i , donde λi es el autovalor de H y σ2 i la varianza del ruido en esa direcci´ on. Esto muestra que en direcciones con curvatura peque˜ na (λi peque˜ no), la varianza es grande, lo que indica que el SGD puede explorar ampliamente a lo largo de valles planos. Esta es la base de la preferencia por m´ ınimos planos: el algoritmo pasa m´ as tiempo en regiones de baja curvatura porque las fluctuaciones son mayores. En t´ erminos de estabilidad din´ amica, un m´ ınimo se considera estable si peque˜ nas perturbaciones no hacen que el sistema se aleje. Para el SGD, el ruido introduce una fuente continua de perturbaciones, pero la estabilidad lineal requiere que ∥I − ηH∥ < 1, es decir, η < 2/λmax . Si se cumple, el sistema es estable en media y la covarianza es finita. Si η supera ese umbral, las iteraciones divergen (explosi´ on num´ erica). Por lo tanto, el aprendizaje se realiza t´ ıpicamente con η ligeramente por debajo de ese l´ ımite. La energ´ ıa potencial efectiva (incluyendo el efecto del ruido) se define como Jeff (θ) = J(θ)−η 2 log det(H(θ)) en la aproximaci´ on de campo medio. El t´ ermino log det act´ ua como una entrop´ ıa que favorece regiones con Hessiana peque˜ na (m´ ınimos planos). As´ ı, el SGD minimiza impl´ ıcitamente Jeff en lugar de J, lo que explica su tendencia a generalizar mejor. 12.6 SGD y termodin´ amica computacional La termodin´ amica computacional estudia sistemas de muchas part´ ıculas que evolucionan seg´ un reglas estoc´ asticas. El SGD puede verse como un sistema de una sola part´ ıcula (el vector de par´ ametros) que se mueve en un paisaje de energ´ ıa, pero con una temperatura controlada por la tasa de aprendizaje. Desde esta perspectiva, podemos definir: • Energ´ ıa interna: U = E[J(θ)], el valor esperado de la p´ erdida. • Entrop´ ıa: S = − ρ(θ) log ρ(θ)dθ, donde ρ es la distribuci´ on estacionaria (si existe). • Energ´ ıa libre: F = U − TS, que es minimizada en el equilibrio. Para el SGD con tasa constante, la distribuci´ on ρη se aproxima a la distribuci´ on de Gibbs, y la energ´ ıa libre es F = − 1 β log Z, con β = 2m/(ησ2). El algoritmo realiza un muestreo de esta distribuci´ on, y se puede estudiar la transici´ on de fase entre diferentes modos. Por ejemplo, a altas temperaturas (η grande), el sistema es erg´ odico y visita m´ ultiples m´ ınimos; a bajas temperaturas (η peque˜ no), se localiza en un m´ ınimo. El concepto de calor espec´ ıfico C = ∂U/∂T puede indicar cambios bruscos en la estructura del paisaje. Picos en C se˜ nalan transiciones de fase, donde el SGD salta entre cuencas. Ajustando η podemos controlar la exploraci´ on. Otra noci´ on termodin´ amica es la entrop´ ıa de configuraci´ on: en espacios de alta dimensi´ on, el n´ umero de configuraciones con una p´ erdida dada crece exponencialmente con d. El SGD explora este conjunto hiperesf´ erico. La teor´ ıa del paisaje de energ´ ıa aleatoria (Random Energy Model) predice que existe una temperatura cr´ ıtica por debajo de la cual el sistema se congela en estados de baja energ´ ıa. El SGD con η decreciente puede cruzar esta transici´ on y encontrar buenas soluciones. En la pr´ actica, el monitoreo de la energ´ ıa libre es dif´ ıcil, pero se puede estimar mediante t´ ecnicas de simulaci´ on de recocido. La conexi´ on con la termodin´ amica computacional sugiere que la tasa de aprendizaje y el tama˜ no del lote act´ uan como par´ ametros termodin´ amicos que controlan la fase del entrenamiento. https://educateperuconsultores.com/ P´ ag. 66
  67. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 12.7 Relaci´ on entre ruido

    y capacidad de generalizaci´ on Una de las observaciones m´ as importantes en el aprendizaje profundo es que el ruido estoc´ astico intro- ducido por el SGD mejora la capacidad de generalizaci´ on del modelo. A continuaci´ on se presentan varias explicaciones te´ oricas y experimentales. • Selecci´ on de m´ ınimos planos: Como se argument´ o, el ruido estoc´ astico hace que la distribuci´ on estacionaria se concentre en regiones de baja curvatura (m´ ınimos planos). Los m´ ınimos planos son m´ as robustos a peque˜ nas perturbaciones en los datos o en los par´ ametros, por lo que generalizan mejor. Estudios emp´ ıricos muestran que el SGD con lotes peque˜ nos alcanza menores errores de validaci´ on que con lotes grandes (que reducen el ruido). • Regularizaci´ on impl´ ıcita: En problemas lineales, el SGD con tasa constante converge a la soluci´ on de norma m´ ınima (para la p´ erdida cuadr´ atica) cuando se inicializa en cero. Esto es equivalente a la regularizaci´ on ℓ2 . En redes neuronales, se ha demostrado que el SGD favorece soluciones con baja complejidad de norma. • Escape de soluciones de bajo margen: En clasificaci´ on, las soluciones con margen peque˜ no (puntos cercanos a la frontera de decisi´ on) son sensibles al ruido. El SGD, gracias al ruido, tiende a alejarse de estas soluciones hacia regiones de mayor margen, mejorando la generalizaci´ on. • Efecto de la varianza del gradiente: La varianza del gradiente act´ ua como un t´ ermino de difusi´ on que penaliza las direcciones con alta curvatura, similar a un regularizador de traza del Hessiano. Este efecto es m´ as fuerte con lotes peque˜ nos. • Convergencia a puntos cr´ ıticos m´ as dispersos: Te´ oricamente, se ha demostrado que el SGD (a diferencia del GD) no converge a puntos silla degenerados, y evita m´ ınimos locales con barreras demasiado altas. Una explicaci´ on unificadora proviene de la SDE: la distribuci´ on estacionaria minimiza la energ´ ıa libre, que incluye un t´ ermino entr´ opico que favorece regiones con muchos estados cercanos (alta entrop´ ıa). Los m´ ınimos planos tienen un volumen de cuenca mayor, por lo que tienen mayor entrop´ ıa, y la energ´ ıa libre es menor. Por lo tanto, el SGD selecciona naturalmente soluciones de alta entrop´ ıa, que corresponden a mejor generalizaci´ on. Experimentalmente, se ha observado que el ruido del SGD tiene un efecto similar a la adici´ on de ruido gaussiano a los gradientes en el m´ etodo de Langevin, y que el tama˜ no del lote controla la temperatura. Ajustar la tasa de aprendizaje y el tama˜ no del lote permite sintonizar el compromiso entre la calidad de ajuste (p´ erdida de entrenamiento) y la generalizaci´ on. Conclusi´ on del cap´ ıtulo: La interpretaci´ on geom´ etrica y f´ ısica del SGD proporciona una comprensi´ on profunda de su comportamiento en problemas de alta dimensi´ on. Los paisajes de p´ erdida complejos y no convexos son navegados por trayectorias estoc´ asticas que pueden modelarse mediante ecuaciones diferenciales estoc´ asticas. La analog´ ıa con sistemas termodin´ amicos revela que el ruido act´ ua como una temperatura que controla la exploraci´ on y la selecci´ on de m´ ınimos planos con mejor capacidad de generalizaci´ on. Estas ideas no solo son de inter´ es te´ orico, sino que gu´ ıan el dise˜ no pr´ actico de algoritmos y la sintonizaci´ on de hiperpar´ ametros. 13 Implementaci´ on Computacional del SGD 13.1 Implementaci´ on b´ asica en Python La implementaci´ on m´ as elemental del Stochastic Gradient Descent (SGD) en Python puro (sin librer´ ıas de ´ algebra lineal) permite comprender la mec´ anica interna del algoritmo. Dado un conjunto de datos de entrenamiento con n muestras y una funci´ on de p´ erdida diferenciable, el algoritmo itera actualizando los par´ ametros utilizando el gradiente de una sola muestra seleccionada aleatoriamente. A continuaci´ on se muestra una implementaci´ on b´ asica para un problema de regresi´ on lineal univari- ante, donde la funci´ on de p´ erdida es el error cuadr´ atico. Aunque ineficiente para problemas reales, este c´ odigo ilustra los componentes esenciales: inicializaci´ on de par´ ametros, selecci´ on aleatoria de muestra, c´ alculo del gradiente y actualizaci´ on. https://educateperuconsultores.com/ P´ ag. 67
  68. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 1 import random 2 3

    def sgd_basic(X, y, learning_rate =0.01 , epochs =100): 4 """ 5 X: lista de valores de entrada (floats) 6 y: lista de valores objetivo (floats) 7 learning_rate : tasa de aprendizaje eta 8 epochs: numero de pasadas completas sobre los datos 9 """ 10 n = len(X) 11 theta0 = 0.0 # sesgo 12 theta1 = 0.0 # pendiente 13 14 for epoch in range(epochs): 15 # Mezclar indices para recorrido aleatorio 16 indices = list(range(n)) 17 random.shuffle(indices) 18 for i in indices: 19 # Prediccion 20 y_pred = theta0 + theta1 * X[i] 21 # Error 22 error = y_pred - y[i] 23 # Gradientes (derivadas de la perdida cuadratica) 24 grad_theta0 = error 25 grad_theta1 = error * X[i] 26 # Actualizacion 27 theta0 = theta0 - learning_rate * grad_theta0 28 theta1 = theta1 - learning_rate * grad_theta1 29 30 return theta0 , theta1 31 Esta implementaci´ on, aunque funcional, tiene m´ ultiples limitaciones: no maneja mini-batches, no incluye regularizaci´ on, el costo computacional por actualizaci´ on es alto debido al bucle en Python puro (no vectorizado) y la precisi´ on num´ erica es limitada. Para problemas reales se requieren implementaciones vectorizadas utilizando NumPy o frameworks como PyTorch/TensorFlow. Una mejora inmediata es utilizar funciones auxiliares para el c´ alculo del gradiente y la p´ erdida, facilitando la extensi´ on a otros modelos. Adicionalmente, se puede a˜ nadir un t´ ermino de decaimiento de peso (regularizaci´ on L2) modificando el gradiente: ∇Jreg i (θ) = ∇Ji (θ) + λθ, (155) donde λ es el coeficiente de regularizaci´ on. 13.2 Implementaci´ on usando NumPy NumPy proporciona operaciones vectorizadas que aceleran dr´ asticamente el c´ alculo de gradientes sobre mini-batches. La implementaci´ on con NumPy es esencial para conjuntos de datos de tama˜ no moderado (hasta unos cientos de miles de muestras) y es el paso previo a frameworks m´ as avanzados. A continuaci´ on se presenta una implementaci´ on de SGD con mini-batches para un modelo de regresi´ on lineal multivariante, utilizando NumPy. Se asume que los datos de entrada son una matriz X de tama˜ no n × d y un vector y de tama˜ no n. 1 import numpy as np 2 3 def sgd_numpy(X, y, learning_rate =0.01 , batch_size =32, epochs =100 , lambda_reg =0.0): 4 n, d = X.shape 5 theta = np.zeros(d) # vector de parametros 6 # Normalizacion de caracteristicas (opcional pero recomendada ) 7 mean = np.mean(X, axis =0) 8 std = np.std(X, axis =0) + 1e-8 9 X_norm = (X - mean) / std 10 11 for epoch in range(epochs): 12 # Mezclar indices 13 indices = np.random. permutation (n) 14 X_shuffled = X_norm[indices] 15 y_shuffled = y[indices] 16 17 for start in range (0, n, batch_size): https://educateperuconsultores.com/ P´ ag. 68
  69. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 18 end = start +

    batch_size 19 X_batch = X_shuffled [start:end] 20 y_batch = y_shuffled [start:end] 21 22 # Forward: calcular predicciones 23 y_pred = np.dot(X_batch , theta) 24 # Error 25 error = y_pred - y_batch 26 # Gradiente (sin regularizacion ) 27 grad = (2.0 / len(X_batch)) * np.dot(X_batch.T, error) 28 # agregar regularizacion L2 29 grad += lambda_reg * theta 30 # Actualizacion 31 theta = theta - learning_rate * grad 32 33 return theta Ventajas de esta implementaci´ on: • Uso de operaciones matriciales de NumPy (altamente optimizadas en C y BLAS). • Soporte para mini-batches de tama˜ no configurable. • Normalizaci´ on de caracter´ ısticas para mejorar la convergencia. • Regularizaci´ on L2. Limitaciones: no incluye momento (momentum), no tiene programaci´ on de la tasa de aprendizaje (learning rate schedule) y la actualizaci´ on es SGD est´ andar. Para problemas no convexos o con gradientes ruidosos, estas extensiones son necesarias. 13.3 Implementaci´ on usando PyTorch PyTorch es un framework de aprendizaje profundo que proporciona diferenciaci´ on autom´ atica (autograd) y optimizadores predefinidos, incluyendo SGD, Adam, etc. La implementaci´ on de SGD con PyTorch es significativamente m´ as concisa y aprovecha la GPU si est´ a disponible. A continuaci´ on se muestra un ejemplo completo de entrenamiento de un modelo de regresi´ on log´ ıstica (o una red neuronal simple) con SGD usando PyTorch. 1 import torch 2 import torch.nn as nn 3 import torch.optim as optim 4 from torch.utils.data import DataLoader , TensorDataset 5 6 # Suponer que X y y son tensores de PyTorch 7 X_tensor = torch.tensor(X, dtype=torch.float32) 8 y_tensor = torch.tensor(y, dtype=torch.float32).view(-1, 1) 9 10 dataset = TensorDataset (X_tensor , y_tensor) 11 dataloader = DataLoader (dataset , batch_size =32, shuffle=True) 12 13 # Definir modelo (una capa lineal para regresion) 14 model = nn.Linear(d, 1) 15 16 # Funcion de perdida: error cuadratico medio 17 criterion = nn.MSELoss () 18 19 # Optimizador SGD con learning_rate y momentum 20 optimizer = optim.SGD(model.parameters (), lr =0.01 , momentum =0.9 , weight_decay =1e -5) 21 22 # Bucle de entrenamiento 23 num_epochs = 100 24 for epoch in range( num_epochs): 25 running_loss = 0.0 26 for batch_X , batch_y in dataloader : 27 # Zero gradientes 28 optimizer.zero_grad () 29 # Forward 30 outputs = model(batch_X) 31 loss = criterion(outputs , batch_y) 32 # Backward https://educateperuconsultores.com/ P´ ag. 69
  70. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 33 loss.backward () 34 #

    Actualizacion SGD (con momentum) 35 optimizer.step () 36 37 running_loss += loss.item () * batch_X.size (0) 38 39 epoch_loss = running_loss / len(dataset) 40 if (epoch +1) % 10 == 0: 41 print(f’Epoch {epoch +1}, Loss: {epoch_loss :.4f}’) 42 PyTorch permite cambiar f´ acilmente el optimizador a Adam o cualquier otra variante, as´ ı como agregar programaci´ on de la tasa de aprendizaje (scheduler). La diferenciaci´ on autom´ atica elimina la necesidad de calcular gradientes manualmente. Adem´ as, el uso de ‘DataLoader‘ maneja eficientemente la mezcla y la carga por lotes. 13.4 Implementaci´ on usando TensorFlow TensorFlow, especialmente con la API Keras, proporciona una experiencia de alto nivel similar a PyTorch. La implementaci´ on de SGD es directa y se integra con funciones de p´ erdida y m´ etricas predefinidas. 1 import tensorflow as tf 2 from tensorflow .keras.models import Sequential 3 from tensorflow .keras.layers import Dense 4 from tensorflow .keras. optimizers import SGD 5 6 # Construir modelo 7 model = Sequential ([ 8 Dense (64, activation =’relu ’, input_shape =(d,)), 9 Dense (64, activation =’relu ’), 10 Dense (1) 11 ]) 12 13 # Configurar optimizador SGD con momentum 14 optimizer = SGD( learning_rate =0.01 , momentum =0.9 , decay =1e -6) 15 16 # Compilar modelo 17 model.compile(optimizer=optimizer , loss=’mse ’, metrics =[’mae ’]) 18 19 # Entrenar (X_train e y_train son arrays de NumPy) 20 history = model.fit(X_train , y_train , batch_size =32, epochs =100 , 21 validation_split =0.2 , verbose =1) 22 TensorFlow maneja autom´ aticamente la paralelizaci´ on en GPU y la retropropagaci´ on. El historial devuelto por ‘fit‘ contiene las p´ erdidas y m´ etricas por ´ epoca, facilitando el monitoreo. 13.5 Vectorizaci´ on y eficiencia computacional La vectorizaci´ on es crucial para el rendimiento del SGD, especialmente con grandes conjuntos de datos. Se refiere a reemplazar bucles expl´ ıcitos por operaciones matriciales o tensoriales que pueden ejecutarse en paralelo en CPUs (mediante BLAS) o GPUs (CUDA). En Python puro, un bucle sobre millones de muestras es inaceptable; en cambio, NumPy permite procesar lotes enteros en una sola operaci´ on. Ejemplo: calcular la salida de una capa lineal para un mini-batch de tama˜ no m: • No vectorizado: bucle sobre m iteraciones, cada una con producto punto O(d) ⇒ O(md) con overhead de Python. • Vectorizado: una sola operaci´ on np.dot(X_batch,␣W) que ejecuta un kernel optimizado en C, con coste O(md) pero con constante mucho menor y aprovechando cach´ e. Las GPUs llevan la vectorizaci´ on al extremo: pueden realizar operaciones tensoriales en paralelo sobre miles de n´ ucleos. Frameworks como PyTorch y TensorFlow trasladan autom´ aticamente los tensores a la GPU cuando se llama a ‘.cuda()‘ o ‘tf.device(’/GPU:0’)‘. Para maximizar la eficiencia, se deben seguir estas pr´ acticas: • Utilizar el mayor tama˜ no de lote que quepa en la memoria de la GPU. https://educateperuconsultores.com/ P´ ag. 70
  71. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Evitar transferencias frecuentes de

    datos entre CPU y GPU. • Usar formatos de datos contiguos en memoria (por ejemplo, arrays de NumPy con ‘order=’C’‘). • Emplear operaciones vectorizadas en lugar de bucles expl´ ıcitos. • Aprovechar las funciones de ‘torch.nn.functional‘ o ‘tf.keras.layers‘ que est´ an optimizadas. 13.6 Uso de GPUs El uso de GPUs (Graphics Processing Units) es pr´ acticamente obligatorio para entrenar modelos profun- dos de tama˜ no mediano a grande. Las GPUs contienen miles de n´ ucleos especializados en operaciones de punto flotante que pueden ejecutar simult´ aneamente la misma instrucci´ on sobre diferentes datos (SIMD). El SGD, al ser inherentemente paralelizable a nivel de mini-batch, se beneficia enormemente. En PyTorch, el uso de GPU se habilita moviendo los tensores y el modelo al dispositivo CUDA: 1 device = torch.device(’cuda ’ if torch.cuda. is_available () else ’cpu ’) 2 model = model.to(device) 3 X_batch = X_batch.to(device) 4 y_batch = y_batch.to(device) 5 En TensorFlow/Keras, la GPU se usa autom´ aticamente si est´ a disponible, aunque se puede forzar con: 1 with tf.device(’/GPU :0’): 2 # construir y entrenar modelo 3 Para entrenamiento distribuido con m´ ultiples GPUs, PyTorch ofrece ‘DistributedDataParallel‘ y TensorFlow ofrece ‘tf.distribute.MirroredStrategy‘. Estos frameworks sincronizan los gradientes au- tom´ aticamente. Consideraciones importantes: • La memoria de la GPU limita el tama˜ no del lote; usar lotes demasiado grandes provoca errores de memoria (OOM). • La precisi´ on mixta (FP16) reduce el uso de memoria y acelera el c´ omputo, aunque requiere cuidado para evitar underflow/overflow. • El cuello de botella suele ser la transferencia de datos desde la CPU a la GPU; usar DataLoader con num_workers␣>␣0 y pin_memory=True en PyTorch. 13.7 Monitoreo de m´ etricas de entrenamiento El monitoreo de m´ etricas (p´ erdida, precisi´ on, etc.) durante el entrenamiento es esencial para diagnosticar problemas de convergencia, sobreajuste o divergencia. Las m´ etricas se calculan t´ ıpicamente al final de cada ´ epoca sobre el conjunto de entrenamiento y, opcionalmente, sobre un conjunto de validaci´ on. En PyTorch, se puede implementar manualmente: 1 train_losses = [] 2 val_losses = [] 3 for epoch in range( num_epochs): 4 model.train () 5 running_loss = 0.0 6 for batch_X , batch_y in train_loader : 7 optimizer.zero_grad () 8 outputs = model(batch_X) 9 loss = criterion(outputs , batch_y) 10 loss.backward () 11 optimizer.step () 12 running_loss += loss.item () * batch_X.size (0) 13 epoch_train_loss = running_loss / len( train_dataset ) 14 train_losses .append( epoch_train_loss ) 15 16 # Validacion 17 model.eval () 18 val_loss = 0.0 19 with torch.no_grad (): https://educateperuconsultores.com/ P´ ag. 71
  72. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 20 for batch_X , batch_y

    in val_loader : 21 outputs = model(batch_X) 22 loss = criterion(outputs , batch_y) 23 val_loss += loss.item () * batch_X.size (0) 24 epoch_val_loss = val_loss / len( val_dataset ) 25 val_losses.append( epoch_val_loss ) 26 27 print(f’Epoch {epoch +1}: train loss { epoch_train_loss :.4f}, val loss { epoch_val_loss :.4f}’) 28 En TensorFlow/Keras, el monitoreo es autom´ atico si se proporciona validation_data en fit. Adem´ as, se pueden usar callbacks como ‘EarlyStopping‘, ‘ModelCheckpoint‘ y ‘TensorBoard‘. Otras m´ etricas comunes incluyen: • Precisi´ on (accuracy) para clasificaci´ on. • ´ Area bajo la curva ROC (AUC). • Norma del gradiente (´ util para detectar explosi´ on). • Tiempo por iteraci´ on o por ´ epoca. El uso de ‘TensorBoard‘ (en PyTorch y TensorFlow) permite visualizar curvas en tiempo real y comparar ejecuciones. 13.8 Visualizaci´ on de curvas de p´ erdida La visualizaci´ on de las curvas de p´ erdida (training loss y validation loss) a lo largo de las ´ epocas pro- porciona informaci´ on valiosa sobre el comportamiento del SGD. Una curva decreciente sugiere que el algoritmo est´ a aprendiendo; si la p´ erdida de validaci´ on comienza a aumentar mientras la de entre- namiento sigue disminuyendo, es un signo de sobreajuste; una p´ erdida que fluct´ ua err´ aticamente puede deberse a una tasa de aprendizaje demasiado alta o a un lote demasiado peque˜ no. Ejemplo de visualizaci´ on con Matplotlib en Python: 1 import matplotlib .pyplot as plt 2 3 plt.figure(figsize =(10 ,5)) 4 plt.plot(train_losses , label=’Training Loss ’) 5 plt.plot(val_losses , label=’Validation Loss ’) 6 plt.xlabel(’Epoch ’) 7 plt.ylabel(’Loss ’) 8 plt.title(’Learning Curves ’) 9 plt.legend () 10 plt.grid(True) 11 plt.show () 12 Para comparar diferentes configuraciones (tama˜ nos de lote, tasas de aprendizaje, optimizadores), se pueden superponer m´ ultiples curvas en un mismo gr´ afico. Tambi´ en es ´ util visualizar la p´ erdida en escala logar´ ıtmica para apreciar mejor las fases iniciales de convergencia. Adem´ as de la p´ erdida, se pueden visualizar: • Precisi´ on (accuracy) para clasificaci´ on. • Norma de los gradientes (para detectar explosi´ on). • Distribuci´ on de pesos (histogramas) usando ‘torch.distributions‘ o ‘tf.summary.histogram‘. En entornos de notebooks (Jupyter), las visualizaciones interactivas con ‘plotly‘ o ‘wandb‘ (Weights & Biases) son muy ´ utiles para el seguimiento remoto de experimentos. 13.9 Reproducibilidad experimental La reproducibilidad es un pilar de la investigaci´ on cient´ ıfica. En el aprendizaje profundo, las fuentes de aleatoriedad incluyen la inicializaci´ on de pesos, la mezcla de datos, la selecci´ on de mini-batches y las operaciones en GPU (cuyo orden puede no ser determinista). Para garantizar que un experimento sea reproducible, se deben fijar las semillas aleatorias de todas las librer´ ıas involucradas. En Python con PyTorch y NumPy: https://educateperuconsultores.com/ P´ ag. 72
  73. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 1 import random 2 import

    numpy as np 3 import torch 4 5 def set_seed(seed =42): 6 random.seed(seed) 7 np.random.seed(seed) 8 torch. manual_seed (seed) 9 torch.cuda. manual_seed_all (seed) 10 torch.backends.cudnn. deterministic = True 11 torch.backends.cudnn.benchmark = False 12 13 set_seed (42) 14 Adem´ as, se recomienda: • Registrar la versi´ on exacta de las librer´ ıas (usando ‘pip freeze‘ o ‘conda list‘). • Guardar los hiperpar´ ametros y la configuraci´ on del modelo (p.ej., en un archivo JSON). • Almacenar los pesos del modelo final junto con el c´ odigo y las semillas. • Usar sistemas de control de versiones (git) y plataformas como DVC para datos. En TensorFlow/Keras, se puede fijar la semilla con: 1 tf.random.set_seed (42) 2 Sin embargo, la total determinismo en GPU es dif´ ıcil debido a la naturaleza paralela; puede ser necesario forzar la ejecuci´ on en CPU para una reproducibilidad exacta, sacrificando velocidad. 13.10 Buenas pr´ acticas de implementaci´ on Para finalizar, se enumeran una serie de buenas pr´ acticas que facilitan la implementaci´ on robusta y eficiente del SGD en proyectos reales. • Normalizar los datos de entrada: Restar la media y dividir por la desviaci´ on est´ andar por caracter´ ıstica. Esto mejora el n´ umero de condici´ on y acelera la convergencia. • Elegir una tasa de aprendizaje adecuada: Realizar una b´ usqueda en escala logar´ ıtmica (10−5 a 100). Utilizar schedules (step decay, cosine annealing) para mejorar la convergencia final. • Usar momentum o Adam: El momentum ayuda a atravesar mesetas y reduce oscilaciones. Adam es robusto y requiere menos ajuste de η. • Aplicar regularizaci´ on: Decaimiento de peso (L2) para evitar sobreajuste. En Adam, usar AdamW para desacoplar el decaimiento. • Implementar early stopping: Detener el entrenamiento cuando la p´ erdida de validaci´ on no mejore durante un n´ umero determinado de ´ epocas (paciencia). • Monitorear el gradiente: Calcular la norma del gradiente cada cierto n´ umero de iteraciones para detectar explosiones o desvanecimiento. • Usar precisi´ on mixta: Entrenar con FP16 para acelerar y reducir memoria, pero mantener una copia maestra de los pesos en FP32. • Guardar checkpoints: Almacenar los par´ ametros del modelo peri´ odicamente para poder re- anudar el entrenamiento en caso de interrupci´ on. • Perfilar el c´ odigo: Identificar cuellos de botella usando ‘torch.utils.bottleneck‘, ‘cProfile‘ o el profiler integrado de TensorFlow. • Documentar hiperpar´ ametros: Mantener un registro de todos los hiperpar´ ametros (tasa de aprendizaje, tama˜ no de lote, optimizador, etc.) para cada ejecuci´ on. Adem´ as, al desarrollar en un entorno de producci´ on, se deben considerar: https://educateperuconsultores.com/ P´ ag. 73
  74. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Validaci´ on cruzada: Para

    estimar la generalizaci´ on. • Aumento de datos (data augmentation): Generar variaciones de las muestras de entre- namiento. • Sincronizaci´ on en entrenamiento distribuido: Usar ‘DistributedDataParallel‘ en lugar de ‘DataParallel‘ para evitar cuellos de botella. • Pruebas unitarias: Verificar que el gradiente calculado coincide con una aproximaci´ on num´ erica (gradient checking) durante el desarrollo. La combinaci´ on de estas buenas pr´ acticas asegura que el SGD se ejecute de manera eficiente, sea reproducible y produzca modelos con buen rendimiento. Conclusi´ on del cap´ ıtulo: La implementaci´ on del SGD abarca desde versiones b´ asicas en Python puro hasta optimizaciones de alto rendimiento con GPUs y frameworks especializados. La vectorizaci´ on, el uso de mini-batches y el monitoreo de m´ etricas son esenciales para la eficiencia y el diagn´ ostico. La reproducibilidad y las buenas pr´ acticas garantizan que los experimentos sean confiables y los resultados sean transferibles. Con estas herramientas, el profesional puede aplicar SGD a problemas reales de aprendizaje autom´ atico y profundo de manera efectiva. 14 Experimentos Num´ ericos y Casos de Estudio 14.1 Optimizaci´ on de una funci´ on cuadr´ atica El primer experimento consiste en minimizar una funci´ on cuadr´ atica convexa simple en una variable, que sirve como banco de pruebas para entender el comportamiento b´ asico del SGD. Consideramos la funci´ on: f(x) = 1 2 x2, (156) cuyo m´ ınimo global es x∗ = 0 con f(x∗) = 0. El gradiente determinista es f′(x) = x, mientras que una versi´ on estoc´ astica puede simularse a˜ nadiendo ruido gaussiano al gradiente: ˜ f′(x) = x + ϵ, con ϵ ∼ N(0, σ2). Esto modela el gradiente de una muestra individual cuando la funci´ on de p´ erdida es una suma de cuadrados con diferentes centros. Implementamos SGD con tasa de aprendizaje constante η para esta funci´ on estoc´ astica. La actual- izaci´ on es: xt+1 = xt − η(xt + ϵt ). (157) El siguiente c´ odigo realiza el experimento y compara la trayectoria del SGD con la del descenso del gradiente determinista. 1 import numpy as np 2 import matplotlib .pyplot as plt 3 4 def f(x): 5 return 0.5 * x**2 6 7 def gradient(x): 8 return x 9 10 np.random.seed (42) 11 eta = 0.1 12 sigma = 0.5 13 iterations = 100 14 x_gd = [1.0] # initial point 15 x_sgd = [1.0] 16 17 for t in range( iterations): 18 # Gradient descent 19 x_new_gd = x_gd [-1] - eta * gradient(x_gd [ -1]) 20 x_gd.append(x_new_gd) 21 # Stochastic gradient descent 22 noise = np.random.normal (0, sigma) https://educateperuconsultores.com/ P´ ag. 74
  75. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 23 x_new_sgd = x_sgd [-1]

    - eta * (gradient(x_sgd [ -1]) + noise) 24 x_sgd.append(x_new_sgd) 25 26 plt.figure(figsize =(10 ,6)) 27 plt.plot(x_gd , label=’GD deterministic ’) 28 plt.plot(x_sgd , label=’SGD with noise ’) 29 plt.xlabel(’Iteration ’) 30 plt.ylabel(’x value ’) 31 plt.legend () 32 plt.title(’Convergence of GD and SGD on quadratic function ’) 33 plt.grid(True) 34 plt.show () 35 Los resultados muestran que el GD converge suavemente a cero, mientras que el SGD oscila alrededor del m´ ınimo con una amplitud dependiente de σ y η. La varianza asint´ otica te´ orica para este caso es ησ2 2 (para η peque˜ no). Este experimento ilustra el compromiso entre velocidad de convergencia (determinista) y capacidad de exploraci´ on (estoc´ astico). 14.2 Comparaci´ on entre GD y SGD Para una comparaci´ on m´ as realista, consideramos una funci´ on cuadr´ atica en dos dimensiones con un n´ umero de condici´ on elevado. Sea: f(x) = 1 2 xT Ax, A = 1 0 0 κ , (158) con κ = 100. El gradiente es ∇f(x) = Ax. El GD determinista converge con tasa lineal pero sufre de zigzag debido al mal condicionamiento. Para simular SGD, a˜ nadimos ruido al gradiente con varianza σ2 = 0.1 en cada componente. Implementamos ambos algoritmos y registramos la distancia al m´ ınimo ∥xt ∥2 a lo largo de las itera- ciones. 1 def quadratic_gradient (x, A): 2 return A @ x 3 4 A = np.array ([[1.0 , 0.0] , [0.0 , 100.0]]) 5 x0 = np.array ([1.0 , 1.0]) 6 eta = 0.01 7 iterations = 200 8 sigma = 0.1 9 10 x_gd = x0.copy () 11 x_sgd = x0.copy () 12 dist_gd = [] 13 dist_sgd = [] 14 15 for t in range( iterations): 16 grad_gd = quadratic_gradient (x_gd , A) 17 x_gd = x_gd - eta * grad_gd 18 dist_gd.append(np.linalg.norm(x_gd)**2) 19 20 grad_sgd = quadratic_gradient (x_sgd , A) + sigma * np.random.randn (2) 21 x_sgd = x_sgd - eta * grad_sgd 22 dist_sgd.append(np.linalg.norm(x_sgd)**2) 23 Observamos que el GD converge monot´ onicamente, mientras que el SGD converge m´ as r´ apido al principio debido a la exploraci´ on, pero luego oscila. En t´ erminos de tiempo computacional, el GD requiere el gradiente completo (costo O(d)), pero aqu´ ı ambos tienen costo similar porque la funci´ on es peque˜ na. La ventaja del SGD se aprecia cuando f es una suma de muchos t´ erminos; en ese caso el GD ser´ ıa prohibitivo. 14.3 Efecto del learning rate La tasa de aprendizaje es el hiperpar´ ametro m´ as sensible. Realizamos un barrido sobre η en el problema de la funci´ on cuadr´ atica unidimensional con ruido. Probamos η ∈ {0.01, 0.1, 0.5, 1.0, 1.5}. Para cada valor, ejecutamos SGD durante 100 iteraciones y medimos la p´ erdida final promedio sobre 10 ejecuciones. https://educateperuconsultores.com/ P´ ag. 75
  76. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 1 etas = [0.01 ,

    0.1, 0.5, 1.0, 1.5] 2 final_losses = [] 3 for eta in etas: 4 losses = [] 5 for _ in range (10): 6 x = 1.0 7 for _ in range (100): 8 noise = np.random.normal (0, 0.5) 9 grad = x + noise 10 x = x - eta * grad 11 losses.append (0.5*x**2) 12 final_losses .append(np.mean(losses)) 13 Los resultados t´ ıpicos muestran que η demasiado peque˜ no (0.01) da una convergencia lenta y p´ erdida final alta. Un valor moderado (0.1) produce buena convergencia. η = 0.5 puede oscilar pero a´ un converge a una vecindad. η = 1.0 puede divergir o producir grandes oscilaciones. η = 1.5 casi siempre diverge. Este experimento subraya la importancia de sintonizar η cuidadosamente, t´ ıpicamente mediante b´ usqueda en escala logar´ ıtmica. 14.4 Impacto del tama˜ no del mini-batch En problemas con datos, el tama˜ no del mini-batch afecta la varianza del gradiente y la velocidad de con- vergencia en tiempo real. Consideramos un problema de regresi´ on lineal con n = 10000 muestras gener- adas sint´ eticamente: yi = θT xi +ϵi , con ϵi ∼ N(0, 0.1). El gradiente completo tiene costo O(nd), mientras que un mini-batch de tama˜ no m tiene costo O(md). Evaluamos tama˜ nos de lote m ∈ {1, 10, 100, 1000} y medimos el tiempo de CPU y la p´ erdida de validaci´ on despu´ es de 10 ´ epocas. 1 import time 2 from sklearn.datasets import make_regression 3 4 X, y = make_regression (n_samples =10000 , n_features =10, noise =0.1 , random_state =42) 5 X = (X - X.mean(axis =0)) / X.std(axis =0) # normalize 6 7 def mse_gradient (theta , X_batch , y_batch): 8 pred = X_batch @ theta 9 error = pred - y_batch 10 return (2.0 / len(X_batch)) * X_batch.T @ error 11 12 batch_sizes = [1, 10, 100, 1000] 13 for m in batch_sizes : 14 theta = np.zeros (10) 15 start = time.time () 16 for epoch in range (10): 17 indices = np.random. permutation (len(X)) 18 for i in range (0, len(X), m): 19 batch = indices[i:i+m] 20 Xb = X[batch] 21 yb = y[batch] 22 grad = mse_gradient (theta , Xb , yb) 23 theta = theta - 0.01 * grad 24 elapsed = time.time () - start 25 print(f"Batch size {m}, time {elapsed :.2f} s") 26 Los resultados muestran que lotes peque˜ nos (m = 1) tienen muchas iteraciones pero cada una es barata; sin embargo, la alta varianza puede requerir m´ as ´ epocas para converger. Lotes grandes (m = 1000) reducen la varianza y permiten un progreso m´ as estable por ´ epoca, pero el tiempo por ´ epoca es mayor. El tiempo total ´ optimo suele estar en un rango intermedio (m = 100). Adem´ as, la calidad de la soluci´ on final (p´ erdida de validaci´ on) a menudo es mejor con lotes peque˜ nos debido a la regularizaci´ on impl´ ıcita, aunque requiere m´ as iteraciones. 14.5 Comparaci´ on entre SGD y Adam Para comparar optimizadores, entrenamos una red neuronal simple (una capa oculta de 128 neuronas con ReLU) para clasificaci´ on de d´ ıgitos MNIST. Utilizamos SGD con momentum (β = 0.9) y Adam (β1 = 0.9, β2 = 0.999) con la misma tasa de aprendizaje inicial η = 0.001. Monitoreamos la precisi´ on en el conjunto de prueba despu´ es de cada ´ epoca. https://educateperuconsultores.com/ P´ ag. 76
  77. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso El c´ odigo en PyTorch:

    1 import torch 2 import torch.nn as nn 3 import torch.optim as optim 4 from torchvision import datasets , transforms 5 6 # Load MNIST 7 transform = transforms.Compose ([ transforms .ToTensor (), transforms .Normalize ((0.1307 ,) , (0.3081 ,))]) 8 train_loader = torch.utils.data. DataLoader (datasets.MNIST(’data ’, train=True , download=True , transform=transform), batch_size =64, shuffle=True) 9 test_loader = torch.utils.data. DataLoader (datasets.MNIST(’data ’, train=False , transform=transform), batch_size =1000) 10 11 model = nn. Sequential(nn.Flatten (), nn.Linear (784 , 128) , nn.ReLU (), nn.Linear (128 , 10)) 12 criterion = nn. CrossEntropyLoss () 13 14 optimizer_sgd = optim.SGD(model. parameters (), lr =0.001 , momentum =0.9) 15 optimizer_adam = optim.Adam(model. parameters (), lr =0.001) 16 17 def train(optimizer , epochs =10): 18 model.train () 19 accuracies = [] 20 for epoch in range(epochs): 21 for data , target in train_loader : 22 optimizer.zero_grad () 23 output = model(data) 24 loss = criterion(output , target) 25 loss.backward () 26 optimizer.step () 27 # Evaluation 28 correct = 0 29 total = 0 30 model.eval () 31 with torch.no_grad (): 32 for data , target in test_loader : 33 output = model(data) 34 pred = output.argmax(dim =1) 35 correct += (pred == target).sum ().item () 36 total += target.size (0) 37 acc = correct / total 38 accuracies.append(acc) 39 model.train () 40 return accuracies 41 Los resultados t´ ıpicos muestran que Adam converge m´ as r´ apido en las primeras ´ epocas (alcanza 97% de precisi´ on en 2-3 ´ epocas), mientras que SGD con momentum alcanza una precisi´ on similar pero tarda m´ as. Sin embargo, en tareas de visi´ on por computadora con redes m´ as profundas, SGD con momentum y step decay suele obtener la mejor precisi´ on final, aunque requiere m´ as ajuste de hiperpar´ ametros. 14.6 Entrenamiento de una red neuronal simple Para demostrar el flujo completo de entrenamiento con SGD, implementamos un clasificador multicapa (MLP) en PyTorch sobre el dataset MNIST, con regularizaci´ on L2 (weight decay). El c´ odigo completo incluye: 1 import torch 2 import torch.nn as nn 3 import torch.optim as optim 4 from torch.utils.data import DataLoader 5 from torchvision import datasets , transforms 6 7 # Hyperparameters 8 batch_size = 64 9 learning_rate = 0.01 10 momentum = 0.9 11 weight_decay = 1e-4 12 epochs = 10 13 https://educateperuconsultores.com/ P´ ag. 77
  78. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 14 # Data 15 transform

    = transforms .Compose ([ transforms .ToTensor (), transforms .Normalize ((0.1307 ,) , (0.3081 ,))]) 16 train_dataset = datasets.MNIST(’./ data ’, train=True , download=True , transform= transform) 17 test_dataset = datasets.MNIST(’./ data ’, train=False , transform=transform) 18 train_loader = DataLoader (train_dataset , batch_size =batch_size , shuffle=True) 19 test_loader = DataLoader (test_dataset , batch_size =1000) 20 21 # Model 22 class MLP(nn.Module): 23 def __init__(self): 24 super ().__init__ () 25 self.fc1 = nn.Linear (28*28 , 256) 26 self.relu = nn.ReLU () 27 self.fc2 = nn.Linear (256 , 128) 28 self.fc3 = nn.Linear (128 , 10) 29 def forward(self , x): 30 x = x.view(-1, 28*28) 31 x = self.relu(self.fc1(x)) 32 x = self.relu(self.fc2(x)) 33 x = self.fc3(x) 34 return x 35 36 model = MLP () 37 criterion = nn. CrossEntropyLoss () 38 optimizer = optim.SGD(model.parameters (), lr=learning_rate , momentum=momentum , weight_decay = weight_decay ) 39 40 # Training loop 41 for epoch in range(epochs): 42 model.train () 43 total_loss = 0 44 for images , labels in train_loader : 45 optimizer.zero_grad () 46 outputs = model(images) 47 loss = criterion(outputs , labels) 48 loss.backward () 49 optimizer.step () 50 total_loss += loss.item () 51 print(f’Epoch {epoch +1}, Loss: {total_loss /len( train_loader ):.4f}’) 52 53 # Test accuracy 54 correct = 0 55 total = 0 56 model.eval () 57 with torch.no_grad (): 58 for images , labels in test_loader : 59 outputs = model(images) 60 _, predicted = torch.max(outputs , 1) 61 total += labels.size (0) 62 correct += (predicted == labels).sum ().item () 63 print(f’Test accuracy: {100* correct/total :.2f}%’) 64 Este entrenamiento alcanza t´ ıpicamente una precisi´ on superior al 97% despu´ es de 10 ´ epocas. Ilustra la aplicaci´ on pr´ actica del SGD en un problema real. 14.7 Experimentos sobre datasets reales M´ as all´ a de MNIST, podemos ejecutar experimentos en datasets m´ as desafiantes como CIFAR-10, que contiene 50,000 im´ agenes a color de 32x32 p´ ıxeles en 10 clases. Utilizamos una red convolucional simple (CNN) y comparamos SGD con Adam. Los hiperpar´ ametros se ajustan mediante validaci´ on cruzada. El experimento mostrar´ ıa que SGD con momentum y step decay (reducci´ on de la tasa de aprendizaje a 0.1 cada 30 ´ epocas) puede alcanzar una precisi´ on cercana al 80% en CIFAR-10 despu´ es de 100 ´ epocas, mientras que Adam puede converger m´ as r´ apido pero a veces con una precisi´ on ligeramente inferior. Tambi´ en se puede experimentar con tama˜ no de lote: lotes peque˜ nos (32) generalizan mejor que lotes grandes (256). Estos resultados confirman la literatura. Adem´ as, se puede probar con el dataset de precios de viviendas de Boston (regresi´ on) para comparar SGD con soluci´ on anal´ ıtica. El SGD lineal converge a la misma soluci´ on con suficiente n´ umero de ´ epocas, https://educateperuconsultores.com/ P´ ag. 78
  79. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso pero es m´ as lento

    en t´ erminos de iteraciones; sin embargo, si el dataset es muy grande, SGD es la ´ unica opci´ on. 14.8 Visualizaci´ on de trayectorias de convergencia Para visualizar las trayectorias del SGD en un espacio de dos dimensiones, consideramos una funci´ on de Beale, que tiene varios m´ ınimos locales y un m´ ınimo global en (3, 0.5). Definimos: f(x, y) = (1.5 − x + xy)2 + (2.25 − x + xy2)2 + (2.625 − x + xy3)2. (159) Ejecutamos SGD con mini-batches (simulando ruido) y graficamos la trayectoria de θt = (xt , yt ) superpuesta en un mapa de contorno de f. 1 import numpy as np 2 import matplotlib .pyplot as plt 3 4 def beale(x, y): 5 return (1.5 - x + x*y)**2 + (2.25 - x + x*y**2) **2 + (2.625 - x + x*y**3) **2 6 7 def grad_beale(x, y): 8 # derivadas analiticas omitidas por brevedad 9 return (dfdx , dfdy) 10 11 # SGD simulation 12 x, y = [-2.0], [ -1.0] 13 eta = 0.01 14 steps = 100 15 for _ in range(steps): 16 gx , gy = grad_beale (x[-1], y[ -1]) 17 # agregar ruido 18 gx += 0.1 * np.random.randn () 19 gy += 0.1 * np.random.randn () 20 x.append(x[-1] - eta * gx) 21 y.append(y[-1] - eta * gy) 22 23 # Plot contours and trajectory 24 X, Y = np.meshgrid(np.linspace (-4, 4, 200) , np.linspace (-3, 3, 200)) 25 Z = beale(X, Y) 26 plt.contour(X, Y, Z, levels =50, cmap=’viridis ’) 27 plt.plot(x, y, ’r-’, linewidth =2, label=’SGD path ’) 28 plt.plot(x[0], y[0], ’go’, label=’Start ’) 29 plt.plot(3, 0.5, ’r*’, markersize =12, label=’Global min ’) 30 plt.legend () 31 plt.show () 32 La trayectoria muestra un comportamiento err´ atico, pero eventualmente se acerca al m´ ınimo global. El ruido ayuda a escapar de m´ ınimos locales superficiales. Esta visualizaci´ on es ´ util para intuir la din´ amica del SGD en paisajes no convexos. 14.9 Sensibilidad a hiperpar´ ametros Para cuantificar la sensibilidad del SGD a los hiperpar´ ametros, realizamos un estudio de barrido sis- tem´ atico sobre η y el tama˜ no del lote m en el problema de regresi´ on log´ ıstica sobre el dataset breast_cancer (569 muestras, 30 caracter´ ısticas). Usamos validaci´ on cruzada 5-fold y medimos el AUC promedio. Los hiperpar´ ametros probados: • η ∈ {10−4, 10−3, 10−2, 10−1} • m ∈ {1, 8, 32, 128} (el dataset tiene 569 muestras, as´ ı que 128 es aproximadamente 1/4) Los resultados se presentan en una tabla de calor. Se observa que para η muy peque˜ no (10−4) la convergencia es lenta y el AUC es bajo. η = 10−2 funciona bien para casi todos los m. Para m = 1, el AUC es ligeramente superior (efecto regularizador) pero la varianza entre folds es mayor. m = 128 produce AUC m´ as estable pero ligeramente inferior. El mejor compromiso es η = 0.01 y m = 32. Este experimento subraya la necesidad de sintonizar hiperpar´ ametros, pero tambi´ en la robustez del SGD en un rango razonable. https://educateperuconsultores.com/ P´ ag. 79
  80. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 14.10 Evaluaci´ on del costo

    computacional Finalmente, evaluamos el costo computacional del SGD en t´ erminos de operaciones y tiempo real. Para ello, medimos el tiempo por iteraci´ on y el tiempo total para alcanzar una precisi´ on objetivo en el problema de regresi´ on lineal con n = 106 muestras y d = 100 caracter´ ısticas. Comparamos SGD con lote de tama˜ no m = 1, m = 100 y el gradiente completo GD. 1 import time 2 import numpy as np 3 4 n, d = 1_000_000 , 100 5 X = np.random.randn(n, d) 6 y = np.random.randn(n) 7 8 def gradient_full (theta , X, y): 9 pred = X @ theta 10 error = pred - y 11 return (2.0 / n) * X.T @ error 12 13 # GD completo 14 theta = np.zeros(d) 15 start = time.time () 16 grad = gradient_full (theta , X, y) 17 elapsed_full = time.time () - start 18 print(f"Full gradient time: { elapsed_full :.2f} s") 19 20 # SGD batch size 1 21 theta = np.zeros(d) 22 start = time.time () 23 for i in range (1000): # 1000 iteraciones 24 idx = np.random.randint (0, n) 25 xi = X[idx:idx +1] 26 yi = y[idx:idx +1] 27 pred = xi @ theta 28 error = pred - yi 29 grad = 2.0 * xi.T @ error 30 theta = theta - 0.01 * grad 31 elapsed_sgd1 = time.time () - start 32 print(f"SGD (m=1) 1000 iter time: { elapsed_sgd1 :.2f} s") 33 34 # SGD batch size 100 35 theta = np.zeros(d) 36 start = time.time () 37 for _ in range (1000): 38 idx = np.random.choice(n, 100, replace=False) 39 Xb = X[idx] 40 yb = y[idx] 41 pred = Xb @ theta 42 error = pred - yb 43 grad = (2.0 / 100) * Xb.T @ error 44 theta = theta - 0.01 * grad 45 elapsed_sgd100 = time.time () - start 46 print(f"SGD (m=100) 1000 iter time: { elapsed_sgd100 :.2f} s") 47 Los resultados muestran que el gradiente completo cuesta aproximadamente O(nd) operaciones y puede tomar segundos o minutos dependiendo de n. SGD con m = 1 realiza 1000 iteraciones en un tiempo mucho menor (pocos milisegundos si d = 100 est´ a optimizado). SGD con m = 100 toma aproximadamente 100 veces m´ as que m = 1 si no hay vectorizaci´ on, pero con NumPy vectorizado el factor es menor (quiz´ as 10-20 veces). El tiempo total para alcanzar una precisi´ on ϵ ser´ a menor para SGD que para GD si n es grande. Este experimento confirma la superioridad del SGD en escalabilidad. Conclusi´ on del cap´ ıtulo: Los experimentos num´ ericos presentados ilustran de manera concreta el comportamiento del SGD en una variedad de escenarios: desde funciones cuadr´ aticas simples hasta redes neuronales profundas en datasets reales. Se ha demostrado la sensibilidad a la tasa de aprendizaje y al tama˜ no del mini-batch, as´ ı como las ventajas del SGD sobre el GD completo en t´ erminos de costo computacional. La comparaci´ on con Adam revela que ambos optimizadores tienen nichos de aplicaci´ on. Las visualizaciones de trayectorias y el an´ alisis de sensibilidad proporcionan herramientas pr´ acticas para sintonizar hiperpar´ ametros. En conjunto, estos casos de estudio consolidan los conceptos te´ oricos y https://educateperuconsultores.com/ P´ ag. 80
  81. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso ofrecen una gu´ ıa para

    la aplicaci´ on efectiva del SGD en proyectos de aprendizaje autom´ atico. 15 Ventajas y Limitaciones del SGD 15.1 Simplicidad algor´ ıtmica El Stochastic Gradient Descent (SGD) es uno de los algoritmos de optimizaci´ on m´ as simples de entender e implementar. Su regla de actualizaci´ on se puede escribir en una sola l´ ınea: θt+1 = θt − ηt ∇Jit (θt ), (160) donde la ´ unica operaci´ on requerida es la evaluaci´ on del gradiente de la funci´ on de p´ erdida para una muestra (o un mini-batch). A diferencia de los m´ etodos de segundo orden, no requiere calcular ni almacenar matrices Hessianas, ni resolver sistemas lineales. Tampoco necesita t´ ecnicas avanzadas de b´ usqueda de l´ ınea o regiones de confianza. Esta simplicidad tiene varias consecuencias pr´ acticas: • Facilidad de implementaci´ on: El algoritmo puede ser codificado desde cero en pocas l´ ıneas de Python, como se mostr´ o en secciones anteriores. Esto permite a los estudiantes e investigadores comprender sus fundamentos sin necesidad de infraestructura compleja. • Bajo overhead por iteraci´ on: La ausencia de operaciones costosas (como inversi´ on de matrices) hace que cada iteraci´ on sea extremadamente r´ apida, incluso en hardware modesta. • Depuraci´ on y an´ alisis: La simplicidad facilita la depuraci´ on de errores y el an´ alisis te´ orico. Los teoremas de convergencia para SGD son m´ as accesibles que para m´ etodos m´ as sofisticados. • Flexibilidad: SGD se puede adaptar f´ acilmente a distintas funciones de p´ erdida, regularizaciones y arquitecturas de modelos. A˜ nadir t´ ermino de decaimiento de peso o usar subgradientes para p´ erdidas no suaves es inmediato. • Base para extensiones: La mayor´ ıa de los optimizadores modernos (Momentum, Adam, etc.) son variantes del SGD que a˜ naden complejidad de forma incremental, pero el n´ ucleo sigue siendo la actualizaci´ on estoc´ astica. Sin embargo, la simplicidad tambi´ en tiene un reverso: el SGD b´ asico puede ser demasiado ingenuo para problemas con paisajes complejos, requiriendo extensiones como momento o tasas adaptativas. No obstante, en su forma pura, el SGD sigue siendo una herramienta poderosa y es el punto de partida para cualquier estudio de optimizaci´ on en aprendizaje autom´ atico. 15.2 Bajo costo computacional por iteraci´ on Una de las ventajas m´ as significativas del SGD es su bajo costo computacional por iteraci´ on. Mientras que el m´ etodo de gradiente completo requiere evaluar ∇J(θ) = 1 n n i=1 ∇Ji (θ), con un costo O(nd) (donde n es el n´ umero de muestras y d es el n´ umero de par´ ametros), el SGD de muestra ´ unica tiene costo O(d) por iteraci´ on. Para mini-batches de tama˜ no m, el costo es O(md), y t´ ıpicamente m ≪ n. Para conjuntos de datos masivos (n del orden de millones o miles de millones), la diferencia es abis- mal. Por ejemplo, para entrenar un modelo de lenguaje con n = 109 muestras y d = 108 par´ ametros, una iteraci´ on del gradiente completo requerir´ ıa 1017 operaciones, lo cual es inviable incluso con super- computadoras. En cambio, el SGD con m = 256 requiere 2.56 × 1010 operaciones por iteraci´ on, varios ´ ordenes de magnitud menor. El bajo costo por iteraci´ on permite realizar muchas actualizaciones en poco tiempo, lo que a menudo conduce a una convergencia m´ as r´ apida en t´ erminos de tiempo real, aunque se requieran m´ as iteraciones en comparaci´ on con m´ etodos deterministas. Adem´ as, cada iteraci´ on del SGD puede procesarse con un uso eficiente de la memoria cache, ya que solo necesita un peque˜ no lote de datos. En la pr´ actica, el costo computacional se puede medir en flops (operaciones de punto flotante por segundo). Las GPUs modernas pueden realizar del orden de 1013 flops, por lo que una iteraci´ on de SGD con m = 256 y d = 108 toma aproximadamente 2.56 × 1010/1013 = 2.56 milisegundos, lo que permite decenas de miles de iteraciones por segundo. El gradiente completo, en cambio, tomar´ ıa horas o d´ ıas. https://educateperuconsultores.com/ P´ ag. 81
  82. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso 15.3 Escalabilidad La escalabilidad del

    SGD se refiere a su capacidad para manejar problemas de tama˜ no creciente (m´ as muestras, m´ as par´ ametros) sin un aumento desproporcionado del tiempo de c´ omputo. El SGD es inher- entemente escalable por varias razones: • Escalabilidad en n: El costo por iteraci´ on no depende de n (para muestra ´ unica) o depende linealmente de m (independiente de n). Por lo tanto, duplicar n no aumenta el costo por iteraci´ on; solo puede requerir m´ as ´ epocas para procesar todos los datos, pero cada ´ epoca cuesta O(n) en tiempo. Sin embargo, la convergencia en t´ erminos de n´ umero de ´ epocas suele ser independiente de n para problemas convexos. En la pr´ actica, se puede entrenar con un subconjunto de los datos (subsampling) sin perder precisi´ on. • Escalabilidad en d: El costo por iteraci´ on es O(md). Para d muy grandes (miles de millones), el costo lineal puede ser alto, pero a´ un es manejable con hardware paralelo. Adem´ as, las vari- antes como SGD con gradientes dispersos (para modelos como factorizaci´ on de matrices) pueden aprovechar la sparsidad para reducir el costo efectivo. • Escalabilidad en hardware: El SGD es naturalmente paralelizable en el nivel de mini-batch. Puede distribuirse en m´ ultiples GPUs/TPUs mediante paralelismo de datos, logrando una acel- eraci´ on casi lineal hasta un n´ umero moderado de dispositivos. Tambi´ en se puede implementar de forma as´ ıncrona (Hogwild!) para evitar cuellos de botella de comunicaci´ on. Esta escalabilidad ha permitido el entrenamiento de modelos con m´ as de 100 mil millones de par´ ametros (como GPT-3) sobre conjuntos de datos de terabytes. Ning´ un m´ etodo de optimizaci´ on de segundo orden puede escalar a estas dimensiones debido a sus requerimientos de memoria y c´ omputo supercuadr´ aticos. 15.4 Robustez en datasets masivos Cuando se trabaja con datasets masivos, el SGD muestra una robustez notable frente a varias imperfec- ciones: • Redundancia de datos: En conjuntos de datos muy grandes, muchas muestras son redundantes o contienen informaci´ on similar. El SGD, al procesar solo una fracci´ on, evita el sobreentrenamiento en detalles irrelevantes y se concentra en patrones generales. • Presencia de valores at´ ıpicos (outliers): El ruido estoc´ astico y la actualizaci´ on basada en lotes peque˜ nos hacen que el SGD sea menos sensible a outliers individuales. Un outlier extremo podr´ ıa corromper el gradiente completo, mientras que en SGD solo afecta a unas pocas actualizaciones. • Memoria limitada: El SGD puede entrenarse en modo online (streaming) sin necesidad de cargar todo el dataset en memoria. Esto es crucial cuando el conjunto de datos es m´ as grande que la RAM disponible. • Adaptabilidad a datos no estacionarios: En aplicaciones donde la distribuci´ on de los datos cambia con el tiempo (concept drift), el SGD puede seguir aprendiendo continuamente, mientras que los m´ etodos batch requerir´ ıan reentrenamientos completos. Adem´ as, la naturaleza estoc´ astica del SGD act´ ua como un regularizador impl´ ıcito, mejorando la gen- eralizaci´ on en comparaci´ on con el gradiente completo, especialmente cuando el n´ umero de par´ ametros es grande. Esto ha sido observado emp´ ıricamente en innumerables estudios: el SGD con lotes peque˜ nos produce modelos que generalizan mejor que aquellos entrenados con lotes grandes o con gradiente com- pleto. 15.5 Sensibilidad al learning rate A pesar de sus muchas ventajas, el SGD tiene limitaciones significativas. La m´ as cr´ ıtica es su sensibilidad a la tasa de aprendizaje (learning rate) η. Una elecci´ on inadecuada puede provocar: • Convergencia extremadamente lenta: Si η es demasiado peque˜ na, la reducci´ on de la p´ erdida por iteraci´ on es min´ uscula, y se necesitan millones de iteraciones para progresar. Esto es ineficiente en t´ erminos de tiempo real. https://educateperuconsultores.com/ P´ ag. 82
  83. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Divergencia: Si η es

    demasiado grande, las actualizaciones pueden hacer que la p´ erdida aumente sin control, llevando a valores NaN (Not a Number) en los par´ ametros o en la p´ erdida. En funciones cuadr´ aticas convexas, la condici´ on de estabilidad es η < 2/λmax , donde λmax es el mayor autovalor de la Hessiana. En problemas no convexos, el l´ ımite es m´ as complejo. • Oscilaciones alrededor del ´ optimo: Para tasas constantes, el SGD no converge al m´ ınimo exacto, sino que oscila con una amplitud proporcional a ησ2. Para obtener alta precisi´ on, es necesario disminuir η gradualmente. • Atrapamiento en puntos silla o m´ ınimos pobres: Un η inapropiado puede hacer que el SGD no tenga suficiente energ´ ıa para escapar de puntos silla (si es muy peque˜ no) o puede saltar demasiado lejos de buenos m´ ınimos (si es muy grande). La sensibilidad se agrava porque el rango de η que funciona bien puede variar en varios ´ ordenes de magnitud dependiendo del problema, la arquitectura del modelo y la escala de los datos. Por ejemplo, para redes convolucionales en ImageNet, η ´ optimo suele estar alrededor de 0.1 con step decay; para Transformers, valores de 10−4 a 10−5 son comunes; para modelos de regresi´ on lineal con caracter´ ısticas normalizadas, 0.01 puede ser adecuado. Encontrar el η correcto requiere b´ usqueda por fuerza bruta (grid search) o t´ ecnicas m´ as sofisticadas como b´ usqueda bayesiana, lo que consume recursos. Para mitigar esta sensibilidad, se han desarrollado m´ etodos adaptativos (Adam, RMSProp) que ajustan la tasa por par´ ametro, reduciendo la dependencia del η global. Sin embargo, incluso estos m´ etodos requieren sintonizaci´ on. 15.6 Convergencia ruidosa El SGD produce trayectorias ruidosas debido a la varianza del estimador del gradiente. Este ruido, aunque beneficioso para la generalizaci´ on, tiene efectos negativos: • Convergencia no mon´ otona: A diferencia del gradiente determinista, la p´ erdida puede aumentar de una iteraci´ on a la siguiente. Esto dificulta el diagn´ ostico del progreso y requiere promediar o suavizar las curvas de p´ erdida. • Precisi´ on limitada con tasa constante: Como se mencion´ o, el SGD con η constante no converge a un punto cr´ ıtico exacto, sino que oscila en una vecindad de radio O( ησ2). Para aplicaciones que requieren alta precisi´ on (por ejemplo, 10−6 en problemas convexos), es necesario reducir η, lo que ralentiza la convergencia. • Necesidad de promediado: Para obtener estimaciones precisas del m´ ınimo, a menudo se pro- median las iteraciones (Polyak-Ruppert averaging) o se utilizan tasas decrecientes. El promediado reduce la varianza pero requiere almacenar el promedio o calcularlo online. • Mayor n´ umero de iteraciones: En comparaci´ on con m´ etodos de segundo orden, el SGD puede necesitar muchos m´ as pasos (aunque cada paso es m´ as barato). En problemas mal condicionados, el n´ umero de iteraciones puede ser enorme. El ruido tambi´ en puede causar que el SGD escape de m´ ınimos locales buenos si la tasa de aprendizaje es demasiado alta, impidiendo la convergencia estable. Por ello, es habitual combinar SGD con una programaci´ on de la tasa (learning rate schedule) que comience con un valor moderado y luego disminuya para reducir el ruido al final del entrenamiento. 15.7 Problemas de estabilidad num´ erica La estabilidad num´ erica del SGD puede verse comprometida en varias circunstancias: • Gradientes explosivos: En redes recurrentes (RNN) o redes muy profundas sin normalizaci´ on, el producto de Jacobianos puede tener valores propios mayores que 1, causando que la norma del gradiente crezca exponencialmente. Esto produce actualizaciones enormes que desestabilizan el entrenamiento. La soluci´ on com´ un es el gradient clipping: g ← g · min(1, C/∥g∥). • P´ erdida de precisi´ on por operaciones con punto flotante: Al sumar muchos gradientes peque˜ nos en mini-batches grandes, se pueden producir errores de redondeo. El uso de precisi´ on mixta (FP16) puede agravar el problema si no se maneja adecuadamente (por ejemplo, usando p´ erdida de escalado). https://educateperuconsultores.com/ P´ ag. 83
  84. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Divisiones por cero en

    m´ etodos adaptativos: Si un par´ ametro recibe gradientes nulos consis- tentemente, la estimaci´ on del segundo momento puede ser cero, causando divisiones por cero. Se a˜ nade una constante ϵ peque˜ na (e.g., 10−8) para evitarlo. • Underflow/overflow en funciones exponenciales: En softmax o sigmoide, valores extremos de θT x pueden producir exponenciales que se desbordan. La normalizaci´ on de caracter´ ısticas y la inicializaci´ on cuidadosa mitigan esto. Aunque estos problemas no son exclusivos del SGD, la naturaleza estoc´ astica puede exacerbar las inestabilidades, ya que los gradientes ruidosos pueden producir actualizaciones impredecibles. Es pr´ actica com´ un monitorear la norma del gradiente y detener el entrenamiento si se detectan NaN. 15.8 Dependencia de hiperpar´ ametros M´ as all´ a de la tasa de aprendizaje, el SGD y sus variantes dependen de varios hiperpar´ ametros que deben ser ajustados. Los principales son: • Tama˜ no del mini-batch (m): Afecta la varianza del gradiente, la velocidad de convergencia y la generalizaci´ on. Un valor demasiado peque˜ no puede hacer el entrenamiento err´ atico; uno demasiado grande puede llevar a m´ ınimos agudos y peor generalizaci´ on. No existe una f´ ormula universal; suele ajustarse emp´ ıricamente. • Coeficiente de momento (β): En SGD con momentum, β controla la inercia. Valores t´ ıpicos son 0.9 o 0.99. Un β cercano a 1 proporciona mayor suavizado pero puede causar overshooting. • Decaimiento de peso (λ): Para regularizaci´ on L2, λ controla la intensidad de la penalizaci´ on. Debe ajustarse junto con η; por ejemplo, en AdamW se recomienda λ = 0.01 o 0.001. • Tasa de aprendizaje inicial y schedule: La elecci´ on de η0 , el factor de decaimiento y los puntos de reducci´ on (step decay) o la tasa en cosine annealing son hiperpar´ ametros adicionales. • Par´ ametros espec´ ıficos de variantes: Adam tiene β1 , β2 , ϵ; AdaGrad tiene ϵ; etc. La interdependencia entre estos hiperpar´ ametros complica la sintonizaci´ on. Por ejemplo, aumentar m puede requerir aumentar η (regla de escalado lineal). Cambiar la arquitectura del modelo puede exigir reajustar todo. En la pr´ actica, se realizan b´ usquedas en cuadr´ ıcula (grid search) o b´ usqueda aleatoria, o se utilizan m´ etodos autom´ aticos como Optuna o Hyperopt. Esta dependencia contrasta con m´ etodos de segundo orden que, en teor´ ıa, no tienen hiperpar´ ametros (o solo uno, como la tasa de aprendizaje para el m´ etodo de Newton). Sin embargo, en la pr´ actica, los m´ etodos de segundo orden tambi´ en requieren ajustes y son mucho m´ as costosos. 15.9 Comparaci´ on frente a m´ etodos de segundo orden Los m´ etodos de segundo orden (Newton, cuasi-Newton como BFGS, L-BFGS) utilizan informaci´ on de curvatura (la matriz Hessiana o una aproximaci´ on) para acelerar la convergencia. Presentan ventajas y desventajas frente al SGD. • Velocidad de convergencia: Los m´ etodos de segundo orden convergen m´ as r´ apido en t´ erminos de iteraciones: Newton converge cuadr´ aticamente cerca del ´ optimo, mientras que SGD converge sublinealmente (O(1/t)) en el caso convexo. Sin embargo, cada iteraci´ on de Newton requiere resolver un sistema lineal O(d3) o al menos O(d2) si la Hessiana es dispersa, lo que es inviable para d grande. • Memoria: Almacenar la Hessiana completa requiere O(d2) memoria. Para d = 106, esto es 1012 elementos (4 TB en precisi´ on simple), imposible. Los m´ etodos cuasi-Newton como L-BFGS almacenan solo unas pocas aproximaciones, reduciendo la memoria a O(md) con m peque˜ no (e.g., 10-20). A´ un as´ ı, para d = 108, md puede ser varios GB, pero es factible. • No convexidad: Los m´ etodos de segundo orden pueden converger a puntos silla (si la Hessiana es indefinida) o a m´ aximos. Se requieren modificaciones como regularizaci´ on de la Hessiana. El SGD, gracias al ruido, escapa de puntos silla naturalmente. https://educateperuconsultores.com/ P´ ag. 84
  85. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso • Costo por iteraci´ on:

    El SGD es O(md), mientras que L-BFGS es O(md) tambi´ en (debido a los productos matriz-vector), pero con una constante mayor. Adem´ as, L-BFGS requiere evaluar el gradiente completo (o sobre un lote grande) para obtener una direcci´ on precisa, lo que lo hace menos adecuado para datasets masivos. • Sensibilidad a hiperpar´ ametros: Los m´ etodos de segundo orden tienen menos hiperpar´ ametros (solo la tasa de aprendizaje para Newton, o el n´ umero de pasos de memoria para L-BFGS). Sin embargo, la inicializaci´ on y el escalado son cr´ ıticos. En la pr´ actica, para problemas con d moderado (hasta unos pocos miles) y n peque˜ no, los m´ etodos de segundo orden pueden ser superiores. Para el aprendizaje profundo con d grande y n enorme, el SGD y sus variantes (con momento o adaptativos) son la ´ unica opci´ on viable. Por esta raz´ on, el SGD es el optimizador de facto en la mayor´ ıa de las aplicaciones de inteligencia artificial moderna. Conclusi´ on del cap´ ıtulo: El SGD ofrece una combinaci´ on sin precedentes de simplicidad, bajo costo computacional por iteraci´ on y escalabilidad, lo que lo convierte en la herramienta de optimizaci´ on dom- inante en el aprendizaje autom´ atico y profundo. Sin embargo, su sensibilidad a la tasa de aprendizaje, la convergencia ruidosa y la dependencia de m´ ultiples hiperpar´ ametros son limitaciones importantes que requieren una sintonizaci´ on cuidadosa. Comparado con m´ etodos de segundo orden, el SGD es m´ as ro- busto en entornos de alta dimensi´ on y datos masivos, aunque a costa de una convergencia m´ as lenta en t´ erminos de iteraciones. Comprender estas ventajas y limitaciones es esencial para seleccionar el optimizador adecuado seg´ un el problema y los recursos disponibles. 16 Aplicaciones Modernas del SGD 16.1 Visi´ on por computadora La visi´ on por computadora es uno de los campos que m´ as se ha beneficiado del uso del Stochastic Gradient Descent. Las redes neuronales convolucionales (CNN) utilizadas para clasificaci´ on de im´ agenes, detecci´ on de objetos, segmentaci´ on sem´ antica y seguimiento visual se entrenan casi exclusivamente con variantes del SGD. Arquitecturas emblem´ aticas como AlexNet, VGG, ResNet, Inception, DenseNet y EfficientNet han sido optimizadas con SGD con momento (momentum) y programaci´ on de tasa de aprendizaje (step decay o cosine annealing). En clasificaci´ on de im´ agenes a gran escala, como ImageNet con 1.2 millones de im´ agenes y 1000 clases, el entrenamiento de ResNet-50 se realiza t´ ıpicamente con SGD con momentum de 0.9, tasa de aprendizaje inicial de 0.1, reducci´ on por un factor de 0.1 cada 30 ´ epocas, y un tama˜ no de lote de 256. La funci´ on de p´ erdida es la entrop´ ıa cruzada categ´ orica. El SGD permite entrenar estos modelos en d´ ıas utilizando m´ ultiples GPUs. Para detecci´ on de objetos (YOLO, Faster R-CNN, RetinaNet), el SGD se aplica sobre funciones de p´ erdida compuestas que incluyen p´ erdida de localizaci´ on (e.g., p´ erdida suave L1) y p´ erdida de clasifi- caci´ on. La actualizaci´ on por mini-batch es esencial para manejar el desbalance entre clases y el gran n´ umero de anclajes. En segmentaci´ on sem´ antica (U-Net, DeepLab), el SGD se combina con p´ erdidas p´ ıxel a p´ ıxel (entrop´ ıa cruzada o Dice loss). Un desaf´ ıo en visi´ on es el sobreajuste; el SGD con lotes peque˜ nos y aumento de datos (data augmen- tation) proporciona regularizaci´ on impl´ ıcita. Adem´ as, t´ ecnicas como la normalizaci´ on por lotes (batch normalization) y el dropout se integran con el SGD para estabilizar el entrenamiento. 16.2 Procesamiento de lenguaje natural En procesamiento de lenguaje natural (NLP), el SGD y sus variantes adaptativas son la columna vertebral del entrenamiento de modelos como redes recurrentes (RNN, LSTM, GRU), redes convolucionales para texto (TextCNN) y, m´ as recientemente, Transformers (BERT, GPT, RoBERTa). Para RNN/LSTM, el SGD con clipping de gradientes y tasas de aprendizaje peque˜ nas (e.g., 0.001) es com´ un debido al problema de gradientes explosivos. Los modelos basados en Transformers emplean casi universalmente el optimizador Adam o AdamW con tasa de aprendizaje con warmup lineal y decaimiento lineal o coseno. El SGD cl´ asico rara vez se usa porque las escalas de los gradientes son muy variables entre capas y par´ ametros, y la adaptaci´ on de Adam es crucial. No obstante, variantes del SGD con momentum pueden ser competitivas en algunas tareas con ajuste cuidadoso. https://educateperuconsultores.com/ P´ ag. 85
  86. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso En tareas de clasificaci´ on

    de textos (an´ alisis de sentimientos, clasificaci´ on de spam), el SGD con regularizaci´ on L2 y mini-batches de tama˜ no moderado (32-128) es suficiente. Para modelos de lenguaje a gran escala (LLMs) como GPT-3 o LLaMA, se utiliza un SGD distribuido con paralelismo de datos y de modelo, con tama˜ nos de lote globales de millones de tokens. La tasa de aprendizaje sigue un schedule de coseno con warmup y se usa decaimiento de peso (AdamW). El SGD tambi´ en se aplica en tareas de secuencia a secuencia (traducci´ on autom´ atica, resumen) con mecanismos de atenci´ on. La retropropagaci´ on a trav´ es del tiempo se realiza con truncated backpropa- gation. En estos casos, el tama˜ no del lote se ajusta para equilibrar el rendimiento y la memoria. 16.3 Sistemas de recomendaci´ on Los sistemas de recomendaci´ on utilizan modelos de factorizaci´ on de matrices, redes neuronales profundas (Neural Collaborative Filtering) y arquitecturas basadas en Transformers (BERT4Rec, SASRec). El SGD es el optimizador principal debido a la naturaleza masiva de los datos (millones de usuarios y productos) y la necesidad de actualizaciones online. En la factorizaci´ on de matrices, se minimiza la funci´ on de p´ erdida cuadr´ atica (o p´ erdida log´ ıstica) sobre las entradas observadas: J(U, V) = (i,j)∈Ω (Rij − uT i vj )2 + λ(∥U∥2 F + ∥V∥2 F ). (161) El SGD actualiza las filas ui y vj solo cuando la interacci´ on (i, j) aparece en un mini-batch. Esto es extremadamente eficiente porque cada actualizaci´ on cuesta O(k), donde k es la dimensi´ on latente. Algoritmos como ALS (alternating least squares) son alternativos, pero SGD es m´ as escalable. En sistemas de recomendaci´ on profundos, el SGD con momentum y decaimiento de peso se utiliza para entrenar embeddings de usuarios y productos junto con capas no lineales. La p´ erdida puede ser entrop´ ıa cruzada para predicci´ on de clics (CTR) o p´ erdida pairwise (BPR). El tama˜ no del lote se elige t´ ıpicamente entre 256 y 2048. Adem´ as, el SGD permite el entrenamiento online: cuando llegan nuevas interacciones, se pueden actualizar los embeddings en tiempo real. La sensibilidad al learning rate se mitiga usando Adam o RMSProp. Sin embargo, muchos sistemas productivos utilizan SGD simple porque es m´ as f´ acil de implementar en entornos distribuidos (Spark MLlib). El decaimiento de peso es crucial para evitar sobreajuste, ya que el n´ umero de par´ ametros (embeddings) puede ser enorme. 16.4 Modelos generativos profundos Los modelos generativos profundos, como las redes generativas antag´ onicas (GANs), los autoencoders variacionales (VAEs) y los modelos de difusi´ on (Denoising Diffusion Probabilistic Models), se entrenan con SGD o sus variantes. En GANs, se tienen dos redes: el generador G y el discriminador D. El entrenamiento alterna la actualizaci´ on de G minimizando la p´ erdida de adversario y la actualizaci´ on de D maximizando la capacidad de distinguir muestras reales de generadas. Ambas actualizaciones utilizan SGD con momentum (Adam es especialmente popular para GANs porque estabiliza el entrenamiento). Las tasas de aprendizaje t´ ıpicas son 10−4 para el discriminador y 10−4 para el generador, con β1 = 0.5 en Adam. En VAEs, se minimiza la evidencia inferior (ELBO): L(θ, ϕ) = −Ez∼qϕ(z|x) [log pθ (x|z)] + DKL (qϕ (z|x)∥p(z)). (162) El SGD con mini-batches se aplica utilizando la reparametrizaci´ on para muestrear z. El optimizador suele ser Adam con tasa de aprendizaje 10−3. Los modelos de difusi´ on (DDPM) se entrenan minimizando una p´ erdida de error cuadr´ atico entre el ruido predicho y el ruido real. El SGD con AdamW es com´ un, con tasas de aprendizaje del orden de 10−4. Debido a la gran cantidad de pasos de tiempo (1000), el entrenamiento es costoso; se usan lotes grandes y m´ ultiples GPUs con SGD distribuido. 16.5 Modelos fundacionales y LLMs Los modelos fundacionales, especialmente los grandes modelos de lenguaje (LLMs) como GPT-4, PaLM, LLaMA y Claude, representan el pin´ aculo de la optimizaci´ on con SGD a escala masiva. Estos modelos tienen desde miles de millones hasta billones de par´ ametros. El optimizador est´ andar es AdamW con https://educateperuconsultores.com/ P´ ag. 86
  87. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso decaimiento de peso, debido a

    su robustez y su capacidad para manejar gradientes dispersos. La tasa de aprendizaje t´ ıpica es muy peque˜ na, del orden de 10−5 a 10−4, con un schedule de warmup lineal (e.g., 2000-4000 pasos) seguido de decaimiento lineal o coseno. El tama˜ no del lote global es enorme, a menudo millones de tokens (por ejemplo, 3.2 millones para GPT-3). Esto requiere paralelismo de datos en cientos o miles de GPUs/TPUs. El SGD simple (sin adaptaci´ on) no se utiliza porque la sensibilidad a la tasa de aprendizaje y la falta de adaptaci´ on por par´ ametro llevar´ ıan a divergencias o convergencia lenta. Sin embargo, el SGD con momentum (sin adaptaci´ on) ha sido explorado en algunos modelos, pero AdamW es la opci´ on predominante. El entrenamiento de estos modelos enfrenta desaf´ ıos de estabilidad: gradientes explosivos se mitigan con clipping; la p´ erdida de precisi´ on se maneja con precision mixta (BF16/FP16). La comunicaci´ on en entrenamiento distribuido se optimiza con algoritmos de reducci´ on como all-reduce y t´ ecnicas de compresi´ on de gradientes. Adem´ as, se emplea el particionamiento de par´ ametros (ZeRO-3, FSDP) para distribuir la memoria. 16.6 Rob´ otica e inteligencia artificial aut´ onoma En rob´ otica, el SGD se utiliza para entrenar pol´ ıticas de control mediante aprendizaje por refuerzo profundo (DRL). Algoritmos como PPO (Proximal Policy Optimization), SAC (Soft Actor-Critic) y DQN (Deep Q-Networks) actualizan las redes neuronales del actor y el cr´ ıtico utilizando gradientes estoc´ asticos. El SGD con momentum y rate schedules es com´ un. Por ejemplo, PPO usa un optimizador Adam con tasa de aprendizaje 10−4 y mini-batches de 64-256 transiciones. En veh´ ıculos aut´ onomos, las redes de percepci´ on (detecci´ on de objetos, segmentaci´ on) se entrenan con SGD al igual que en visi´ on. Adem´ as, el aprendizaje por imitaci´ on (behavioral cloning) utiliza SGD para minimizar la p´ erdida entre las acciones del experto y las acciones del modelo. Los datos de conducci´ on son masivos (millones de cuadros), por lo que el SGD con lotes peque˜ nos es necesario. La rob´ otica tambi´ en requiere aprendizaje en tiempo real (online learning) para adaptarse a entornos cambiantes; el SGD es adecuado porque puede actualizar los par´ ametros incrementalmente. Sin embargo, la seguridad y estabilidad son cr´ ıticas: se requieren mecanismos de validaci´ on y tasas de aprendizaje adaptativas. 16.7 Finanzas cuantitativas En finanzas cuantitativas, el SGD se aplica en predicci´ on de series temporales (precios de acciones, volatilidad), optimizaci´ on de carteras, detecci´ on de fraudes y trading algor´ ıtmico. Los modelos pueden ser regresiones lineales, redes neuronales (LSTM, Transformers) o modelos de aprendizaje por refuerzo para ejecuci´ on de ´ ordenes. Para la predicci´ on de retornos, se utiliza la p´ erdida cuadr´ atica o la p´ erdida de Huber, y el SGD con regularizaci´ on L2. Dado que los datos financieros son no estacionarios y ruidosos, se prefiere el SGD con tasa de aprendizaje peque˜ na y promediado de par´ ametros (Polyak-Ruppert) para mejorar la robustez. Adem´ as, se emplean t´ ecnicas de early stopping basadas en validaci´ on fuera de muestra. En optimizaci´ on de carteras (e.g., modelo de Black-Litterman con redes neuronales), el SGD permite minimizar el riesgo (varianza) sujeto a restricciones, a menudo incorporando la regularizaci´ on para evitar concentraciones excesivas. El trading de alta frecuencia requiere inferencia en milisegundos; el entrenamiento offline se realiza con SGD, mientras que la inferencia es r´ apida. Los gradientes pueden calcularse sobre datos hist´ oricos en lotes. Adam es popular porque se adapta a la escala de los gradientes, que puede variar con la volatilidad. 16.8 Bioinform´ atica La bioinform´ atica utiliza SGD en problemas como predicci´ on de estructura de prote´ ınas (AlphaFold), an´ alisis de expresi´ on g´ enica, clasificaci´ on de secuencias de ADN/ARN, y descubrimiento de f´ armacos. AlphaFold2, que emplea redes neuronales profundas con atenci´ on, se entren´ o con SGD (AdamW) durante varias semanas en GPUs. En el an´ alisis de datos de microarrays (muchas caracter´ ısticas, pocas muestras), el SGD con regular- izaci´ on L1 (LASSO) o L2 ayuda a evitar sobreajuste. La funci´ on de p´ erdida puede ser log-verosimilitud para clasificaci´ on binaria o multiclase. Debido a que n es peque˜ no, el SGD completo no es necesario, pero se usa para manejar la alta dimensionalidad (miles de genes) con mini-batches. https://educateperuconsultores.com/ P´ ag. 87
  88. https://www.linkedin.com/in/abraham-zamudio/ M´ etodos de Descenso En gen´ omica de poblaciones,

    el SGD se aplica a modelos de mezcla de poblaciones (estructura pobla- cional) y a algoritmos de factorizaci´ on de matrices (como en la imputaci´ on de genotipos). El ruido estoc´ astico ayuda a escapar de ´ optimos locales en problemas no convexos. Adem´ as, en el dise˜ no de f´ armacos basado en aprendizaje profundo (modelos generativos de mol´ eculas), se emplean VAEs o GANs entrenadas con SGD. Las propiedades deseables (afinidad, toxicidad) se optimizan mediante aprendizaje por refuerzo con SGD. 16.9 Series temporales y predicci´ on La predicci´ on de series temporales es una aplicaci´ on cl´ asica del SGD, especialmente en escenarios con datos secuenciales y grandes vol´ umenes. Modelos como ARIMA (con estimaci´ on de par´ ametros mediante SGD), redes neuronales recurrentes (RNN, LSTM) y Transformers temporales (Informer, Autoformer) se entrenan con SGD o Adam. La funci´ on de p´ erdida suele ser el error cuadr´ atico medio o la p´ erdida de verosimilitud para distribuciones param´ etricas. Para series largas, se utiliza la retropropagaci´ on truncada (truncated backpropagation through time) con tama˜ no de ventana fijo, y el SGD actualiza los par´ ametros bas´ andose en un mini-batch de ventanas. El tama˜ no del lote y la tasa de aprendizaje se ajustan para evitar gradientes desvanecidos o explosivos. En previsi´ on de demanda en la cadena de suministro, el SGD se combina con regularizaci´ on y vali- daci´ on cruzada. Los datos pueden ser estacionales y con tendencia; la normalizaci´ on de caracter´ ısticas (diferencia, escalado) es esencial para la convergencia. Adem´ as, se utilizan t´ ecnicas de aprendizaje online para adaptarse a cambios estacionales. 16.10 Aprendizaje federado y distribuido El aprendizaje federado (Federated Learning) es un paradigma donde los datos permanecen en disposi- tivos locales (por ejemplo, tel´ efonos m´ oviles) y un servidor central coordina el entrenamiento de un modelo global sin acceder a los datos brutos. El algoritmo est´ andar es FedAvg (McMahan et al., 2017), que combina actualizaciones SGD locales. En cada ronda, el servidor selecciona un subconjunto de clientes, cada cliente ejecuta m´ ultiples pasos de SGD en sus datos locales, y luego env´ ıa las actualizaciones (o gradientes) al servidor, que las promedia para actualizar el modelo global. La variante FedSGD promedia gradientes en lugar de par´ ametros. Ambos se basan en SGD. Los desaf´ ıos incluyen heterogeneidad de datos (distribuciones no i.i.d.), comunicaci´ on limitada, y privacidad. Para mitigar la deriva del modelo se utilizan t´ ecnicas como SCAFFOLD (control de varianza) y FedProx (regularizaci´ on proximal). El SGD distribuido as´ ıncrono (Hogwild!) tambi´ en se aplica en entornos federados. En el entrenamiento distribuido convencional (centros de datos), el SGD s´ ıncrono con paralelismo de datos (all-reduce) es est´ andar. Para modelos muy grandes, se combina con paralelismo de modelo y pipeline. El escalado a cientos de GPUs requiere ajustar la tasa de aprendizaje seg´ un la regla de escalado lineal: ηglobal = ηlocal · mglobal mlocal . El SGD as´ ıncrono puede ofrecer mayor velocidad pero con posible sesgo. El aprendizaje federado es especialmente importante en aplicaciones de salud, finanzas y disposi- tivos m´ oviles, donde la privacidad es primordial. El SGD es el ´ unico optimizador pr´ actico debido a su simplicidad y bajo costo de comunicaci´ on (solo se env´ ıan gradientes o par´ ametros). Conclusi´ on del cap´ ıtulo: El SGD y sus variantes son ubicuos en las aplicaciones modernas de in- teligencia artificial, desde la visi´ on por computadora hasta el aprendizaje federado. Su escalabilidad, simplicidad y capacidad para manejar grandes vol´ umenes de datos lo convierten en la herramienta de optimizaci´ on esencial. Cada dominio presenta desaf´ ıos espec´ ıficos (no convexidad, gradientes explosivos, heterogeneidad de datos), pero las adaptaciones del SGD (momentum, Adam, clipping, promediado, etc.) han demostrado ser efectivas. El futuro de estas aplicaciones seguir´ a dependiendo del SGD, mientras se investigan mejoras en eficiencia y robustez. https://educateperuconsultores.com/ P´ ag. 88