Optimization Methods Cheat Sheet

Gradient descent variants, SGD, Adam optimizer, convex vs non-convex optimization, loss landscapes, and practical tips for training machine learning models.

Last Updated: May 1, 2025

Gradient Descent

ItemDescription
Batch GD: w = w - lr * grad_w(Loss(all_data))Computes gradient on entire dataset — slow but stable
Stochastic GD (SGD): w = w - lr * grad_w(Loss(single_point))One sample at a time — very noisy, faster updates
Mini-Batch SGDCompromise: gradient on small batch (32-256 samples) — standard in deep learning
Momentum: v_t = beta*v_(t-1) + lr*grad_tAccumulates velocity — smooths oscillations, accelerates in consistent directions
Nesterov Accelerated GradientLook ahead: compute gradient at future position for smarter moves
Learning Rate SchedulesStep decay, exponential decay, cosine annealing — reduce lr over time

Adam Optimizer

ItemDescription
Adam = Momentum + RMSPropAdaptive learning rate for each parameter — most popular optimizer
m_t = beta1*m_(t-1) + (1-beta1)*grad_tFirst moment estimate (mean of gradients) — momentum term
v_t = beta2*v_(t-1) + (1-beta2)*grad_t^2Second moment estimate (uncentered variance) — scales learning rate
Default: beta1=0.9, beta2=0.999, lr=0.001These hyperparameters work well for most problems
Bias CorrectionCorrects for initial zero bias in moment estimates during early steps
AdamW (Weight Decay)Decoupled weight decay — better generalization than standard Adam

Convex vs Non-Convex

ItemDescription
Convex FunctionAny local minimum is global — bowl-shaped, gradient descent guaranteed to converge
Convex ExamplesLinear regression, logistic regression, SVM — nice optimization landscapes
Non-Convex ExamplesNeural networks, mixture models — many local minima, saddle points
Saddle PointsGradient = 0 but not a minimum — Adam's momentum helps escape
Local MinimaDeep nets: most local minima are close to global in quality (surprising empirical result)
Checking ConvergencePlateau in loss, gradient norm ~ 0, validation metrics stop improving

Practical Tips

ItemDescription
Learning Rate is Most ImportantTune lr first; bad lr prevents convergence regardless of other hyperparameters
Gradient ClippingLimit gradient magnitude — prevents exploding gradients in RNNs
Batch NormalizationSmooths loss landscape, allows higher learning rates
Early StoppingStop training when validation loss stops improving — prevents overfitting
Loss Landscape VisualizationPlot loss as a function of parameters in 2D slices to understand geometry
Pro Tip: Start with a learning rate of 0.001 and adjust by factors of 3-10. If loss oscillates or diverges, reduce it. If loss decreases too slowly, increase it. Monitor the LOSS CURVE, not just final numbers.