An optimization algorithm that updates model parameters using gradients computed on small random batches of data.