Un guide sur le test de modèles

Introduction

Après avoir entraîné et évalué ton modèle, il est temps de le tester. Le test de modèle consiste à évaluer ses performances dans des scénarios réels. Le test prend en compte des facteurs tels que la précision, la fiabilité, l'équité et la facilité avec laquelle on comprend les décisions du modèle. L'objectif est de s'assurer que le modèle fonctionne comme prévu, fournit les résultats attendus et s'inscrit dans l'objectif global de ton application ou de ton projet.



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Le test de modèle est assez similaire à l'évaluation, mais ce sont deux étapes distinctes dans un projet de vision par ordinateur. L'évaluation du modèle implique des métriques et des graphiques pour évaluer la précision du modèle. D'un autre côté, le test vérifie si le comportement appris du modèle correspond aux attentes. Dans ce guide, nous explorerons des stratégies pour tester tes modèles de vision par ordinateur.

Test de modèle vs Évaluation de modèle

Tout d'abord, comprenons la différence entre l'évaluation et le test de modèle avec un exemple.

Suppose you have trained a computer vision model to recognize cats and dogs, and you want to deploy this model at a pet store to monitor the animals. During the model evaluation phase, you use a labeled dataset to calculate metrics like accuracy, precision, recall, and F1 score. For instance, the model might have an accuracy of 98% in distinguishing between cats and dogs in a given dataset.

Après l'évaluation, tu testes le modèle en utilisant des images d'une animalerie pour voir comment il identifie les chats et les chiens dans des conditions plus variées et réalistes. Tu vérifies s'il peut correctement étiqueter les chats et les chiens lorsqu'ils sont en mouvement, dans des conditions d'éclairage différentes, ou partiellement masqués par des objets comme des jouets ou des meubles. Le test vérifie que le modèle se comporte comme prévu en dehors de l'environnement d'évaluation contrôlé.

Préparation au test de modèle

Les modèles de vision par ordinateur apprennent à partir de jeux de données en détectant des motifs, en faisant des prédictions et en évaluant leurs performances. Ces jeux de données sont généralement divisés en ensembles d'entraînement et de test pour simuler des conditions réelles. Les données d'entraînement enseignent le modèle tandis que les données de test vérifient sa précision.

Voici deux points à garder à l'esprit avant de tester ton modèle :

  • Représentation réaliste : Les données de test précédemment invisibles doivent être similaires aux données que le modèle devra gérer lors du déploiement. Cela aide à obtenir une compréhension réaliste des capacités du modèle.
  • Taille suffisante : La taille du jeu de données de test doit être assez grande pour fournir des insights fiables sur la performance du modèle.

Tester ton modèle de vision par ordinateur

Voici les étapes clés à suivre pour tester ton modèle de vision par ordinateur et comprendre ses performances.

  • Exécuter des prédictions : Utilise le modèle pour faire des prédictions sur le jeu de données de test.
  • Comparer les prédictions : Vérifie à quel point les prédictions du modèle correspondent aux étiquettes réelles (vérité terrain).
  • Calculer les métriques de performance : Calcule des métriques comme l'exactitude, la précision, le rappel et le score F1 pour comprendre les forces et les faiblesses du modèle. Le test se concentre sur la façon dont ces métriques reflètent les performances réelles.
  • Visualiser les résultats : Crée des aides visuelles comme des matrices de confusion et des courbes ROC. Elles t'aident à repérer des domaines spécifiques où le modèle pourrait ne pas bien fonctionner dans des applications pratiques.

Ensuite, les résultats des tests peuvent être analysés :

  • Images mal classées : Identifie et examine les images que le modèle a mal classées pour comprendre ce qui ne va pas.
  • Analyse d'erreurs : Effectue une analyse d'erreurs approfondie pour comprendre les types d'erreurs (par exemple, faux positifs vs faux négatifs) et leurs causes potentielles.
  • Biais et équité : Vérifie l'absence de biais dans les prédictions du modèle. Assure-toi que le modèle fonctionne aussi bien sur différents sous-ensembles de données, surtout s'ils incluent des attributs sensibles comme la race, le genre ou l'âge.

