This article was automatically translated from the original Turkish version.
Dropout is a regularization method developed to prevent overfitting in deep learning models and is now widely used. It was first proposed by Geoffrey Hinton and colleagues in 2012 and later thoroughly analyzed in 2014 under the leadership of Nitish Srivastava.

Illustration of the dropout working principle (generated by Artificial Intelligence)
Dropout is a regularization technique designed to prevent overfitting in deep neural networks. During training, a random subset of neurons in hidden layers is temporarily deactivated according to a specified dropout rate p. These neurons are not used during either the forward or backpropagation passes in that step. As a result, the network is forced to operate on different “thinned subnetworks” in each training iteration, which:
After training, to ensure consistent outputs when all neurons are active, neuron outputs are typically scaled by a factor of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.3262em;vertical-align:-0.4811em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">p</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4811em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>
Popular libraries such as Keras, TensorFlow, and PyTorch provide built-in Dropout layers.
Simple Dropout: Typically deactivates 50% of neurons in hidden layers and 10%–20% in input layers. During testing, all neurons are active and outputs are scaled.
DropConnect: Randomly deactivates connections instead of neurons.
SpatialDropout, DropBlock, MC Dropout (Dropout is applied during testing for uncertainty estimation in Bayesian approaches).
Monte Carlo Dropout: Multiple masked forward passes during testing are used to estimate model uncertainty.
Early/Late Dropout: Dropout is activated at the beginning or end of training to optimize the model’s learning dynamics.
Dropout is widely used in convolutional neural networks (CNNs), fully connected deep networks (DNNs), and recurrent networks (RNNs). It also provides a flexible framework for Bayesian uncertainty modeling, facilitating more reliable predictions.
[1]
Srivastava, Nitish, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. "Dropout: a simple way to prevent neural networks from overfitting." The journal of machine learning research 15, no. 1 (2014): 1929-1958. Erişim Adresi.
Working Mechanism
Historical Development
Usage and Parameters
Advantages and Disadvantages
Advantages
Disadvantages
Advanced Variants
Orientation and Application Areas