Gradient Descent
Is a first-order iterative optimization algorithm for finding the minimum of a function. To find a local minimum of a function using gradient descent, one takes steps proportional to the negative of the gradient (or of the approximate gradient) of the function at the current point. If instead one takes steps proportional to the positive of the gradient, one approaches a local maximum of that function; the procedure is then known as gradient ascent.
Stochastic Gradient Descent (SGD)
Gradient descent uses total gradient over all examples per update, SGD updates after only 1 or few examples:
Mini-batch Stochastic Gradient Descent (SGD)
Gradient descent uses total gradient over all examples per update, SGD updates after only 1 example.
Momentum
Idea: Add a fraction v of previous update to current one. When the gradient keeps pointing in the same direction, this will increase the size of the steps taken towards the minimum.
Adagrad
Adaptive learning rates for each parameter.