Dropout

Randomly resting part of a model during training

Key points
  • Dropout randomly picks part of a model's units and rests them while it trains.
  • Which units rest is redrawn every step. The point is to make sure no unit can lean on one particular partner.
  • The result is that several units end up learning overlapping jobs, so losing any one of them doesn't shake the whole model.
  • The rate is set by a person. Too high and the model can't learn what it needs to; too low and the trick does nothing.
  • Units rest only during training. Every one of them is switched on when the model is actually used, with a matching adjustment built in.
Contents

1The analogy

A watermill turns as falling water fills the buckets on its wheel. But if the water always lands in the same spot, a few buckets end up carrying the whole load while the rest sit almost idle. From the outside the wheel looks fine, but really it is hanging its entire turn on two or three buckets.

So a few boards are kept on hand, and every time the wheel turns, a different set of buckets gets blocked off with them. This one today, that one next time. Since nobody knows ahead of time which buckets will be blocked, no bucket can assume its neighbor will cover for it. Eventually every bucket learns to pull its own weight.

Dropout is this set of boards. During training it blocks off part of the units at random and keeps the wheel turning, so the units left standing have to carry the work on their own. When it's finally time to grind, every board comes off and the wheel runs on all its buckets.

2In detail

A model leaning on just a few units

A model holds a huge number of units passing values back and forth. Over a long training run, a handful of them can pair up into one particular combination that ends up carrying almost the whole answer, while the rest settle for backing it up at best.

A model like this scores well on the data it trained on. But when new data doesn't fit that combination, there's nothing else to fall back on, and the mistakes are large. A structure leaning that hard on one side falls apart the moment the data shifts even slightly.

Dropout breaks up this leaning during training itself. Since a different set of units drops out every step, no particular combination ever gets the chance to set in. Training drifts toward a state where every unit builds a signal that's useful on its own.

A new draw every step

Which units rest isn't decided in advance. Every time a batch of data is processed, the units are redrawn on the spot. A unit picked to rest holds its value at zero for that step, and it's skipped when credit gets divided up on the way back too.

That means every step trains a slightly different model. With thousands of units, the number of possible combinations is effectively endless. The finished model ends up close to a blend of countless slightly different models trained this way — a trick that imitates, inside a single model, the old rule of thumb that averaging several models' answers makes for a steadier one.

How much rest is enough

The rate is set by a person. Resting close to half the units is a common setting, and layers with fewer units get a much lower rate. Too high, and the units left standing can't carry the load, so training struggles. Too low, and it fails to break up the leaning, so setting it barely does anything.

Layers can carry different rates too — heavier where units are packed densely, lighter near where values first come in. On training runs with a huge amount of data, it's sometimes skipped entirely, since the same data is never repeated enough to get memorized.

It's worth knowing that dropout slows training down a little too. Learning with part of the model missing every step means more turns of the wheel to reach the same score. Looking only at scores on the training data, the version without dropout always looks better — but measure it on data set aside instead, and the order flips.

Everything switched on when it's used

Once training ends and the model actually goes to work, nothing rests anymore. Getting a different answer to the same question every time would be no good. But simply switching everything back on causes a problem of its own: during training, values always flowed with part of the model missing, so now that everything is on, the values come out that much larger.

That's why a matching adjustment rides along with it. A common approach scales up the surviving units' values ahead of time, during training itself. Do that, and no correction is needed at use time — the size of the values already lines up with what training expected.

3More precisely

Dropout sets each unit to zero with a fixed probability during the training step, then scales up the remaining units' values by that same probability to compensate. It shares its goal with penalizing large values, so it's classed as regularization in the broad sense, but it differs in cutting the signal itself rather than adding a term to the loss.

The analogy breaks down in a few places. A watermill's buckets are visible and fixed in number, but a model's units are closer to channels a value flows through — hard to count one by one. And boards are chosen and placed by a person, while dropout draws its picks at random every time. Worth knowing too: in today's large models, dropout is often placed somewhere other than between layers, or skipped entirely once there's enough data to make memorizing unlikely in the first place. Some variants block off whole groups at once instead of one unit at a time, and some deliberately leave it switched on at answer time, running the model several times over to see how much the answer wavers from one pass to the next.

4Try it yourself

5Common misconceptions

  • It's easy to think dropout actually removes units from the model, but actually it only holds their value at zero for that one step — they're back the next step.

  • It's easy to think dropout keeps working while the model is answering, but actually it's switched on only during training; at use time everything runs switched on.

  • It's easy to think a higher rate always blocks overfitting better, but actually push it too far and the units left standing can't carry the load, so training itself breaks down.

7One-line summary

In shortDropout is a set of boards that blocks off part of a model at random during training, building a model that never leans its whole weight on one part.

Spotted an error or have a better analogy? Suggest an edit · Last updated2026-09-02