NEW
Also known as: SGD
An iterative optimization method that updates parameters using gradients from single samples or small batches.
DESCRIPTION
Stochastic Gradient Descent approximates full-batch gradients using one example or small mini-batches, enabling fast, scalable training. Noise in updates can help escape shallow minima and improve generalization. Enhancements include momentum, learning rate schedules, and variants like Adam and RMSProp. SGD underpins training of linear models, deep networks, and online learning systems. Proper tuning of learning rate and regularization is critical for convergence and stability.
ALTERNATIVE DEFINITIONS
Wikipedia
Stochastic gradient descent (SGD) is an iterative method for optimizing an objective function with suitable smoothness properties.
Defines SGD as a general iterative optimization method.
scikit-learn
Stochastic Gradient Descent (SGD) is a simple yet very efficient approach to fit linear models.
Stresses practical efficiency for linear models in ML libraries.
PyTorch
Implements stochastic gradient descent (optionally with momentum).
Implementation-focused definition highlighting momentum option.
RELATED TERMS
Gradient Descent Learning Rate Loss Function Momentum Regularization Convex Optimization Online Learning Superclass
COMPETING TERMS
Batch Gradient Descent Mini-batch Gradient Descent Adam
RELATIONS
- Derivations: Adagrad Adam Adam Optimization
KNOWLEDGE AREAS
TARGET AUDIENCE
AI Engineer Data Scientist MLOps Engineer Software Developer
EXTERNAL SOURCES
- Wikipedia - Stochastic gradient descent
- scikit-learn - User guide for SGD estimators
- Stanford CS231n - Course notes on optimization
- PyTorch - Optimization package docs
TOP QUESTIONS
Why is Stochastic Gradient Descent widely used in deep learning?
It scales to large datasets, provides noisy updates that help optimization, and works efficiently with mini-batches on GPUs.
Category: Relevancy
How do I set the learning rate for Stochastic Gradient Descent?
Start with a modest value and use schedules like step decay or cosine annealing. Monitor training/validation loss for divergence or stagnation.
Category: Best practices
What is the role of momentum in Stochastic Gradient Descent?
Momentum accelerates learning in consistent directions and damps oscillations, often leading to faster convergence.
Category: Example
How does Stochastic Gradient Descent compare to Adam?
Adam adapts per-parameter learning rates and often converges faster initially, but tuned SGD can generalize better in some vision and NLP tasks.
Category: Opinion
What are common pitfalls with Stochastic Gradient Descent?
Too high learning rates cause divergence; too low slow learning. Poor batch sizes and lack of regularization can harm generalization.
Category: Mistakes
When should I use mini-batch Stochastic Gradient Descent?
Mini-batches balance gradient noise and computational efficiency, and are standard for GPU-accelerated training.
Category: Application
Does Stochastic Gradient Descent require convex objectives?
No, it is widely used for non-convex deep networks, though convergence guarantees are weaker than in convex settings.
Category: Misunderstanding
How does regularization interact with Stochastic Gradient Descent?
L2 weight decay and dropout reduce overfitting, while early stopping based on validation metrics prevents over-training.
Category: Best practices
Can Stochastic Gradient Descent be used for online learning?
Yes, it naturally supports streaming updates and concept drift adaptation with appropriate learning rate strategies.
Category: Application