Tester ton modèle YOLO26

Pour tester ton modèle YOLO26, tu peux utiliser le mode validation. C'est un moyen simple de comprendre les forces du modèle et les domaines nécessitant des améliorations. De plus, tu devras formater correctement ton jeu de données de test pour YOLO26. Pour plus de détails sur l'utilisation du mode validation, consulte la page de documentation Validation de modèle.

Utiliser YOLO26 pour prédire sur plusieurs images de test

Si tu veux tester ton modèle YOLO26 entraîné sur plusieurs images stockées dans un dossier, tu peux facilement le faire en une seule fois. Au lieu d'utiliser le mode validation, qui est typiquement utilisé pour évaluer la performance sur un ensemble de validation et fournir des métriques détaillées, tu pourrais simplement vouloir voir des prédictions sur toutes les images de ton jeu de test. Pour cela, tu peux utiliser le mode prédiction.

Différence entre les modes Validation et Prédiction

  • Mode Validation : Utilisé pour évaluer la performance du modèle en comparant les prédictions aux étiquettes connues (vérité terrain). Il fournit des métriques détaillées comme l'exactitude, la précision, le rappel et le score F1.
  • Mode Prédiction : Utilisé pour exécuter le modèle sur de nouvelles données invisibles afin de générer des prédictions. Il ne fournit pas de métriques de performance détaillées mais te permet de voir comment le modèle fonctionne sur des images réelles.

Exécuter des prédictions YOLO26 sans entraînement personnalisé

Si tu souhaites tester le modèle YOLO26 de base pour comprendre s'il peut être utilisé pour ton application sans entraînement personnalisé, tu peux utiliser le mode prédiction. Bien que le modèle soit pré-entraîné sur des jeux de données comme COCO, exécuter des prédictions sur ton propre jeu de données peut te donner une idée rapide de la façon dont il pourrait fonctionner dans ton contexte spécifique.

Surapprentissage et Sous-apprentissage en Apprentissage Automatique

Lors du test d'un modèle d'apprentissage automatique, surtout en vision par ordinateur, il est important de surveiller le surapprentissage et le sous-apprentissage. Ces problèmes peuvent affecter significativement la façon dont ton modèle fonctionne avec de nouvelles données.

Surapprentissage

Le surapprentissage se produit lorsque ton modèle apprend trop bien les données d'entraînement, y compris le bruit et les détails qui ne généralisent pas aux nouvelles données. En vision par ordinateur, cela signifie que ton modèle pourrait très bien fonctionner avec les images d'entraînement mais avoir des difficultés avec les nouvelles.

Signes de surapprentissage

  • Précision d'entraînement élevée, précision de validation faible : Si ton modèle fonctionne très bien sur les données d'entraînement mais mal sur les données de validation ou de test, il est probablement en surapprentissage.
  • Inspection visuelle : Parfois, tu peux voir le surapprentissage si ton modèle est trop sensible à des changements mineurs ou à des détails non pertinents dans les images.

Sous-apprentissage

Le sous-apprentissage se produit lorsque ton modèle ne parvient pas à capturer les motifs sous-jacents dans les données. En vision par ordinateur, un modèle sous-appris pourrait même ne pas reconnaître correctement les objets dans les images d'entraînement.

Signes de sous-apprentissage

  • Précision d'entraînement faible : Si ton modèle ne peut pas atteindre une précision élevée sur l'ensemble d'entraînement, il pourrait être en sous-apprentissage.
  • Mauvaise classification visuelle : L'échec constant à reconnaître des caractéristiques ou des objets évidents suggère un sous-apprentissage.

Équilibrer le surapprentissage et le sous-apprentissage

