Please enable JavaScript.
Coggle requires JavaScript to display documents.
Algoritmos de optimización: guía por familias - Coggle Diagram
Algoritmos de optimización: guía por familias
Conceptos básicos
Optimización: minimizar la función de costo
Gradiente: dirección para reducir el error
Tasa de aprendizaje (η): tamaño del paso
Época: una pasada por todos los datos
Familia 2: con memoria
Momentum
Recuerda gradientes anteriores (inercia)
Acelera y reduce oscilaciones
Se suma sobre SGD (momentum = 0.9)
Hiperparámetros a ajustar
η: tasa de aprendizaje
Típico: 0.01 (SGD), 0.001 (Adam, RMSprop)
Tamaño del lote
Ej.: 32 o 64
β (Momentum y RMSprop)
Típico: 0.9
β1 y β2 (ADAM)
0.9 y 0.999
ε: evita dividir por cero
Típico: 10^−8
Comparación rápida
Velocidad
Más rápidos: SGD y ADAM
Más lento: Batch GD
Estabilidad
Más estable: Batch GD
Más ruidoso: SGD
Memoria
Batch GD exige mucha
Mini-Batch la usa mejor
Adaptabilidad
Solo RMSprop y ADAM adaptan el paso
Cuál elegir
Dataset pequeño: Batch GD
Dataset grande: SGD o Mini-Batch
Redes profundas / CNN: Mini-Batch + Momentum
Opción general más usada: ADAM
Familia 1: según cuántos datos se usan por paso
SGD
Usa 1 ejemplo por actualización
Rápido pero ruidoso
Batch GD
Usa todo el dataset por actualización
Estable pero lento
Mini-Batch
Usa lotes pequeños
Punto medio: el más usado en la práctica
Familia 3: tasa de aprendizaje adaptativa
RMSprop
Ajusta el paso de cada parámetro
Usa promedio de gradientes al cuadrado
ADAM
Combina Momentum + RMSprop
Incluye corrección del sesgo
Problemas comunes y qué ayuda
Oscilaciones
Momentum
Mini-Batch
RMSprop
Mínimos locales
Momentum
Ruido del Mini-Batch
Convergencia lenta
ADAM
Mini-Batch en lugar de Batch GD
Gradientes de magnitud muy distinta
RMSprop
ADAM
Datasets muy grandes
SGD
Mini-Batch
En código (TensorFlow y PyTorch)
SGD: optimizers.SGD / optim.SGD
lr = 0.01
Batch GD
TensorFlow: batch_size = len(X_train)
Mini-Batch
TensorFlow: batch_size = 32
PyTorch: DataLoader
Momentum: SGD con momentum = 0.9
ADAM: Adam
lr = 0.001
RMSprop: RMSprop
lr = 0.001