Dropout
Randomly zeroing a fraction of activations during training, so no single unit can be relied on and the network has to spread what it learns.
What people get wrong
It must be switched off at inference, which is what `model.eval()` does. Leaving it on is a common cause of results that are worse and different on every run.
A definition is not an understanding. This is taught properly in Regularisation and validation, hands on, part of Overfitting & regularisation.
Learn this properly