La clé est de trouver un équilibre. Idéalement, un modèle devrait bien fonctionner sur les jeux de données d'entraînement et de validation. Surveiller régulièrement les performances de ton modèle via des métriques et des inspections visuelles, tout en appliquant les bonnes stratégies, t'aidera à obtenir les meilleurs résultats.

Overfitting vs underfitting visualization

Fuite de données en vision par ordinateur et comment l'éviter

En testant ton modèle, quelque chose d'important à garder à l'esprit est la fuite de données. La fuite de données se produit lorsque des informations provenant de l'extérieur du jeu de données d'entraînement sont accidentellement utilisées pour entraîner le modèle. Le modèle peut sembler très précis pendant l'entraînement, mais il ne fonctionnera pas bien sur de nouvelles données invisibles lorsque la fuite de données se produit.

Pourquoi la fuite de données se produit

La fuite de données peut être difficile à repérer et provient souvent de biais cachés dans les données d'entraînement. Voici quelques moyens courants par lesquels cela peut se produire en vision par ordinateur :

  • Biais de caméra : Différents angles, éclairages, ombres et mouvements de caméra peuvent introduire des motifs indésirables.
  • Biais de superposition : Logos, horodatages ou autres superpositions dans les images peuvent induire le modèle en erreur.
  • Biais de police et d'objet : Des polices ou objets spécifiques qui apparaissent fréquemment dans certaines classes peuvent fausser l'apprentissage du modèle.
  • Biais spatial : Les déséquilibres dans les distributions premier plan-arrière-plan, boîtes englobantes et emplacements des objets peuvent affecter l'entraînement.
  • Biais d'étiquette et de domaine : Des étiquettes incorrectes ou des changements dans les types de données peuvent mener à une fuite.

Détecter la fuite de données

Pour trouver une fuite de données, tu peux :

  • Vérifier la performance : Si les résultats du modèle sont étonnamment bons, il pourrait y avoir une fuite.
  • Regarder l'importance des caractéristiques : Si une caractéristique est beaucoup plus importante que les autres, cela pourrait indiquer une fuite.
  • Inspection visuelle : Vérifie que les décisions du modèle sont intuitivement cohérentes.
  • Vérifier la séparation des données : Assure-toi que les données ont été divisées correctement avant tout traitement.

Éviter la fuite de données

Pour prévenir la fuite de données, utilise un jeu de données diversifié avec des images ou des vidéos provenant de différentes caméras et environnements. Examine soigneusement tes données et vérifie l'absence de biais cachés, comme des échantillons positifs pris à un moment spécifique de la journée. Éviter la fuite de données aidera à rendre tes modèles plus fiables et efficaces en situation réelle.

Que faire après le test de modèle

Après avoir testé ton modèle, les prochaines étapes dépendent des résultats. Si ton modèle fonctionne bien, tu peux le déployer dans un environnement réel. Si les résultats ne sont pas satisfaisants, tu devras apporter des améliorations. Cela peut impliquer l'analyse d'erreurs, la collecte de plus de données, l'amélioration de la qualité des données, l'ajustement des hyperparamètres et le réentraînement du modèle.

Rejoins la conversation sur l'IA

Devenir membre d'une communauté de passionnés de vision par ordinateur peut aider à résoudre des problèmes et apprendre plus efficacement. Voici quelques moyens de se connecter, demander de l'aide et partager tes idées.

Ressources communautaires

  • GitHub Issues : Explore le dépôt GitHub YOLO26 et utilise l'onglet Issues pour poser des questions, signaler des bugs et suggérer de nouvelles fonctionnalités. La communauté et les mainteneurs sont très actifs et prêts à aider.
  • Serveur Discord Ultralytics : Rejoins le serveur Discord Ultralytics pour discuter avec d'autres utilisateurs et développeurs, obtenir du support et partager tes expériences.

Documentation officielle

  • Documentation Ultralytics YOLO26 : Consulte la documentation officielle YOLO26 pour des guides détaillés et des conseils utiles sur divers projets de vision par ordinateur.

