dropout regularization

**Dropout** — a regularization technique that randomly deactivates neurons during training, forcing the network to learn redundant representations and reducing overfitting. **How It Works** - During training: Each neuron is set to zero with probability $p$ (typically 0.1–0.5) - During inference: All neurons are active, but outputs are scaled by $(1-p)$ to compensate - Effect: The network can't rely on any single neuron — must learn distributed, robust features **Why It Works** - Approximate ensemble: Each training step uses a different sub-network. Dropout is like training $2^n$ networks simultaneously - Prevents co-adaptation: Neurons can't learn to depend on specific partners **Variants** - **Standard Dropout**: Applied to fully connected layers - **Spatial Dropout (Dropout2D)**: Drops entire feature maps in CNNs (more effective than per-pixel) - **DropConnect**: Drops weights instead of activations - **DropPath/Stochastic Depth**: Drops entire residual blocks (used in Vision Transformers) **Practical Tips** - Typically $p=0.5$ for hidden layers, $p=0.1$–$0.2$ for input layers - Don't use with Batch Normalization (they conflict — BN already regularizes) - Always disable during evaluation: `model.eval()` in PyTorch **Dropout** remains one of the most effective and widely-used regularization techniques despite its simplicity.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account