wikillm

Concept · 14 papers · updated 2026-11-01

Dropout

Randomly zeroing units, weights or whole sub-networks during training to regularise a network. Covers unit dropout, DropConnect, feature-net dropout and variational dropout for recurrent layers. Trade-offs: the rate is sensitive and the papers define it differently, the gain over no regulariser can be small, and the scaling used at inference must match the training form.

regularizationtrainingdropoutrecurrent-networks

Markdown12 min read

AI-compiled overview, updated 2026-11-01, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

Overview

Dropout is a training-time regulariser. Each forward pass removes a random subset of activations (or, in DropConnect, of weights) so that the network cannot rely on any one of them. Seven cards use it this way, in six settings: as the alternative to an L2 penalty in a sparse, multi-field click-prediction network 1601.02376 §3.3; as a baseline and as a companion to a Lipschitz constraint on image and tabular benchmarks 1804.04368 §5; as DropConnect on a large fully connected layer of a medical-imaging ConvNet 1505.03046 §II-A; inside each per-feature network of an interpretable additive model on tabular data, together with whole-network dropout 2004.13912 app. A.3; as variational dropout on the recurrent units of BiLSTM sequence taggers 1707.09861 §4.2; and as fixed-rate dropout in small fully connected networks on sensor and biomechanics features 2411.04700 §3.2 2412.07823 §II.C.

The 2022 regularisation survey describes dropout and its variants in prose and gives no numbers of its own 2201.03299 §4.1. One card uses dropout for a different purpose: it randomises stand-in networks while poisoned training images are crafted, and the victims are trained without dropout 1905.05897 §3.6 1905.05897 §4. See the variant below.

Keeping dropout active at prediction time, and averaging the passes, is a separate use. Five further cards list this slug for that use 2006.12024 §2.4 2009.00236 §3.1.3 2107.03342 §3.2 2110.05719 §4.3.2 2305.04933 §3.2. They are covered on Monte Carlo dropout.

Variants

Unit dropout

Each unit's output is multiplied by a Bernoulli variable at training time. The click-prediction paper uses it in both its FNN and SNN models [arxiv:1601.02376 §4.6], and reports it as a better regulariser than an L2 penalty in every setting it compares 1601.02376 §3.3 1601.02376 §4.5. Its paper and code give different rates; see the caveats below. Card: Deep Learning over Multi-field Categorical Data.

The Lipschitz-constraint paper uses unit dropout as a baseline in every table and combines it with its own constraint. Its scripts set rates per layer type: VGG on CIFAR-10 uses 0.2 for convolutional and 0.5 for dense layers, and WRN uses 0.2 for convolutional layers cifar10-vgg.sh cifar10-wrn.sh. The paper does not state its rates in the text 1804.04368 §5. Card: Regularisation of Neural Networks by Enforcing Lipschitz Continuity.

Variational dropout for recurrent layers

Naive dropout draws a new mask at every time step of an LSTM. Variational dropout draws one mask per sequence and reuses it at all time steps, and it also applies dropout to the recurrent units 1707.09861 §4.2. The paper cites a prior work for this method and does not restate it. In its sweep over sequence-tagging configurations, variational dropout was the best option in 83.5% of 479 cases and gave the smallest spread. Its median gain over no dropout ranged from 0.31 points on POS to 1.98 on Entities, and over naive dropout from 0.19 to 1.32 1707.09861 §6.6. Dropout on both output and recurrent units was best in 62.6% of cases, with median gains of 0.05 to 0.82 points 1707.09861 §6.6. These results are for five tagging tasks with BiLSTM networks trained from scratch, with dropout rates from {0.05, 0.1, 0.25, 0.5} 1707.09861 §4.2. Card: score-distribution study of LSTM sequence taggers.

DropConnect

DropConnect drops individual weights instead of units. The detection paper names it as a regulariser its architecture builds on 1505.03046 §II-A. Its fully connected layer has 512 units with a DropConnect rate of 0.5, taken from the released configuration file and not stated in the paper layers-fc512-11pct-dc.cfg. The card cites no ablation of DropConnect, so its effect in that pipeline is not known from the card. Card: Improving Computer-aided Detection using Convolutional Neural Networks and Random View Aggregation.

Feature-net dropout

The additive model gives each input feature its own small network. Unit dropout is applied after each hidden layer of every feature network models.py. The paper also drops whole feature networks: during training, a feature's network is switched off for an individual example 2004.13912 app. A.3. Both rates are tuned per dataset by Bayesian optimisation 2004.13912 app. A.5. The unit rate search set is {0, 0.05, …, 0.9} and the feature-net search set is {0, 0.05, 0.1, 0.2} 2004.13912 app. A.6. The tuned unit rates are 0.1, 0.2, 0.8, 0.0 and 0.0 on COMPAS, MIMIC-II, Credit Fraud, FICO and Housing, and the feature-net rates are 0.05 on COMPAS and 0.0 elsewhere [arxiv:2004.13912 app. A.6]. The card cites no ablation of feature-net dropout. Its code applies TensorFlow dropout to the stacked feature outputs, which rescales surviving outputs by 1/(1 − p) during training models.py. The paper does not state that scaling. Card: Neural Additive Models: Interpretable Machine Learning with Neural Nets.

