Glossaire

Couche de chute

Découvre comment les couches d'abandon empêchent le surajustement dans les réseaux neuronaux en améliorant la généralisation, la robustesse et la performance du modèle.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Une couche de dropout est une technique fondamentale utilisée dans la formation des réseaux neuronaux (NN) pour lutter contre le problème de l'overfitting. Introduit par Hinton et al. dans leur article influent de 2014, le dropout est devenu une méthode de régularisation largement adoptée dans l'apprentissage profond (DL), particulièrement efficace dans les grands réseaux avec de nombreux paramètres. Son objectif principal est d'améliorer la capacité de généralisation du modèle, en veillant à ce qu'il soit performant sur des données non vues, et pas seulement sur les données d'entraînement.

Comment fonctionne le décrochage

Au cours du processus d'apprentissage du modèle, une couche d'abandon (Dropout Layer) " abandonne " ou désactive de façon aléatoire une fraction des neurones (unités) de cette couche pour chaque échantillon d'apprentissage. Cela signifie que les sorties de ces neurones sélectionnés sont mises à zéro et qu'ils ne contribuent pas à la passe avant ou ne participent pas à l'étape de rétropropagation pour cet échantillon spécifique. La fraction de neurones à abandonner est déterminée par le taux d'abandon, un hyperparamètre généralement fixé entre 0,2 et 0,5.

Il est important de noter que l'exclusion n'est active que pendant la formation. Pendant l'inférence ou la prédiction sur les données de test, tous les neurones sont actifs. Pour compenser le fait que plus de neurones sont actifs pendant l'inférence que pendant l'apprentissage, les sorties de la couche sont généralement réduites par le taux d'abandon (une technique appelée abandon inversé, couramment mise en œuvre dans des frameworks tels que PyTorch et TensorFlow).

Avantages de l'utilisation de Dropout

L'avantage principal de l'utilisation des couches d'exclusion est l'amélioration de la généralisation du modèle et la réduction de l'ajustement excessif. Plusieurs mécanismes permettent d'atteindre ces objectifs :

  • Réduction de la coadaptation : En éliminant des neurones de façon aléatoire, l'abandon empêche les unités d'une couche de devenir trop dépendantes les unes des autres (coadaptation) pour corriger les erreurs pendant la formation. Cela oblige chaque neurone à apprendre des caractéristiques plus robustes et indépendantes, utiles par elles-mêmes.
  • Ensemble implicite : L'application de l'abandon au cours de la formation s'apparente à la formation d'un grand nombre de réseaux neuronaux différents "amincis" avec des poids partagés. Au moment de l'inférence, l'utilisation du réseau complet avec des activations mises à l'échelle revient à faire la moyenne des prédictions de ce grand ensemble, ce qui conduit généralement à de meilleures performances et à une plus grande robustesse.
  • Efficacité informatique : Bien que le concept soit similaire à la formation de plusieurs modèles, l'abandon permet d'obtenir cet effet d'ensemble au cours d'un seul cycle de formation de modèle, ce qui le rend beaucoup moins coûteux sur le plan informatique que l'assemblage de modèles explicites.

Applications dans le monde réel

Dropout est largement utilisé à travers divers domaines de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML):

  1. Vision par ordinateur : Dans le domaine de la vision par ordinateur (VA), le décrochage aide les modèles tels que Ultralytics YOLO sont plus performants dans des tâches telles que la détection d'objets, la classification d'images et la segmentation d'instances. Par exemple, dans les systèmes de conduite autonome, l'abandon peut rendre les modèles de détection plus robustes aux variations d'éclairage, aux conditions météorologiques ou aux occlusions, améliorant ainsi la sécurité et la fiabilité. La formation de ces modèles peut être gérée efficacement à l'aide de plateformes comme Ultralytics HUB.
  2. Traitement du langage naturel (NLP) : Le dropout est couramment appliqué dans les modèles NLP tels que Transformers et BERT. Dans des applications telles que la traduction automatique ou l'analyse des sentiments, le dropout empêche le modèle de mémoriser des phrases ou des structures de phrases spécifiques à partir des données d'entraînement, ce qui permet de mieux comprendre et de générer de nouveaux textes. Cela améliore les performances des chatbots et des outils de résumé de texte.

Concepts et distinctions connexes

Le dropout est l'une des nombreuses techniques utilisées pour la régularisation dans l'apprentissage profond. D'autres incluent :

  • Régularisation L1 et L2 : Ces méthodes ajoutent une pénalité à la fonction de perte en fonction de l'ampleur des poids du modèle, ce qui favorise les petits poids. En savoir plus sur la régularisation L1/L2.
  • Normalisation par lots : La normalisation par lots (BN) normalise les activations au sein d'une couche, ce qui peut stabiliser l'entraînement et parfois fournir un léger effet de régularisation, réduisant potentiellement la nécessité d'un fort décrochage. Alors que la normalisation par lots s'attaque aux changements de covariables internes, l'exclusion cible directement la complexité du modèle en forçant la redondance.
  • Augmentation des données : Les techniques telles que la rotation, la mise à l'échelle ou le recadrage des images(augmentation des données) augmentent artificiellement la diversité de l'ensemble des données d'apprentissage, ce qui permet également d'éviter l'ajustement excessif et d'améliorer la généralisation. L'exclusion et l'augmentation des données sont souvent utilisées ensemble.

En résumé, le Dropout Layer est une technique de régularisation simple mais puissante, essentielle pour former des modèles d'apprentissage profond robustes dans diverses applications, de la vision par ordinateur au NLP.

Tout lire