Dropout is a regularization technique for reducing overfitting. During each training iteration, it randomly sets a fraction of neuron outputs to zero, discouraging the network from relying too heavily on any single input or feature. section 8.5.2
Dropout works by:
- Generating slightly different neuron topologies from one iteration to the next, making memorization harder. section 8.5.2
- Perturbing features throughout the network in a way related to data augmentation. section 8.5.2
- Using nn.Dropout for general layers, or nn.Dropout2d and nn.Dropout3d to zero entire input channels in convolutional networks. section 8.5.2
- Keeping dropout active while training and changing its behavior for evaluation. section 8.5.2
Dropout in a convolutional model
A PyTorch classifier can place nn.Dropout2d(p=0.4) after each convolutional activation and before the next layer. The example applies this pattern twice, then flattens the result for fully connected layers.