Fixed-rate dropout in small fully connected networks

Two cards use dropout as one fixed-rate ingredient of a small network, with no rate search. Neither card reports an ablation of its dropout.

The planetary-rover classifier places dropout at two points. The paper's text says 20% dropout between hidden layers 2411.04700 §3.2. Its code applies 10% dropout to the inputs and 20% after the last hidden layer, before the output model.py model.py. Card: Field Assessment of Force Torque Sensors for Planetary Rover Navigation.

The hip-moment estimator uses a three-layer network of 50 units. Each hidden layer runs linear, then batch normalization, then ReLU, then dropout with rate 0.2 2412.07823 §II.C. The card gives the order of these operations, so the dropout comes after the normalization and the activation. Card: Optimizing Locomotor Task Sets in Biological Joint Moment Estimation for Hip Exoskeleton Applications.

Dropout during crafting of poisons

The clean-label poisoning paper uses dropout in its stand-in networks while it crafts the poisoned images. It does not use dropout in the model that is attacked. At each crafting iteration, each stand-in is sampled as a thinned copy in which every unit is switched off with probability p and the kept units are scaled by 1/(1 − p) 1905.05897 §3.6. The crafting rate equals the rate the stand-in was trained with, and the values are 0.2, 0.25 and 0.3 1905.05897 §4. The victims are trained without dropout 1905.05897 §4. The paper's claim that this helps the poisons transfer rests on loss curves for one target, and no numeric ablation is printed 1905.05897 fig. 3. Card: Transferable Clean-Label Poisoning Attacks on Deep Neural Nets.

When to use which

The cards give conditions and comparisons, not a ranking that transfers to other tasks. The table follows what each card reports.

SituationUseWhy
Fully connected network on sparse, multi-field inputs and an L2 penalty is the alternativeUnit dropout, with the rate checked against the paper's own valueThe click-prediction paper reports dropout better than L2 in its compared settings 1601.02376 §3.3 1601.02376 §4.5
Few labelled examples and a norm or Lipschitz constraint is an optionDropout combined with the constraint, then check the plain constraint tooThe Lipschitz paper reports its gains are largest with few training examples 1804.04368 §5.8; on CIFAR-10 WRN-16-10, the constraint alone scores higher than the combination 1804.04368 tab. 1
A strong baseline already exists and the budget for tuning is smallMeasure dropout against no regulariser on your data before adopting itOn CIFAR-10 the paper's dropout gains over no regulariser are small: VGG19 90.46 vs 90.43 and WRN-16-10 95.46 vs 95.13 1804.04368 tab. 1
A large dense layer in a ConvNet that already uses per-view or per-patch trainingDropConnect on that layer, if the framework supports itThe detection paper uses it on a 512-unit layer 1505.03046 §II-A layers-fc512-11pct-dc.cfg; the card has no ablation, so benefit is not shown
Convolutional and dense layers in one networkSeparate rates per layer type, starting from the values in the cardsThe VGG script uses 0.2 for convolutional and 0.5 for dense layers cifar10-vgg.sh; the WRN script uses 0.2 for convolutional layers cifar10-wrn.sh. The paper does not justify these values
A per-feature network model on tabular data, where the rate should be set per datasetUnit dropout in each feature network, tuned on your data over the paper's search setThe tuned unit rate runs from 0.0 to 0.8 across five datasets 2004.13912 app. A.6, so no single value transfers
A small fully connected regressor or classifier on tabular or sensor features, with no sequence structureFixed dropout after the hidden layers at the rate the card uses (0.2 in both), then tune the rate on your dataBoth cards use it, but neither reports an ablation, so the gain over no dropout is not shown 2411.04700 §3.2 2412.07823 §II.C
A recurrent network (LSTM or BiLSTM) trained from scratch, such as a sequence taggerVariational dropout, with the mask shared across time steps, on the recurrent units as well as the outputs; choose the rate on your dataVariational was the best option in 83.5% of 479 configurations and beat naive dropout by a median of 0.19 to 1.32 points 1707.09861 §6.6. The paper's comparison is on tagging tasks, so the gain on other tasks is not shown
Choosing among CNN regularisersUse the survey to pick a family, then the original paper for the recipeIts results table is compiled from original papers and not rerun, and its rows differ in architecture, schedule and augmentation 2201.03299 tab. 2 2201.03299 §7.2
Using the spread over dropout passes as an uncertainty estimateUse the Monte Carlo dropout page; tune the rate and check calibrationThe uncertainty tutorial warns the result depends strongly on the dropout rate, the number of dropout layers and training length, and reports overconfidence at low rates 2305.04933 §3.2 2305.04933 §6.1

