Découvrez comment les couches dropout empêchent le surapprentissage dans les réseaux neuronaux en améliorant la généralisation, la robustesse et les performances du modèle.
Une couche d'exclusion est une technique de régularisation technique de régularisation fondamentale utilisée dans les réseaux neuronaux (RN) pour éviter le problème courant de l'ajustement excessif. de l'overfitting. Lorsqu'un modèle est entraîné sur un ensemble de données, il risque d'apprendre le bruit et les détails spécifiques de l'ensemble de données, données, il risque d'apprendre le bruit et les détails spécifiques des données d'entraînement plutôt que les données générales sous-jacentes. données d'apprentissage plutôt que les modèles généraux sous-jacents. sous-jacents. Cette mémorisation conduit à des performances médiocres sur de nouvelles données inédites. Dropout remédie à ce problème en désactivant aléatoirement une fraction des neurones d'une couche à chaque étape du processus de formation. processus d'apprentissage. Cette stratégie simple mais efficace a été introduite dans un par Geoffrey Hinton et ses collègues, ce qui a considérablement fait collègues, faisant ainsi progresser de manière significative le domaine de l'apprentissage profond (DL). l'apprentissage profond (DL).
Le mécanisme qui sous-tend la couche de décrochage est simple mais puissant. Pendant la phase phase d'apprentissage du modèle, la couche génère un masque de zéros et de uns en fonction d'une probabilité spécifiée, appelée taux d'abandon. Si le taux est fixé à 0,5, environ 50 % des neurones sont temporairement ignorés lors de ce passage avant et arrière. Cela oblige les neurones actifs restants à s'intensifier et à apprendre des caractéristiques robustes de manière indépendante, ce qui empêche le réseau de trop se reposer sur un seul neurone, un phénomène que l'on retrouve également dans d'autres réseaux. sur un seul neurone - un phénomène connu sous le nom de coadaptation.
Pendant l'inférence, ou la phase de test, la couche d'exclusion est généralement désactivée. est généralement désactivée. Tous les neurones sont actifs afin d'utiliser toute la capacité du modèle formé. Pour s'assurer que les valeurs d'activation totales restent cohérentes avec la phase de formation, les poids sont souvent mis à l'échelle automatiquement par le cadre. automatiquement par le cadre de travail. Les bibliothèques modernes telles que PyTorch gèrent ces opérations de manière transparente dans leur dropout.
Pour les utilisateurs de l'application ultralytics l'application de l'abandon à un modèle tel que
YOLO11 est aussi simple que d'ajuster un argument de formation.
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on a dataset with a custom dropout rate of 0.2
# This helps prevent overfitting on smaller datasets
results = model.train(data="coco8.yaml", epochs=10, dropout=0.2)
Dropout est indispensable dans divers domaines de l'intelligence l'intelligence artificielle (IA) où les les modèles sont susceptibles d'être surajoutés en raison d'un grand nombre de paramètres ou de données limitées.
Comprendre en quoi le dropout diffère des autres techniques est crucial pour un réglage efficace des hyperparamètres. efficace des hyperparamètres.