Le surajustement dans l'apprentissage machine (ML) se produit lorsqu'un modèle apprend trop bien les données d'entraînement, capturant le bruit et les fluctuations aléatoires au lieu du modèle sous-jacent. Cela conduit à d'excellentes performances sur l'ensemble des données d'apprentissage, mais à une mauvaise généralisation à de nouvelles données inédites. Essentiellement, le modèle devient trop complexe et adapté spécifiquement aux exemples de formation, ce qui revient à mémoriser des réponses plutôt qu'à comprendre des concepts. C'est un défi courant lors de la formation de modèles d'IA, en particulier avec des algorithmes complexes comme les réseaux neuronaux utilisés dans Ultralytics YOLO pour des tâches telles que la détection d'objets et la segmentation d'images.
Comprendre le surajustement
L'overfitting survient parce que les modèles ML visent à minimiser les erreurs sur les données d'apprentissage. Si un modèle possède une complexité excessive (par exemple, trop de paramètres ou de couches dans un modèle d'apprentissage profond ), il peut s'adapter même au bruit aléatoire présent dans l'ensemble de formation. Ce bruit ne représente pas de véritables modèles sous-jacents et il est peu probable qu'il soit présent dans de nouveaux ensembles de données. Imagine que tu adaptes parfaitement un costume aux mensurations exactes d'une personne un jour précis - il pourrait ne pas bien lui aller si son poids fluctue légèrement ou si quelqu'un d'autre l'essaie. En ML, cet "ajustement parfait" sur les données d'entraînement se traduit par un manque de flexibilité et des performances médiocres sur les données du monde réel, ce que l'on appelle souvent une mauvaise généralisation.
Le problème opposé est le sous-ajustement, lorsqu'un modèle est trop simple pour capturer la structure sous-jacente des données. Un modèle sous-adapté donne de mauvais résultats à la fois sur les données d'entraînement et sur les nouvelles données parce qu'il n'a pas suffisamment appris. L'objectif est de trouver un équilibre optimal, souvent discuté dans le contexte du compromis biais-variance, en créant un modèle qui se généralise bien à des données inédites. Une variance élevée est caractéristique d'un surajustement, tandis qu'un biais élevé est caractéristique d'un sous-ajustement. La compréhension de ce concept de compromis est cruciale pour le développement de modèles.
Exemples réels de surajustement
- Analyse d'images médicales : Prenons l'exemple d'un modèle formé pour l'analyse d'images médicales, comme la détection de tumeurs dans les IRM. Si les données d'entraînement proviennent principalement d'un seul modèle de scanner IRM, l'IA risque de s'adapter de façon excessive aux caractéristiques spécifiques de l'image (comme les modèles de bruit ou la résolution) de cette machine. Lorsqu'on lui présente des images provenant d'un autre scanner ou des images de moindre qualité, ses performances peuvent se dégrader considérablement car elle a appris des artefacts spécifiques à la machine plutôt que des caractéristiques générales de la tumeur. Le biais de l'ensemble des données peut exacerber ce problème.
- Véhicules autonomes : Un modèle de détection d'objets utilisé dans un véhicule autonome pourrait être formé en grande partie sur des images capturées par temps clair et ensoleillé. Ce modèle pourrait atteindre une grande précision sur des données de test similaires, mais ne pas réussir à détecter de manière fiable les piétons, les cyclistes ou d'autres véhicules dans des conditions défavorables telles qu'une forte pluie, du brouillard ou la nuit. Il s'est surajouté aux indices visuels spécifiques de l'environnement d'entraînement (par exemple, ombres dures, lumière vive) au lieu d'apprendre les caractéristiques robustes et générales des objets dans différentes conditions. L'utilisation de données d'entraînement diversifiées, éventuellement à l'aide d'ensembles de données comme COCO ou Argoverse, permet d'atténuer ce problème.
Identifier le surajustement
Le surajustement est généralement identifié en comparant les performances d'un modèle sur l'ensemble de données d'apprentissage par rapport à un ensemble de données de validation distinct.
- Mesures de performance : Surveille les mesures telles que l'exactitude, la précision, le rappel et le score F1. Si les mesures de formation continuent de s'améliorer alors que les mesures de validation plafonnent ou se détériorent, le modèle est probablement surajusté. La valeur de la fonction de perte diminue généralement de manière significative sur l'ensemble d'apprentissage mais augmente ou stagne sur l'ensemble de validation. Tu peux explorer diverses mesures de performance deYOLO pour l'évaluation.
- Courbes d'apprentissage : Le tracé des performances du modèle (par exemple, la perte ou la précision) au fil des époques pour les ensembles d'apprentissage et de validation fournit un aperçu visuel. Un écart croissant entre la courbe d'apprentissage (qui s'améliore) et la courbe de validation (qui stagne ou se dégrade) est un signe classique de surajustement. La visualisation des courbes d'apprentissage aide à diagnostiquer ce problème.
Prévenir le surajustement
Plusieurs techniques peuvent aider à atténuer le surajustement et à améliorer la généralisation du modèle :
- Validation croisée: Les techniques telles que la validation croisée K-Fold utilisent différents sous-ensembles de données pour la formation et la validation, ce qui permet d'obtenir une estimation plus solide des performances du modèle sur des données inédites.
- Augmentation des données: Augmenter artificiellement la taille et la diversité de l'ensemble de données d'entraînement en appliquant des transformations telles que la rotation, la mise à l'échelle, le recadrage et les changements de couleur. Les techniques d'augmentation des données d'Ultralytics YOLO sont intégrées pour améliorer la robustesse.
- Régularisation: Ajout de pénalités à la fonction de perte en fonction de la complexité du modèle (par exemple, l'ampleur des poids). Les méthodes courantes comprennent la régularisation L1 et L2, qui découragent les poids importants. En savoir plus sur les méthodes de régularisation L1 et L2.
- Arrêt précoce : Surveillance des performances du modèle sur l'ensemble de données de validation pendant la formation et arrêt du processus de formation lorsque les performances de validation commencent à se dégrader, ce qui empêche le modèle d'apprendre du bruit dans les époques ultérieures. Voir une explication de l'arrêt anticipé dans Keras.
- Abandon: Mettre aléatoirement à zéro une fraction des activations des neurones pendant la formation. Cela oblige le réseau à apprendre des caractéristiques plus robustes qui ne dépendent pas d'un seul neurone. Le concept d'exclusion est expliqué en détail ici.
- Élagage du modèle: Suppression des paramètres ou des connexions moins importants au sein d'un réseau neuronal entraîné afin de réduire sa complexité sans avoir d'impact significatif sur les performances. Neural Magic propose des outils d'élagage.
- Simplifier l'architecture du modèle : L'utilisation d'un modèle moins complexe (par exemple, moins de couches ou de paramètres) peut empêcher le surajustement, surtout si l'ensemble de données est petit. Cela peut impliquer le choix d'une variante de modèle plus petite, comme la comparaison entre YOLOv8n et YOLOv8x.
- Obtiens plus de données : L'augmentation de la quantité de données d'entraînement de haute qualité est souvent l'un des moyens les plus efficaces d'améliorer la généralisation et de réduire le surajustement. Explore divers ensembles de donnéesUltralytics .
En comprenant et en traitant l'overfitting, les développeurs peuvent construire des modèles d'IA plus fiables et plus efficaces. Des outils comme Ultralytics HUB peuvent contribuer au suivi des expériences et à l'évaluation des modèles, en aidant à la détection et à l'atténuation de l'overfitting pendant le cycle de vie du développement du modèle.