Search

Search IconIcon to open search

Dropout

Last updatedUpdated: by Jakub Žovák · 2 min read

Properties
created 15.03.2026, 09:28
modified 26.07.2026, 13:37
published Empty
topics Regularization, Stochastic Training
authors Jakub
ai-assisted Yes

Dropout is a regularization technique that randomly sets a fraction of neuron activations to zero during each forward pass of training. This prevents neurons from co-adapting and forces the network to learn redundant representations ( Srivastava et al., 2014).

# Mechanism

During training, each activation \(h_i\) is independently zeroed with probability \(p\) (the drop rate):

$$ \tilde{h}_i = h_i \cdot \text{Bernoulli}(1 - p) $$

At inference, all neurons are active but outputs are scaled by \((1 - p)\) to match expected training values (or equivalently, training uses inverted dropout — scale by \(\frac{1}{1-p}\) at train time so no change is needed at test time).

# Ensemble Interpretation

Training with dropout approximates training an ensemble of \(2^n\) thinned networks (where \(n\) is the number of units). At test time, the full network with scaled weights approximates geometric mean of the ensemble ( Deep Learning, Ch. 7).

# Properties

  • Computationally cheap: random masking adds minimal overhead
  • Works well for fully-connected and recurrent layers; less effective for convolutional layers (use Batch Normalization instead)
  • Typical drop rates: \(p = 0.5\) for hidden layers; \(p = 0.1\)–\(0.2\) for input/embedding layers
  • Transformers use attention dropout and residual dropout in addition to MLP dropout
  • Creates a form of noise injection during training, improving robustness

# Variants

  • DropConnect — drops individual weights rather than activations
  • Spatial Dropout — drops entire feature maps (used in CNNs)
  • Monte Carlo Dropout — keep dropout active at test time to estimate prediction uncertainty