Implementation sketch

The loop below is the training-time core. It shows the two consistent ways to scale activations. The inverted form scales at training time; the plain form scales at inference. Pick one and keep it.

Pseudocode
# Training-time dropout on one layer's activations
# Here `rate` is the drop share, unlike the keep rate in the click-prediction card
def dropout_train(h, rate, inverted):
    # Each unit is kept with probability 1 - rate
    mask = bernoulli(1 - rate, shape(h))
    if inverted:
        # Scale kept units up now, so inference needs no change
        return h * mask / (1 - rate)
    return h * mask

# Inference. The plain form scales at test time [arxiv:1804.04368 §4.3]
def dropout_infer(h, rate, inverted):
    if inverted:
        return h
    # Multiply by the kept share to match the unscaled training pass
    return h * (1 - rate)

# Variational mask for one recurrent layer [arxiv:1707.09861 §4.2]
def locked_mask(batch, units, rate):
    # One mask per sequence, shared by every time step
    keep = bernoulli(1 - rate, shape(batch, 1, units))
    return keep / (1 - rate)

mask = locked_mask(batch, units, rate)
for t in range(steps):
    # Same mask at each step; the mask is already scaled (inverted form)
    h[t] = h[t] * mask

Caveats that apply to every variant:

  • The rate's meaning differs between cards. The click-prediction paper calls its value a keep rate: a value of 0.8 keeps 80% of units 1601.02376 §4.6. The Lipschitz paper gives its values as p and does not define them in the text 1804.04368 §5; its code uses the Keras Dropout layer maybe.py. The Lipschitz card reads Keras's documented argument as the drop share and does not verify it. The additive model's TensorFlow dropout also takes the drop share, scaling by 1/(1 − p) models.py. The sequence-tagging paper lists its rates without saying whether they are keep or drop shares 1707.09861 §4.2. Check the convention of your framework and of the paper before copying a number.
  • Scaling must match between training and inference. The click-prediction code divides nothing at training time and uses undropped activations at inference 1601.02376 Paper vs code, pitfall "No inverted dropout" FNN.py. The Lipschitz paper describes weight scaling at test time 1804.04368 §4.3. Using the wrong pairing shifts the activation scale.
  • Penalty terms may need dropout switched off. The additive model's output penalty is computed with dropout disabled graph_builder.py, so the penalty does not see a randomly thinned output. Check whether your framework's regulariser code does the same.
  • Dropout changes what the constraint strength should be. The Lipschitz paper says a larger constraint value is needed with dropout, and that tuning without dropout and rescaling afterwards is not a valid shortcut 1804.04368 §4.3.
  • Being in eval mode does not always turn dropout off. In one released implementation, a manual dropout call stays active whenever its rate is above zero resnet.py 1905.05897 pitfalls. Check that the switch you rely on actually disables it.

Contradictions

  • Rate values, paper against code. The click-prediction paper gives a keep rate of about 0.8 for its FNN and about 0.99 for its SNN 1601.02376 §4.6. Its code uses 0.5 for the FNN on advertiser 2997, and 0.98 and 0.99 for the two SNN samplers FNN.py SNN_RBM.py SNN_DAE.py. The card records this as a difference, not a resolved value.
  • Size of the gain. The click-prediction paper reports dropout better than L2 in every compared setting 1601.02376 §3.3. The Lipschitz paper says L2 penalties are weaker than dropout 1804.04368 §1, but its own CIFAR-10 table shows dropout alone 0.03 points above no regulariser on VGG19 and 0.33 points above on WRN-16-10 1804.04368 tab. 1. The two statements are about different comparisons, so both are kept here.
  • Dropout placement, paper against code. The rover paper says 20% dropout between the hidden layers 2411.04700 §3.2. Its code applies one 20% dropout after the last hidden layer, before the output model.py. The card records this as a difference, not a resolved value.
  • Default rate, paper against code. The sequence-tagging paper's grid is 0.05 to 0.5 and it names no single best rate 1707.09861 §4.2 1707.09861 §6.6. Its class default is (0.5, 0.5), and its example scripts use (0.25, 0.25) BiLSTM.py [code: Train_POS.py#L62]. Neither tuple is a value the paper reports.
  • Best setting. The Lipschitz paper's text says a dropout combination is the best cell in several tables 1804.04368 §5. On CIFAR-10 WRN-16-10 the best cell is the constraint alone at 95.82 ± 0.19, above the combination at 95.68 ± 0.11 1804.04368 tab. 1.

Papers

Source and license

Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.