Learn how to use a [dropout layer](https://www.ultralytics.com/glossary/dropout-layer) to prevent overfitting. Discover how to train [YOLO26](https://docs.ultralytics.com/models/yolo26/) for more robust AI models.
Une couche de dropout est une technique de régularisation fondamentale utilisée dans les réseaux neuronaux (NN) pour lutter contre le problème omniprésent du surajustement. Lorsqu'un modèle est entraîné sur un ensemble fini d'exemples, il apprend souvent à mémoriser le bruit et les détails spécifiques des données d'entraînement plutôt que de discerner les modèles généraux sous-jacents. Cette mémorisation conduit à une grande précision pendant le développement, mais à de mauvaises performances sur de nouvelles entrées inconnues. Le dropout résout ce problème en désactivant de manière aléatoire, ou en « abandonnant », une fraction des neurones d'une couche à chaque étape du processus d'entraînement. Cette stratégie simple mais efficace, présentée dans un article de recherche novateur de Srivastava et al., a considérablement amélioré la stabilité et les performances des architectures d'apprentissage profond (DL).
The mechanism behind a dropout layer is intuitively similar to removing players from a sports team during practice to force the remaining players to work harder and not rely on a single star athlete. During the model training phase, the layer generates a probabilistic mask of zeros and ones. If the dropout rate is set to 0.5, approximately 50% of the neurons are temporarily ignored during that specific forward and backward pass. This process forces the remaining active neurons to learn robust features independently, preventing the network from relying too heavily on any single neuron—a phenomenon known in machine learning (ML) as feature co-adaptation.
Pendant l'inférence en temps réel, ou la phase de test , la couche de dropout est généralement désactivée. Tous les neurones restent actifs afin d'utiliser toute la capacité prédictive du modèle entraîné. Pour garantir que les valeurs d'activation totales restent cohérentes avec la phase d'entraînement, les poids sont souvent mis à l'échelle automatiquement par le framework. Les bibliothèques modernes telles que PyTorch gèrent ces opérations mathématiques de mise à l'échelle de manière transparente, ce qui permet aux développeurs de se concentrer sur l'architecture plutôt que sur l'arithmétique.
Pour les utilisateurs de l'application ultralytics package, en appliquant le dropout à un modèle de pointe tel que
YOLO26 is as simple as adjusting a training argument. This
is particularly useful when working with smaller datasets where the risk of overfitting is higher. By introducing
randomness, you can encourage the model to generalize better across diverse environments.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model with a custom dropout rate of 0.1 (10%)
# This encourages the model to learn more generalized features
results = model.train(data="coco8.yaml", epochs=50, dropout=0.1)
Le dropout est indispensable dans divers domaines de l' intelligence artificielle (IA) où les modèles utilisent un grand nombre de paramètres par rapport aux données disponibles.
While dropout is highly effective, it is often used alongside other techniques. It is distinct from data augmentation, which modifies the input images (e.g., flipping or rotating) rather than the network architecture itself. Similarly, it differs from batch normalization, which normalizes layer inputs to stabilize learning but does not explicitly deactivate neurons.
For complex projects, managing these hyperparameters can be challenging. The Ultralytics Platform simplifies this by providing tools to visualize training metrics, helping users determine if their dropout rates are effectively reducing validation loss. Whether you are building a custom image classification system or a sophisticated segmentation pipeline, understanding dropout is key to building resilient AI systems.