Quant Memo
Advanced

Double Descent in Deep Networks

Test error doesn't always rise monotonically once a model gets big enough to fit its training data exactly — for very large networks it can fall a second time, undoing the classic bias-variance story right at the point textbooks say things should get worse.

Prerequisites: The Bias-Variance Decomposition, Training Error vs Generalization Error

Classical statistics teaches a clean rule: as a model grows more complex, training error keeps falling, but test error falls, bottoms out, then rises again as the model starts memorizing noise — the textbook U-shaped bias-variance curve. That rule predicts something alarming for the huge, heavily over-parameterized networks used in practice today, which have enough parameters to perfectly memorize their entire training set: if the U-shape held exactly, they should generalize terribly. In practice, some of the best-performing models in the world are exactly the ones classical theory says should be at their worst.

The analogy: a second wind after hitting the wall

Picture a marathon runner's pace as race distance increases: it slows as distance grows, hits its worst point around complete exhaustion — the "wall" — and classical intuition says it should keep getting worse from there. But suppose that past the wall, the runner finds a second wind and speeds back up, ending faster at extreme distances than right at the wall. That counterintuitive extra phase is the shape of double descent: test error rises to a peak right where the model first becomes big enough to fit the training data exactly (the interpolation threshold), then, surprisingly, falls again as the model keeps growing past that point.

model complexity test error interpolation threshold
Test error falls in the classical regime, peaks at the interpolation threshold, then falls a second time in the over-parameterized regime.

The three phases

Bias–variance explorer
model complexity →sweet spot
test error 1.54train error 0.92underfitting

Drag model complexity in the explorer above and watch the classical curve — this is exactly the first half of the double-descent story, before the second phase kicks in for models complex enough to interpolate their training set.

The full double-descent curve has three regions as model size (or training time, or amount of data used a different way) increases:

  1. Classical regime — model is smaller than the data can support; test error falls as complexity increases, as the U-shaped textbook curve predicts.
  2. The interpolation threshold — the model has just enough capacity to fit the training data perfectly (zero training error). Test error peaks: the model is complex enough to memorize training noise but not complex enough to have any "slack" left to memorize it smoothly, so it fits noise in a jagged, badly-generalizing way.
  3. Over-parameterized regime — push well past the threshold, and test error falls a second time. With enormous extra capacity, there are many ways to fit the training data exactly, and the optimizer (typically SGD) is biased toward the smoothest of those solutions, which generalizes far better than the jagged fits found right at the threshold.

Worked example 1: reading the interpolation threshold from a table

Suppose you train networks of increasing width on a fixed labeled dataset and record test error (%):

Hidden units1050200 (≈ dataset size)1,00010,000
Test error18%11%24%9%6%

Error falls from 18% to 11% as width grows from 10 to 50 (classical phase), spikes to 24% at 200 hidden units — right where the network has enough parameters to fit the whole training set exactly — then falls again to 9% and 6% as width grows well past that point. The peak at 200 is the interpolation threshold; everything past it is the second descent.

Worked example 2: why "more parameters" can mean "smoother," not "noisier"

Consider fitting a curve through 5 noisy data points. A polynomial with exactly 5 free coefficients can be forced through all 5, but with no freedom left over — it typically oscillates wildly between points, since fitting the noise uses up all its flexibility. A polynomial with 50 free coefficients also passes through all 5 exactly, but has 45 remaining degrees of freedom to spend making the curve as smooth as possible while still hitting every point — a well-chosen fitting procedure uses that slack to prefer the smoothest curve, tracking the true trend rather than the noise. Barely-enough capacity forces a jagged fit; abundant capacity affords a smooth one.

Test error can rise to a peak at the interpolation threshold — where the model first has just enough capacity to fit training data exactly — and fall again as capacity grows further, because vastly more capacity gives the optimizer room to prefer smooth, better-generalizing fits over jagged, noise-fitting ones.

What this means in practice

Double descent is one reason "just make the network bigger" often works better than classical intuition predicts, and why stopping growth right where training error first hits zero can be the worst possible choice. It also means comparing two networks by size alone is unsafe — a model twice as big could be on either side of a peak, so validation performance, not parameter count, has to be the deciding signal.

Practice

  1. Sketch (in words) what happens to training error across all three phases, and contrast it with the shape of the test error curve.
  2. Why is the interpolation threshold specifically — not "somewhere past it" — the worst point for test error?
  3. A colleague argues a model performing worse than a smaller one must be overfitting and should be shrunk. Under double descent, what alternative explanation, and alternative fix, should you consider?

The common confusion is assuming double descent means "bigger is always better" or that the classical bias-variance tradeoff is wrong. Neither is true: the classical curve is exactly right in the under-parameterized regime, and going bigger only helps once you're well past the interpolation threshold — a model sized just at that threshold can be markedly worse than a noticeably smaller one. Double descent extends the classical picture with a second regime; it doesn't repeal the first one.

Related concepts

Practice in interviews

Further reading

  • Belkin, Hsu, Ma & Mandal, Reconciling Modern Machine-Learning Practice and the Classical Bias-Variance Trade-off (2019)
  • Nakkiran et al., Deep Double Descent: Where Bigger Models and More Data Hurt (2019)
ShareTwitterLinkedIn