An overview of gradient descent optimization algorithms
arxiv.org
arxiv.org
So each of those training points represents a sort of separable or parallelizable piece of the whole processes, giving you a ton of freedom in how you actually execute the gradient stepping (with one training point, several of them, or all of them). As I understand it, stochasticity in this process interestingly seems to add enough "noise" that local minima seem to be avoided in many cases.
In more general applications of non-linear gradient-based optimization (say for optimizing parametric models in physical engineering), this doesn't necessarily come into play.
Specifically for momentum, if I understand it right it's a particular way of perturbing step size and gradient steps to prevent oscillation. There are some other good examples of this used by many gradient-descent optimizers. For example:
https://www.cs.cmu.edu/~ggordon/10725-F12/scribes/10725_Lect...
There's part of me that wonders if one interesting way forward for deep learning is a minibatch form of BFGS or SNOPT.
Its there in conjugate gradients method, its just not called momentum. Its there in heavy-ball methods much more overtly.
In fact if the cost function is convex and has smooth gradients one can show that optimal momentum equipped methods would converge faster than gradient methods.
These methods achieve the best possible (black box) convergence rate bound for minimizing an arbitrary convex function using local information, gradient descent methods do not. The old references to consult are Nemirovskii, Nesterov and Polyak.
One has to be careful about the claim though. The optimal convergence rate result mentioned above applies to arbitrary convex functions. For specific convex functions where you can exploit problem specific structure you may be able to do better.
The other caveat is that these (batch) momentum methods tend to be quite sensitive to the convexity and smoothness parameters. Gradient descent is a lot more robust and you can get away with a lot. However if you are sure that the you can evaluate the exact gradient, then momentum based methods are arguably the better choice. Dont panic if the cost function goes up and down (that's expected), they do not reduce the cost function monotonically.
I thought Yurii Nesterov came up with momentum (or at least proved certain classes of momentum strategies optimal)?
https://people.eecs.berkeley.edu/~brecht/papers/17.WilEtAl.A...