Glossaire

Surajustement

Apprenez à identifier, prévenir et traiter l'overfitting dans l'apprentissage automatique. Découvrez les techniques permettant d'améliorer la généralisation des modèles et les performances dans le monde réel.

Le surajustement est un concept fondamental de l'apprentissage automatique qui se produit lorsqu'un modèle apprend les détails et le bruit des données d'apprentissage dans une mesure telle qu'il a un impact négatif sur les performances du modèle sur de nouvelles données inédites. En substance, le modèle mémorise l'ensemble des données d'apprentissage au lieu d'apprendre les modèles sous-jacents. Il en résulte un modèle qui atteint une grande précision sur les données sur lesquelles il a été formé, mais qui ne parvient pas à se généraliser aux données du monde réel, ce qui le rend peu fiable pour les applications pratiques. L'obtention d'une bonne généralisation est l'un des principaux objectifs du développement de l'IA.

Comment identifier le surajustement

Le surajustement est généralement identifié en contrôlant les performances du modèle à la fois sur l'ensemble de données d'apprentissage et sur un ensemble de données de validation distinct au cours du processus d'apprentissage. Un signe courant de surajustement est que la valeur de la fonction de perte pour l'ensemble d'apprentissage continue à diminuer, alors que la perte pour l'ensemble de validation commence à augmenter. De même, si la précision de l'apprentissage continue de s'améliorer mais que la précision de la validation plafonne ou empire au cours des époques suivantes, le modèle est probablement surajusté. Des outils comme TensorBoard sont excellents pour visualiser ces mesures et diagnostiquer ces problèmes rapidement. Des plateformes comme Ultralytics HUB peuvent également aider à suivre les expériences et à évaluer les modèles pour détecter le surajustement.

Surajustement et sous-ajustement

L'ajustement excessif et l'ajustement insuffisant sont deux problèmes courants de l'apprentissage automatique qui représentent l'incapacité d'un modèle à se généraliser. Il s'agit essentiellement de problèmes opposés.

  • Surajustement: Le modèle est trop complexe pour les données (variance élevée). Il capte le bruit et les fluctuations aléatoires dans les données d'apprentissage, ce qui se traduit par d'excellentes performances pendant l'apprentissage, mais de piètres performances sur les données de test.
  • Insuffisance d'ajustement: Le modèle est trop simple pour saisir la structure sous-jacente des données ( biais important). Il donne de mauvais résultats sur les données d'apprentissage et de test, car il ne peut pas apprendre les modèles pertinents.

Le défi de l'apprentissage profond est de trouver le bon équilibre, un concept souvent décrit par le compromis biais-variance.

Exemples concrets de surajustement

  1. Détection d'objets pour les véhicules autonomes: Imaginez que vous entraîniez un modèle Ultralytics YOLO pour un véhicule autonome à l'aide d'un ensemble de données qui ne contient que des images prises en plein jour et ensoleillées. Le modèle pourrait devenir très spécialisé dans la détection des piétons et des voitures en pleine lumière, mais échouer de façon spectaculaire la nuit ou par temps pluvieux ou brumeux. Il s'est surajouté aux conditions d'éclairage et météorologiques spécifiques des données d'apprentissage. L'utilisation d'ensembles de données diversifiés comme Argoverse permet d'éviter cela.
  2. Analyse d'images médicales: Un modèle CNN est entraîné à détecter des tumeurs à partir d'examens IRM provenant d'un seul hôpital. Le modèle peut apprendre par inadvertance à associer à la présence d'une tumeur des artefacts ou des bruits spécifiques provenant de l'appareil d'IRM de cet hôpital. Lorsqu'il est testé sur des scanners provenant d'un autre hôpital et d'une autre machine, ses performances peuvent chuter de manière significative parce qu'il s'est surajouté au bruit de l'ensemble d'apprentissage original, et non aux marqueurs biologiques réels des tumeurs. Il s'agit d'un problème crucial dans des domaines tels que l 'IA dans les soins de santé.

Comment éviter le surajustement

Plusieurs techniques peuvent être employées pour lutter contre l'ajustement excessif et construire des modèles plus robustes.

  • Obtenez plus de données: L'augmentation de la taille et de la diversité de l'ensemble de données d'entraînement est l'un des moyens les plus efficaces d'éviter l'ajustement excessif. Un plus grand nombre de données permet au modèle d'apprendre les véritables modèles sous-jacents plutôt que le bruit. Vous pouvez explorer une variété d'ensembles de données Ultralytics pour améliorer vos projets.
  • Augmentation des données: Il s'agit d'élargir artificiellement l'ensemble de données de formation en créant des copies modifiées des données existantes. Des techniques telles que les rotations aléatoires, la mise à l'échelle, le recadrage et les changements de couleur sont appliquées. Les techniques d'augmentation des données d'Ultralytics YOLO sont intégrées pour améliorer la robustesse du modèle.
  • Simplifier l'architecture du modèle: Parfois, un modèle est trop complexe pour l'ensemble de données donné. L'utilisation d'une architecture plus simple avec moins de paramètres peut l'empêcher de mémoriser les données. Par exemple, le choix d'une variante de modèle plus petite, comme YOLOv8n par rapport à YOLOv8x, peut être bénéfique pour les petits ensembles de données.
  • Régularisation: Cette technique ajoute une pénalité à la fonction de perte en fonction de la complexité du modèle, décourageant les poids importants du modèle. Les méthodes les plus courantes sont les régularisations L1 et L2, sur lesquelles vous pouvez en savoir plus ici.
  • Abandon: Une forme spécifique de régularisation dans laquelle une fraction aléatoire de neurones est ignorée à chaque étape de la formation. Cela oblige le réseau à apprendre des représentations redondantes et évite qu'un seul neurone ne devienne trop influent. Le concept d'exclusion est expliqué en détail ici.
  • Arrêt précoce: Il s'agit de surveiller les performances du modèle sur un ensemble de validation et d'arrêter le processus de formation dès que les performances de validation commencent à diminuer, même si les performances de formation continuent de s'améliorer. Vous pouvez consulter une explication de l'arrêt anticipé dans Keras pour plus de détails.
  • Validation croisée: En utilisant des techniques telles que la validation croisée K-Fold, les données sont divisées en plusieurs plis, et le modèle est formé et validé sur différents sous-ensembles. Cela permet d'obtenir une estimation plus solide de la capacité de généralisation du modèle.
  • Taille des modèles: Il s'agit de supprimer les paramètres ou les connexions d'un réseau entraîné qui ont peu d'impact sur ses performances, ce qui permet de réduire la complexité. Des sociétés comme Neural Magic proposent des outils spécialisés dans l'élagage des modèles pour un déploiement efficace.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers