Gradient-based methods are the default workhorses of continuous optimization because they are simple, scalable, and broadly applicable. Their behavior, however, depends decisively on one choice: how far to move each step. Step-size selection is not an implementation detail; it is the mechanism that turns a descent direction into a convergent algorithm. The core theory of gradient methods can be summarized in terms of smoothness and curvature. Smoothness controls how accurately the gradient predicts local change. Curvature controls how strongly the objective pushes you back toward a minimizer.
This article develops gradient methods as a practical toolkit: what assumptions produce what guarantees, how to choose step sizes, why conditioning matters, and how to recognize when a gradient method is the wrong tool.
Smoothness and the descent lemma
Let $f:\mathbb{R}^n\to\mathbb{R}$ be differentiable. A central assumption is $L$-smoothness: the gradient is Lipschitz,
This implies the descent lemma:
The lemma formalizes the idea that a smooth function is well-approximated by its first-order Taylor expansion up \to a quadratic error term.
For gradient descent $x_{k+1}=x_k-\alpha \nabla f(x_k)$, plug $y=x-\alpha\nabla f(x)$ into the descent lemma:
If $0<\alpha\le 1/L$, then the bracket term is at least $1/2$, so the objective decreases:
This inequality is the foundation of many convergence proofs and also a practical diagnostic: stable progress requires step sizes consistent with the local smoothness scale.
What convergence means in convex and nonconvex settings
Convex case
Assume $f$ is convex and $L$-smooth and has a minimizer $x^\star$. With a fixed step $\alpha=1/L$, gradient descent satisfies
This is a sublinear rate: error shrinks like $1/k$. It is not fast in terms of high precision, but it is predictable and dimension-friendly.
Strongly convex case
If $f$ is additionally $\mu$-strongly convex,
then the problem has a unique minimizer and curvature forces faster contraction. With an appropriate step size (for example $\alpha\in(0,2/(L+\mu)]$), one obtains a linear rate:
The ratio $\kappa=L/\mu$ is a condition number for the objective. When $\kappa$ is large, convergence is slow. This is why preconditioning and scaling are central in practice: they try to reduce $\kappa$.
Nonconvex case
When $f$ is nonconvex but $L$-smooth, gradient descent is not guaranteed to find a global minimizer. What it can guarantee is convergence to critical points in a quantitative sense:
where $f_{\inf}$ is a lower bound on $f$. This tells you how many iterations are needed to make the gradient small somewhere along the trajectory. It is a guarantee about stationarity, not optimality.
Practically, this is the correct expectation in nonconvex optimization: gradients lead toward points where local first-order information vanishes, and additional structure is needed to say more.
Step-size selection: the real control knob
Fixed step sizes
If an $L$ bound is known or can be estimated, $\alpha = 1/L$ is a safe default for smooth objectives. If the model is very conservative, $\alpha$ can be too small, leading to slow progress. If $L$ is underestimated, the method can oscillate or diverge.
A practical compromise is to use $\alpha = c/L$ with $c\in(0,1)$ and then adjust using observed decrease. This preserves theoretical safety while allowing tuning.
Backtracking line search (Armijo condition)
When $L$ is unknown, backtracking line search chooses $\alpha$ adaptively. Given parameters $0<\beta<1$ and $0 This enforces sufficient decrease. Under smoothness, it will accept a step within a bounded number of reductions, and the resulting method inherits convergence guarantees similar to the fixed-step method. Backtracking is widely used because it is robust and easy to implement. The trade-off is cost: each failed trial evaluates $f$. When function evaluations are expensive, line search can dominate runtime. For a quadratic $f(x)=\frac{1}{2}x^TQx-b^Tx$ with $Q$ positive definite, the exact line-search step along $-\nabla f(x)$ has a closed form: This yields steepest descent with optimal steps along the gradient direction. The method converges, but it can zig-zag dramatically when $Q$ is ill-conditioned. This illustrates a critical lesson: choosing the “best” step along one direction does not fix a poor choice of direction family. Preconditioning or using conjugate-gradient directions is often the right response. In settings with noisy gradients, or when optimizing nonsmooth objectives with subgradients, diminishing steps of the form $\alpha_k = a/\sqrt{k}$ or $a/k$ can guarantee convergence under appropriate assumptions. These schedules trade fast early progress for long-term stability. The downside is that tuning $a$ can be delicate, and the method may stagnate if steps shrink too quickly. For smooth deterministic problems, diminishing steps are usually unnecessary; fixed or backtracked steps typically outperform them. Momentum methods, such as the heavy-ball method and Nesterov acceleration, modify the update by adding an inertial term. For convex $L$-smooth problems, Nesterov’s method achieves a faster theoretical rate: For strongly convex problems, accelerated methods can achieve rates involving $\sqrt{\kappa}$ rather than $\kappa$, which is a substantial improvement when conditioning is poor. In practice, acceleration can be sensitive to parameter choices and to noise. Overshooting can occur, leading to oscillations. Restart strategies, where momentum is reset when progress stalls or the objective increases, are common practical fixes. The deeper message is that acceleration exploits curvature information implicitly. When curvature varies wildly or the model is inaccurate, momentum can amplify errors. In strongly convex smooth problems, the ratio $L/\mu$ governs convergence. If the problem can be transformed by a linear change of variables $x=Py$ so that the transformed objective has a smaller condition number, gradient descent can become dramatically faster. Preconditioning is the algorithmic analog: replace the update with where $M$ approximates curvature. If $M$ is close to the Hessian, this resembles Newton’s method. If $M$ is a diagonal or block-diagonal approximation, it can still correct for scale differences among coordinates. A simple but often effective preconditioner is coordinate scaling based on diagonal Hessian estimates or on feature variances in least squares problems. Gradient descent can struggle in several regimes: Recognizing these cases early saves time. A common mistake is to keep tuning step sizes when the real issue is the algorithm-class mismatch. A few observable quantities provide strong guidance: Gradient methods succeed when step sizes respect smoothness and when conditioning is not extreme. The key technical facts are simple enough to guide practice: Treating step-size selection and conditioning as first-class design choices turns gradient descent from a fragile recipe into a predictable instrument.Exact and inexact line search in quadratic problems
Diminishing step sizes
Acceleration and momentum: why they help and when they hurt
Conditioning, scaling, and preconditioning
When gradient methods are the wrong tool
Practical diagnostics
The usable summary