Ces ressources t'aideront à naviguer à travers les défis et à rester à jour sur les dernières tendances et pratiques au sein de la communauté.

En résumé

Construire des modèles de vision par ordinateur fiables repose sur des tests rigoureux. En testant le modèle avec des données invisibles, nous pouvons l'analyser et repérer des faiblesses comme le surapprentissage et la fuite de données. Traiter ces problèmes avant le déploiement aide le modèle à bien fonctionner dans des applications réelles. Il est important de se rappeler que le test de modèle est tout aussi crucial que l'évaluation pour garantir le succès et l'efficacité à long terme.

FAQ

Quelles sont les différences clés entre l'évaluation et le test de modèle en vision par ordinateur ?

L'évaluation et le test sont des étapes distinctes. L'évaluation implique l'utilisation d'un jeu de données étiqueté pour calculer des métriques telles que l'exactitude, la précision, le rappel et le score F1, fournissant des insights sur la performance avec un jeu de données contrôlé. Le test évalue la performance dans des scénarios réels sur de nouvelles données, assurant que le comportement appris s'aligne avec les attentes en dehors de l'environnement d'évaluation. Pour un guide détaillé, réfère-toi aux étapes d'un projet de vision par ordinateur.

Comment puis-je tester mon modèle Ultralytics YOLO26 sur plusieurs images ?

Pour tester ton modèle Ultralytics YOLO26 sur plusieurs images, tu peux utiliser le mode prédiction. Ce mode permet d'exécuter le modèle sur de nouvelles données invisibles pour générer des prédictions sans fournir de métriques détaillées. C'est idéal pour tester la performance réelle sur des jeux d'images plus grands dans un dossier. Pour évaluer les métriques de performance, utilise plutôt le mode validation.

Que faire si mon modèle montre des signes de surapprentissage ou de sous-apprentissage ?

Pour traiter le surapprentissage :

  • Utilise des techniques de régularisation comme le dropout.
  • Augmente la taille du jeu de données d'entraînement.
  • Simplifie l'architecture du modèle.

Pour traiter le sous-apprentissage :

  • Utilise un modèle plus complexe.
  • Fournis des caractéristiques plus pertinentes.
  • Augmente les itérations d'entraînement ou le nombre d'époques.

Examine les images mal classées, effectue une analyse d'erreurs approfondie et suis régulièrement les métriques pour maintenir l'équilibre. Pour plus d'informations sur ces concepts, explore notre section sur le surapprentissage et le sous-apprentissage.

Comment détecter et éviter la fuite de données en vision par ordinateur ?

Pour détecter la fuite de données :

  • Vérifie que la performance au test n'est pas anormalement élevée.
  • Vérifie l'importance des caractéristiques pour des insights inattendus.
  • Examine intuitivement les décisions du modèle.
  • Assure une division correcte des données avant le traitement.

Pour éviter la fuite de données :

  • Utilise des jeux de données diversifiés avec des environnements variés.
  • Examine soigneusement les données pour détecter des biais cachés.
  • Assure-toi qu'il n'y a pas d'informations chevauchantes entre les ensembles d'entraînement et de test.

Pour des stratégies détaillées sur la prévention de la fuite de données, réfère-toi à notre section sur la fuite de données en vision par ordinateur.

Quelles étapes dois-je suivre après avoir testé mon modèle ?

Après le test, si la performance du modèle répond aux objectifs du projet, procède au déploiement. Si les résultats ne sont pas satisfaisants, envisage :

Obtiens des informations à partir de la section Test du modèle vs Évaluation du modèle pour affiner et améliorer l'efficacité de ton modèle dans des applications réelles.

Comment exécuter des prédictions YOLO26 sans entraînement personnalisé ?

Tu peux exécuter des prédictions en utilisant le modèle YOLO26 pré-entraîné sur ton jeu de données pour voir s'il correspond aux besoins de ton application. Utilise le mode de prédiction pour obtenir un aperçu rapide des résultats de performance sans te lancer dans un entraînement personnalisé.

Commentaires