Gradient descent is an
optimization algorithm. To find a
local minimum of a function using gradient descent, one takes steps proportional to the negative of the
gradient (or the approximate gradient) of the function at the current point. If instead one takes steps proportional to the gradient, one approaches a
local maximum of that function; the procedure is then known as gradient ascent.
See more at Wikipedia.org...
Optimization techniques for non-linear functions (e.g. the error function of a
neural network as the weights are varied) which attempt to move incrementally to successively lower points in search space, in order to locate a minimum.