Guide du débutant en AutoML

Présentation

Ce guide du débutant est une introduction à AutoML. Pour comprendre les principales différences entre AutoML et entraînement personnalisé, consultez la section Choisir une méthode d'entraînement.

Imaginons que :

  • vous soyez entraîneur d'une équipe de football ;
  • vous soyez dans le service marketing d'un marchand en ligne ;
  • vous travailliez sur un projet architectural identifiant des types de bâtiments ;
  • Votre entreprise dispose d'un formulaire de contact sur son site Web.

Traiter des vidéos, des images, des textes et des tables manuellement est un travail long et fastidieux. Ne serait-il pas plus facile d'apprendre à un ordinateur à identifier et à signaler automatiquement les contenus ?

Image

Vous travaillez avec une commission de conservation du patrimoine souhaitant identifier les quartiers de votre ville qui présentent un style architectural homogène. Vous devez passer au crible des centaines de milliers d'instantanés de maisons. Toutefois, tenter de classifier toutes ces images manuellement est bien trop fastidieux et risque de générer des erreurs. Un stagiaire a commencé à étiqueter plusieurs centaines de ces images il y a quelques mois, mais personne n'a examiné les données. Quel soulagement si vous pouviez apprendre à votre ordinateur à les classifier pour vous !
Introduction

Tabular

Vous travaillez dans le service marketing d'un marchand en ligne. Avec votre équipe, vous créez un programme de diffusion d'e-mails personnalisés basé sur des personas de clients. Vous avez créé les personas et les e-mails marketing sont prêts pour diffusion. Vous devez maintenant créer un système qui classe les clients par persona selon les préférences de vente et le comportement d'achat, même pour les nouveaux clients. Pour optimiser l'engagement client, vous souhaitez également prédire leurs habitudes d'achat afin de déterminer le meilleur moment pour envoyer les e-mails.
Présentation du tabulaire

Grâce aux ventes en ligne, vous disposez de données sur vos clients et les achats qu'ils ont effectués. Mais qu'en est-il des nouveaux clients ? Les approches classiques peuvent calculer ces données pour les clients existants ayant de longs historiques d'achats, mais ne sont pas adaptées aux clients dont l'historique est récent. Et si vous pouviez créer un système permettant de prédire ces valeurs et de proposer plus rapidement des programmes marketing personnalisés à tous vos clients ?

Les systèmes de machine learning et Vertex AI constituent des outils adaptés pour répondre à ces questions.

Texte

Votre entreprise dispose d'un formulaire de contact sur son site Web. Vous recevez chaque jour de nombreux messages via ce formulaire, dont beaucoup sont exploitables. Ils arrivent tous ensemble, et vous pouvez facilement vous retrouver débordé. Les différents messages ne sont pas gérés par les mêmes employés. Pour remédier à cela, il faudrait que les commentaires soient classés par un système automatisé afin qu'ils soient adressés à la personne appropriée.
Introduction

Il faudrait que ce système puisse analyser les commentaires et déterminer s'ils constituent des réclamations, des compliments sur vos services, des demandes d'informations sur votre entreprise, des prises de rendez-vous ou des mises en relation.

Vidéo

Vous disposez d'une vaste vidéothèque de matchs que vous souhaitez utiliser à des fins d'analyses. Cependant, cela impliquerait des centaines d'heures de vidéos à examiner. Qui plus est, visionner chaque vidéo en délimitant manuellement les séquences pour mettre en évidence chaque action est un travail tout aussi fastidieux que chronophage, qui doit être répété à chaque saison. Imaginons maintenant un modèle informatique capable d'identifier et de signaler automatiquement ces actions chaque fois qu'elles apparaissent dans une vidéo.

Voici quelques scénarios spécifiques aux objectifs.

  • Reconnaissance d'actions : identifiez des actions comme marquer un but, commettre une faute, effectuer un tir de penalty. Utile pour les entraîneurs qui étudient les points forts et les points faibles de leur équipe.
    but, faute, pénalty
  • Classification : classez chaque plan vidéo selon qu'il s'agit d'une mi-temps, d'une vue du match, d'une vue du public, ou d'une vue de l'entraîneur. Utile pour les entraîneurs qui peuvent ainsi parcourir uniquement les plans vidéo qui les intéressent.
  • Suivi des objets : suivez le ballon de football ou les joueurs. Utile aux entraîneurs pour obtenir les statistiques des joueurs telles que la carte thermique sur le terrain ou le taux de passes réussies.

Ce guide décrit le fonctionnement de Vertex AI pour les ensembles de données et les modèles AutoML, et illustre les types de problèmes que Vertex AI est conçu pour résoudre.

Un mot sur l'équité

Google s'engage à faire avancer la mise en place des pratiques d'IA responsables. À cette fin, nos produits de ML, y compris AutoML, sont conçus selon des principes de base tels que l'équité et le machine learning centré sur l'humain. Pour en savoir plus des bonnes pratiques pour limiter les biais lors de la création de votre propre système de ML, consultez le Guide sur l'inclusion dans le ML – AutoML.

En quoi Vertex AI constitue-t-il un outil adapté pour résoudre ce problème ?

La programmation classique nécessite qu'un programmeur spécifie des instructions pas à pas à suivre par un ordinateur. Mais considérons le cas d'utilisation où il s'agit d'identifier des actions spécifiques dans des matchs de football. Il y a tellement de différences de couleur, d'angle, de résolution et d'éclairage qu'il faudrait coder un trop grand nombre de règles pour indiquer à une machine comment prendre la bonne décision. Vous ne sauriez même pas par où commencer. Ou bien, lorsque les commentaires des clients, qui utilisent un vocabulaire varié et de nombreuses syntaxes différentes, présentent une trop grande diversité pour être capturés à l'aide d'un simple ensemble de règles. Si vous avez tenté d'appliquer des filtres définis manuellement, vous allez vite constater que la plupart des commentaires de vos clients échappent à cette classification. Il vous faut donc un système capable de généraliser un modèle à un grand nombre de commentaires. Nous avons ici affaire à un cas de figure où l'adoption d'une séquence de règles spécifiques vous mènera forcément à une impasse, car elle est condamnée à se développer de manière exponentielle. Vous devez plutôt opter pour un système capable d'apprendre à partir d'exemples.

Heureusement, le machine learning permet de résoudre ces problèmes.

Comment fonctionne Vertex AI ?

image d'un réseau de neurones simple Vertex AI implique des tâches d'apprentissage supervisé pour atteindre le résultat souhaité. Les spécificités de l'algorithme et les méthodes d'entraînement varient selon le type de données et le cas d'utilisation. Il existe de nombreuses sous-catégories de machine learning, qui résolvent toutes des problèmes différents et fonctionnent avec des contraintes variées.



Image

Vous entraînez, testez et validez le modèle de machine learning avec des exemples d'images qui sont annotés avec des étiquettes pour la classification, ou annotés avec des étiquettes et des cadres de délimitation pour la détection d'objets. L'apprentissage supervisé vous permet d'entraîner un modèle personnalisé à reconnaître le contenu qui vous intéresse dans des images.

Tabulaire

Vous entraînez un modèle de machine learning à l'aide d'exemples de données. Vertex AI utilise des données tabulaires (structurées) pour entraîner un modèle de machine learning à réaliser des prédictions sur de nouvelles données. Une colonne de votre ensemble de données, dénommée cible, indique ce que le modèle va apprendre à prédire. Parmi les autres colonnes de données, certaines contiennent des entrées (dénommées caractéristiques) à partir desquelles le modèle va identifier des tendances pour son apprentissage. Vous pouvez utiliser les mêmes caractéristiques d'entrée pour créer plusieurs types de modèles en modifiant simplement la colonne cible et les options d'entraînement. Dans l'exemple de marketing par e-mail, cela signifie que vous pouvez créer des modèles avec les mêmes caractéristiques d'entrée, mais avec des prédictions cibles différentes. Un modèle peut prédire le persona d'un client (cible catégorielle), un autre modèle peut prédire ses dépenses mensuelles (cible numérique), et un autre modèle peut prévoir la demande quotidienne de vos produits pour les trois prochains mois (séries de cibles numériques).
Fonctionnement de la table automl

Text

Vertex AI vous permet d'effectuer un apprentissage supervisé. Cette opération consiste à apprendre à un ordinateur à détecter des tendances à partir de données étiquetées. L'apprentissage supervisé vous permet d'entraîner un modèle AutoML à reconnaître le contenu qui vous intéresse dans du texte.

Vidéo

Vous entraînez, testez et validez le modèle de machine learning avec des vidéos que vous avez déjà étiquetées. Avec un modèle entraîné, vous pouvez ensuite introduire de nouvelles vidéos pour que ce dernier génère des segments vidéo étiquetés. Un segment vidéo définit les heures de début et de fin d'une vidéo. Il peut s'agir de la vidéo dans sa totalité, d'un laps de temps défini par l'utilisateur, d'un plan vidéo détecté automatiquement, ou d'un simple horodatage lorsque l'heure de début est la même que l'heure de fin. Une étiquette est une "réponse" prédite par le modèle. Par exemple, dans les cas d'utilisation relatifs au football mentionnés plus tôt, pour chaque nouvelle vidéo de football, en fonction du type de modèle :

  • Un modèle de reconnaissance d'actions entraîné génère des horodatages vidéo avec des étiquettes décrivant des actions telles que "but", "faute personnelle", etc.
  • Un modèle de classification entraîné génère automatiquement des segments de plan détectés à l'aide de thèmes définis par l'utilisateur, tels que "vue du match", ou encore "vue du public".
  • Un modèle de suivi des objets entraîné génère des suivis du ballon ou des joueurs au moyen de cadres de délimitation dans les images où les objets apparaissent.

Workflow de Vertex AI

Vertex AI utilise un workflow de machine learning standard :

  1. Collecte de données : vous déterminez les données dont vous avez besoin pour entraîner et tester votre modèle en fonction du résultat que vous souhaitez obtenir.
  2. Préparation des données : vous vérifiez que vos données sont correctement formatées et étiquetées.
  3. Entraînement : vous définissez les paramètres et construisez votre modèle.
  4. Évaluation : vous examinez les métriques du modèle.
  5. Déploiement et prédiction : vous rendez votre modèle disponible à l'utilisation.

Avant de commencer à collecter des données, vous devez toutefois réfléchir au problème que vous essayez de résoudre. Cela vous permettra de déterminer vos besoins en termes de données.

Préparation des données

Appréciation de votre cas d'utilisation

Commencez par réfléchir à votre problème : quel résultat souhaitez-vous obtenir ?

Image

Lorsque vous constituez un ensemble de données, commencez toujours par définir votre cas d'utilisation. Dans un premier temps, posez-vous les questions suivantes :

  • Quel résultat souhaitez-vous obtenir ?
  • Quels types de catégories ou d'objets devez-vous identifier pour obtenir ce résultat ?
  • En tant qu'humain, est-il possible de reconnaître ces catégories ? La capacité de Vertex AI à gérer et à attribuer à tout moment un panel de catégories est certes supérieure à celle de l'être humain. Toutefois, si ce dernier ne parvient pas à reconnaître une catégorie spécifique, son traitement posera également problème à Vertex AI.
  • Quels types d'exemples refléteraient le mieux le type et la plage de données que votre système détectera et tentera de classer ?

Tabulaire

À quel type de données la colonne cible correspond-elle ? À quelle quantité de données avez-vous accès ? En fonction des réponses, Vertex AI crée le modèle nécessaire pour trouver une solution à votre cas d'utilisation :

  • Un modèle de classification binaire prédit un résultat binaire (l'une des deux classes). Utilisez cette option pour les questions de type "oui" ou "non", par exemple pour prédire si un client achètera ou non un abonnement. Toutes choses égales par ailleurs, un problème de classification binaire nécessite moins de données que les autres types de modèle.
  • Un modèle de classification à classes multiples prédit une classe à partir de trois classes distinctes ou plus. Utilisez cette option pour classer différents éléments. Dans l'exemple de vente au détail, vous souhaitez créer un modèle de classification à classes multiples pour segmenter les clients en différents personnages.
  • Un modèle de prévision prédit une séquence de valeurs. Par exemple, en tant que revendeur, vous souhaitez peut-être prévoir la demande quotidienne de vos produits pour les trois prochains mois afin de pouvoir anticiper convenablement les stocks de produits nécessaires.
  • Un modèle de régression prédit une valeur continue. Dans l'exemple de vente au détail, vous souhaitez créer un modèle de régression afin de prédire le montant qu'un client dépensera le mois prochain.

Texte

Lorsque vous constituez un ensemble de données, commencez toujours par définir votre cas d'utilisation. Dans un premier temps, posez-vous les questions suivantes :

  • Quel résultat souhaitez-vous obtenir ?
  • Quels types de catégories devez-vous identifier pour atteindre ce résultat ?
  • En tant qu'humain, est-il possible de reconnaître ces catégories ? La capacité de Vertex AI à mémoriser et à attribuer à tout moment un panel de catégories est supérieure à celle de l'être humain. Toutefois, si ce dernier ne parvient pas à reconnaître une catégorie spécifique, son traitement posera également problème à Vertex AI.
  • Quels types d'exemples refléteraient le mieux le type et la plage de données que votre système va classer ?

Vidéo

Sélectionnez l'objectif de modèle approprié en fonction du résultat que vous souhaitez obtenir :

  • L'objectif de reconnaissance d'actions permet de détecter dans une vidéo les passages où il y a des actions, comme marquer un but, faire une faute ou tirer un pénalty.
  • Utilisez l'objectif de classification pour classer les séquences dans les catégories suivantes : commercial, actualités, émissions télévisées, etc.
  • Pour localiser et suivre les objets dans une vidéo, utilisez l'objectif de suivi d'objets.

Pour en savoir plus sur les bonnes pratiques en matière de préparation des ensembles de données pour les objectifs de reconnaissance d'actions, de classification et de suivi des objets, consultez la section Préparer des données vidéo.

Collecter les données

Une fois que vous avez établi votre cas d'utilisation, vous devez collecter les données qui vous permettront de créer le modèle souhaité.

Image

Collecter suffisamment de données Après que vous avez défini les données dont vous avez besoin, vous devez trouver un moyen de les collecter. Vous pouvez commencer par prendre en compte toutes les données que votre organisation recueille. Vous allez peut-être constater que vous collectez déjà les données pertinentes dont vous avez besoin pour entraîner un modèle. Si vous ne disposez pas de ces données, vous pouvez les obtenir manuellement ou confier cette étape à un fournisseur tiers.

Inclure suffisamment d'exemples étiquetés pour chaque catégorie

Inclure suffisamment de données Pour entraîner votre modèle dans Vertex AI, vous devez inclure au strict minimum 100 exemples d'image par catégorie ou étiquette. Plus vous fournissez d'exemples de bonne qualité par étiquette, plus les chances qu'elle soit correctement reconnue augmentent. De manière générale, plus vous incluez de données étiquetées dans le processus d'entraînement, meilleur sera votre modèle. Essayez de fournir au moins 1000 exemples par étiquette.

Répartir équitablement les exemples entre les catégories

Il est important d'inclure un nombre à peu près similaire d'exemples d'entraînement pour chaque catégorie. Même si vous disposez d'une abondance de données pour une étiquette, il est préférable d'avoir une distribution égale pour chaque étiquette. Voici un exemple illustrant ce principe : imaginez que 80 % des images que vous utilisez pour créer votre modèle concernent des maisons individuelles de style contemporain. En présence d'une répartition des étiquettes aussi déséquilibrée, il est très probable que votre modèle apprenne qu'il est judicieux de toujours indiquer cette catégorie de construction pour chaque photo, plutôt que de s'aventurer à essayer de prédire une étiquette beaucoup moins courante. Ce cas de figure est comparable à un questionnaire à choix multiples où presque toutes les bonnes réponses sont "C" et où la personne répondant au questionnaire va très vite déduire qu'elle peut répondre "C" à chaque fois, sans même regarder la question.
Répartir uniformément

Nous savons qu'il n'est pas toujours possible de trouver un nombre à peu près équivalent d'exemples pour chaque étiquette. Pour certaines catégories, il peut être plus difficile de collecter des exemples impartiaux de bonne qualité. Dans ce cas, vous pouvez suivre le principe général suivant : l'étiquette comprenant le moins d'exemples doit compter au moins 10 % du total d'exemples de l'étiquette en comportant le plus. Par exemple, si l'étiquette la plus représentée comporte 10 000 exemples, la moins importante devrait en présenter au moins 1 000.

Tenir compte des variations dans votre espace de problème

Pour des raisons similaires, assurez-vous que vos données tiennent compte de la variété et de la diversité de votre espace de problème. Plus la sélection proposée au processus d'entraînement du modèle est vaste, plus celui-ci sera facile à généraliser pour de nouveaux exemples. Par exemple, si vous essayez de classer les photos de produits électroniques grand public en catégories, plus vous exposerez le modèle à une large variété de produits lors de l'entraînement, plus il saura distinguer la dernière tablette, ou le dernier téléphone ou ordinateur portable, même s'il n'a jamais vu ce produit spécifique auparavant.
Capturer les nuances

Trouver des données correspondant aux résultats souhaités du modèle

Trouver des données correspondant aux résultats souhaités
Recherchez des images qui ressemblent visuellement à celles que vous prévoyez d'utiliser pour vos prédictions. Si vous essayez de classer des images de maisons qui ont toutes été photographiées en hiver sous la neige, et que vous utilisez un modèle qui n'a été entraîné que sur des photos prises par temps ensoleillé, vous obtiendrez probablement des performances médiocres. Le fait d'avoir indiqué les tags et classes voulus n'y changera rien, car l'éclairage et les paysages sont trop différents pour donner un résultat optimal. Dans l'idéal, vos exemples d'entraînement sont constitués de données réelles tirées du même ensemble de données que celui sur lequel vous prévoyez d'utiliser le modèle pour la classification.

Tabulaire

Ensemble de test Une fois que vous avez établi votre cas d'utilisation, vous devez collecter des données pour entraîner votre modèle. La collecte et la préparation des données sont des étapes essentielles dans la création d'un modèle de machine learning. Les données dont vous disposez permettent de déterminer le type de problèmes que vous pouvez résoudre. De combien de données disposez-vous ? Sont-elles pertinentes pour les questions auxquelles vous tentez de répondre ? Lors de la collecte de données, gardez à l'esprit les considérations suivantes.

Sélectionner les caractéristiques pertinentes

Les caractéristiques sont des attributs d'entrée utilisés pour l'entraînement d'un modèle. Elles lui permettent d'identifier des tendances pour réaliser des prédictions. Leur pertinence par rapport à votre problème est donc importante. Par exemple, pour créer un modèle permettant de prédire si une transaction par carte de crédit est frauduleuse ou non, vous devez créer un ensemble de données contenant les détails de la transaction : acheteur, vendeur, montant, date et heure, et articles achetés. D'autres informations peuvent être utiles, telles que les données historiques de l'acheteur et du vendeur, et la fréquence à laquelle l'article acheté a été impliqué dans une fraude. Existe-t-il d'autres caractéristiques pouvant s'avérer pertinentes ?

Considérons le cas d'utilisation de marketing par e-mail du marchand présenté en introduction. Voici quelques colonnes de caractéristiques dont vous pourriez avoir besoin :

  • Liste des articles achetés (y compris marques, catégories, prix, remises)
  • Quantité d'articles achetés (jour précédent, semaine, mois, année)
  • Somme d'argent dépensée (jour précédent, semaine, mois, année)
  • Pour chaque article, nombre total de produits vendus chaque jour
  • Pour chaque article, le total en stock chaque jour
  • Si vous diffusez ou non une promotion certains jours
  • Profil démographique connu de l'acheteur

Inclure suffisamment de données

Inclure suffisamment de données En général, plus vous avez d’exemples d'entraînement, meilleur sera le résultat. La quantité d'exemples de données nécessaires varie également en fonction de la complexité du problème que vous tentez de résoudre. Vous n'aurez pas besoin d'autant de données pour obtenir un modèle de classification binaire précis comparé à un modèle à classes multiples, car il est moins compliqué de prédire à partir de deux classes qu'à partir de plusieurs.

Si la formule parfaite n'existe pas, le nombre minimal conseillé d'exemples de données est le suivant :

  • Problème de classification : nombre de caractéristiques x 50 lignes
  • Problème de prévision :
    • 5 000 lignes x nombre d'éléments de caractéristiques
    • 10 valeurs uniques dans la colonne "Identifiant de série temporelle" x nombre de caractéristiques
  • Problème de régression : nombre de caractéristiques x 200

Capturer les nuances

Votre ensemble de données doit capturer la diversité de votre espace-problème. Plus un modèle traite des exemples diversifiés au cours de son entraînement, plus il peut facilement se généraliser à des exemples nouveaux ou moins courants. Imaginez que votre modèle de vente au détail n'ait été entraîné que sur les données d'achat de l'hiver. Serait-il capable de prédire correctement les préférences de vêtements ou les comportements d'achat de l'été ?

Texte

Collecter suffisamment de données Une fois que vous avez défini les données dont vous avez besoin, vous devez trouver un moyen de les collecter. Vous pouvez commencer par prendre en compte toutes les données que votre organisation recueille. Vous constaterez peut-être que vous collectez déjà les données dont vous avez besoin pour entraîner un modèle. Dans le cas contraire, vous pouvez les obtenir manuellement ou confier cette étape à un fournisseur tiers.

Inclure suffisamment d'exemples étiquetés pour chaque catégorie

Inclure suffisamment de données Plus vous fournissez d'exemples de bonne qualité par étiquette, plus les chances qu'elle soit correctement reconnue augmentent. De manière générale, plus vous incluez de données étiquetées dans le processus d'entraînement, meilleur sera votre modèle. Le nombre d'échantillons nécessaires varie également en fonction du degré de cohérence des données à prédire et du niveau de précision à atteindre. Vous pouvez utiliser moins d'exemples pour des ensembles de données cohérents ou pour atteindre une précision de 80 % plutôt que 97 %. Entraînez un modèle, puis évaluez les résultats. Ajoutez plus d'exemples et reprenez l'entraînement jusqu'à ce que vous atteigniez vos objectifs de précision, ce qui peut nécessiter des centaines, voire des milliers d'exemples par étiquette. Pour plus d'informations sur les exigences et les recommandations concernant les données, consultez la section Préparer des données textuelles d'entraînement pour des modèles AutoML.

Répartir équitablement les exemples entre les catégories

Il est important d'obtenir un nombre d'exemples d'entraînement similaire pour chaque catégorie. Même si vous disposez d'une abondance de données pour une étiquette, il est préférable d'avoir une distribution égale pour chaque étiquette. Pour comprendre pourquoi, imaginez que 80 % des commentaires des clients que vous utilisez pour créer votre modèle correspondent à des demandes de devis. En présence d'une répartition des étiquettes aussi déséquilibrée, il est très probable que votre modèle apprenne qu’il est judicieux de toujours indiquer que les commentaires des clients correspondent à des demandes de devis, plutôt que d'essayer de prédire une étiquette beaucoup moins courante. Ce cas de figure est comparable à un questionnaire à choix multiples où presque toutes les bonnes réponses sont "C" et où la personne répondant au questionnaire va très vite déduire qu'elle peut répondre "C" à chaque fois, sans même regarder la question.
Répartir uniformément

Il n'est pas toujours possible de trouver un nombre à peu près équivalent d'exemples pour chaque étiquette. Pour certaines catégories, il peut être plus difficile de collecter des exemples impartiaux de bonne qualité. Dans ce cas, l'étiquette comprenant le moins d'exemples doit compter au moins 10 % du total d'exemples de l'étiquette en comportant le plus. Par exemple, si l'étiquette la plus représentée comporte 10 000 exemples, la moins importante devrait en présenter au moins 1 000.

Tenir compte des variations dans votre espace de problème

Pour des raisons similaires, essayez de faire en sorte que vos données tiennent compte de la variété et de la diversité de votre espace de problème. Lorsque vous fournissez un ensemble d'exemples plus important, le modèle peut plus facilement être généralisé à de nouvelles données. Supposons que vous essayiez de classer des articles sur les produits électroniques grand public en fonction de leur sujet. Plus vous fournissez de noms de marques et de caractéristiques techniques, plus le modèle comprendra facilement le sujet d'un article, même si cet article concerne une marque qui n'a pas été intégrée à l'ensemble de données d'entraînement. Vous pouvez également inclure une étiquette "Autres" pour les documents ne correspondant à aucune des étiquettes définies afin d'améliorer plus encore les performances du modèle.
Capturer les nuances

Trouver des données correspondant aux résultats souhaités du modèle

Trouver des données correspondant aux résultats souhaités
Trouvez des exemples textuels similaires à ceux sur lesquels vous prévoyez d'effectuer des prédictions. Si vous essayez de classer des posts sur les réseaux sociaux concernant le soufflage de verre, un modèle entraîné sur des sites Web contenant des informations sur ce sujet risque de ne pas s'avérer très performant, car le vocabulaire et le style peuvent varier. Dans l'idéal, vos exemples d'entraînement sont constitués de données réelles tirées du même ensemble de données que celui sur lequel vous prévoyez d'utiliser le modèle pour la classification.

Vidéo

Collecter suffisamment de donnéesUne fois que vous avez établi votre cas d'utilisation, vous devez collecter les données vidéo qui vous permettront de créer le modèle souhaité. Les données que vous collectez pour l'entraînement déterminent le type de problèmes que vous pouvez résoudre. Combien de vidéos pouvez-vous utiliser ? Les vidéos contiennent-elles suffisamment d'exemples pour les éléments que votre modèle doit prédire ? Lors de la collecte de données vidéo, gardez à l'esprit les considérations suivantes.

Inclure suffisamment de vidéos

Inclure suffisamment de données En règle générale, plus votre ensemble de données contient de vidéos d'entraînement, plus le résultat sera fiable. Le nombre de vidéos recommandé dépend également de la complexité du problème que vous essayez de résoudre. Par exemple, pour la classification, vous aurez besoin de moins de données vidéo pour un problème de classification binaire (prédiction d'une classe sur deux) que pour un problème à étiquettes multiples (prédiction d'une ou de plusieurs classes parmi de nombreuses autres).

La complexité des éléments que vous essayez de classifier peut également déterminer la quantité de données vidéo dont vous avez besoin. Prenons l'exemple du cas d'utilisation du football pour la classification, où il s'agit de créer un modèle pour distinguer les actions de tir, plutôt que d'entraîner un modèle capable de classer différents styles de natation. Par exemple, pour distinguer la brasse, le papillon, le dos crawlé, etc., vous aurez besoin de davantage de données d'entraînement pour identifier les différents styles de natation afin que le modèle puisse apprendre à identifier chaque type de manière précise. Consultez la section Préparer des données vidéo pour comprendre la quantité minimum de données vidéo dont vous aurez besoin pour la reconnaissance des actions, la classification et le suivi des objets.

La quantité de données vidéo requise peut être supérieure à celle dont vous disposez actuellement. Envisagez d'obtenir davantage de vidéos auprès d'un fournisseur tiers. Par exemple, vous pourriez acquérir ou obtenir davantage de vidéos de colibris si vous n'en avez pas suffisamment pour entraîner votre modèle d'identificateur d'actions de match.

Répartir équitablement les vidéos entre les classes

Essayez de fournir un nombre semblable d'exemples d'entraînement pour chaque classe. Voici pourquoi : imaginez que les 80 % de votre ensemble de données d'entraînement soient des vidéos de football contenant des tirs au but, mais que seulement 20 % des vidéos décrivent des fautes personnelles ou des penalties. Lorsque les classes sont réparties de manière aussi inégale, le modèle est plus susceptible de prédire qu'une action donnée est un but. C'est comme si vous conceviez un test à choix multiples où 80 % des réponses correctes sont "C" : le modèle avisé comprendra rapidement que la plupart du temps, "C" est sans doute la bonne réponse.
Répartir équitablement les vidéos

Vous ne pourrez peut-être pas générer un nombre égal de vidéos pour chaque classe. De même, pour certaines classes, il peut être difficile d'obtenir des exemples non biaisés de grande qualité. Vous devez donc essayer de respecter un rapport de 1:10 : si la classe la plus nombreuse compte 10 000 vidéos, alors la plus petite devrait en contenir au moins 1 000.

Capturer les nuances

Vos données vidéo doivent capturer la diversité de votre espace-problème. Plus un modèle traite des exemples diversifiés au cours de son entraînement, plus il peut facilement se généraliser à des exemples nouveaux ou moins courants. Pensez au modèle de classification des actions de football : assurez-vous d'inclure des vidéos présentant divers angles de caméra, des heures diurnes et nocturnes, ainsi qu'une variété de mouvements de joueurs. L'exposition du modèle à des données diversifiées améliorera sa capacité à distinguer une action d'une autre.

Faire correspondre les données aux résultats souhaités

Trouver des données correspondant aux résultats souhaités

Recherchez des vidéos d'entraînement visuellement similaires aux vidéos que vous prévoyez d'introduire dans le modèle de prédiction. Par exemple, si toutes vos vidéos d'entraînement sont prises en hiver ou en soirée, les caractéristiques d'éclairage et de couleur de ces environnements affecteront votre modèle. Si vous l'utilisez ensuite pour tester des vidéos prises en été ou en plein jour, vous risquez d'obtenir des prédictions inexactes.

Tenez compte de ces facteurs supplémentaires : résolution vidéo, images vidéo par seconde, angle de caméra, arrière-plan.


Préparer vos données

Image

Collecter suffisamment de données Une fois que vous avez déterminé quel procédé vous convient le mieux (une répartition manuelle ou par défaut), vous pouvez ajouter des données dans Vertex AI à l'aide de l'une des méthodes suivantes :

  • Vous pouvez importer des données depuis votre ordinateur ou Cloud Storage dans un format disponible (CSV ou JSON Lines), avec les étiquettes (et les cadres de délimitation, le cas échéant) intégrées. Pour en savoir plus sur le format de fichier d'importation, consultez la section Préparer les données d'entraînement. Si vous souhaitez effectuer une répartition manuelle de votre ensemble de données, vous pouvez spécifier les répartitions dans votre fichier d'importation CSV ou JSON Lines.
  • Si vos données n'ont pas été annotées, vous pouvez importer des images sans étiquette et utiliser Google Cloud Console pour appliquer des annotations. Vous pouvez gérer ces annotations dans plusieurs ensembles d'annotations pour le même ensemble d'images. Par exemple, pour un seul ensemble d'images, vous pouvez disposer d'un ensemble d'annotations avec des informations de cadres de délimitation et d'étiquettes pour effectuer une détection d'objets, et disposer d'un autre ensemble d'annotations avec seulement des annotations d'étiquettes pour la classification.

Tabular

Préparer les données Une fois que vous avez identifié les données disponibles, vous devez vérifier qu'elles sont prêtes pour l'entraînement. Si vos données sont biaisées ou comportent des valeurs manquantes ou erronées, cela affectera la qualité du modèle. Considérez ce qui suit avant de commencer à entraîner votre modèle. En savoir plus

Prévenir les fuites de données et le décalage entraînement/diffusion

Une fuite de données se produit lorsque vous utilisez des caractéristiques d'entrée lors de l'entraînement qui "divulguent" des informations sur la cible que vous essayez de prédire, lesquelles ne sont pas disponibles lorsque le modèle est réellement diffusé. Cela peut être détecté lorsqu'une caractéristique fortement corrélée à la colonne cible est incluse parmi les caractéristiques d'entrée. Par exemple, si vous créez un modèle pour prédire si un client souscrira un abonnement le mois prochain et que l'une des caractéristiques d'entrée est un futur paiement d'abonnement de ce client. Les performances du modèle peuvent être très élevées lors des tests, mais de faible niveau lors du déploiement en production, car les informations de paiement d'abonnement futur ne sont pas disponibles au moment de la diffusion.

Le décalage entraînement/diffusion survient lorsque les caractéristiques d'entrée utilisées pendant l'entraînement diffèrent de celles fournies au modèle au moment de la diffusion, ce qui entraîne une baisse de qualité du modèle en production. Par exemple, créer un modèle de prédiction des températures par heure, mais l'entraîner avec des données ne contenant que des températures par semaine. Autre exemple : fournir les notes d'un élève dans les données d'entraînement pour prédire le décrochage scolaire, mais ne pas les inclure au moment de la diffusion.

Il est important de comprendre vos données d’entraînement pour prévenir les fuites de données et éviter tout décalage entraînement/diffusion :

  • Avant d'utiliser des données, veillez à bien comprendre leur signification pour déterminer s'il convient de les utiliser comme caractéristiques.
  • Vérifiez la corrélation dans l'onglet "Entraînement". Les corrélations élevées doivent être signalées pour examen.
  • Décalage entraînement/diffusion : veillez à ne fournir au modèle que des caractéristiques d'entrée disponibles dans un format identique au moment de la diffusion.

Nettoyer les données manquantes, incomplètes et incohérentes

Il est fréquent que des valeurs manquantes et inexactes figurent dans les exemples de données. Prenez le temps d'examiner et, si possible, d'améliorer la qualité de vos données avant de les utiliser pour l'entraînement. Plus il y a de valeurs manquantes, moins les données seront utiles pour l'entraînement d'un modèle de machine learning.

  • Vérifiez les valeurs manquantes dans vos données et corrigez-les si possible. Sinon, vous pouvez laisser la valeur vide si la colonne est définie comme pouvant être vide. Vertex AI peut gérer les valeurs manquantes, mais vous avez plus de chances d'obtenir des résultats optimaux si toutes les valeurs sont disponibles.
  • Pour les prévisions, vérifiez que l'intervalle entre les lignes d'entraînement est cohérent. Vertex AI peut imputer les valeurs manquantes, mais vous avez plus de chances d'obtenir des résultats optimaux si toutes les lignes sont disponibles.
  • Nettoyez vos données en corrigeant ou en supprimant les erreurs ou le bruit. Assurez leur cohérence : vérifiez l'orthographe, les abréviations et le formatage.

Analyser les données après l'importation

Vertex AI fournit une vue d'ensemble de votre ensemble de données après son importation. Examinez l'ensemble de données importé pour vérifier que chaque colonne comporte bien le type de variable correct. Vertex AI détecte automatiquement le type de variable en fonction des valeurs des colonnes, mais il est préférable de les examiner une par une. Vous devez également vérifier le paramètre de valeur vide de chaque colonne, qui détermine si la colonne peut contenir des valeurs manquantes ou NULL.

Texte

Collecter suffisamment de données Une fois que vous avez déterminé quel procédé vous convient le mieux (une répartition manuelle ou par défaut), vous pouvez ajouter des données dans Vertex AI à l'aide de l'une des méthodes suivantes :

  • Vous pouvez importer des données à partir de votre ordinateur ou de Cloud Storage au format CSV ou JSON Lines avec les étiquettes intégrées, comme spécifié dans la section Préparer vos données d'entraînement. Si vous souhaitez effectuer une répartition manuelle de votre ensemble de données, vous pouvez spécifier les répartitions dans votre fichier CSV ou JSON Lines.
  • Si vos données n'ont pas d'étiquette, vous pouvez importer des exemples textuels sans étiquette et utiliser la console de Vertex AI pour appliquer des étiquettes.

Vidéo

Collecter suffisamment de données Une fois que vous avez collecté les vidéos que vous souhaitez inclure dans votre ensemble de données, vous devez vous assurer qu'elles contiennent des étiquettes associées aux segments vidéo ou aux cadres de délimitation. Dans le cadre de la reconnaissance d'actions, le segment vidéo correspond à un horodatage et, pour la classification, il peut s'agir d'un plan vidéo, d'un segment ou de l'intégralité de la vidéo. Pour le suivi des objets, les étiquettes sont associées à des cadres de délimitation.

Pourquoi mes vidéos ont-elles besoin de cadres de délimitation et d'étiquettes ?

Pour le suivi des objets, comment un modèle Vertex AI apprend-t-il à identifier des schémas ? C'est à cela que servent les cadres de délimitation et les étiquettes pendant l'entraînement. Prenons l'exemple du football : chaque exemple vidéo devra contenir des cadres de délimitation autour des scènes d'action qui vous intéressent. Ces cadres doivent également comporter des étiquettes, telles que "personne" et "ballon", qui leur sont attribués. Sinon, le modèle ne saura pas quoi rechercher. Dessiner des cadres de délimitation et attribuer des étiquettes à vos exemples vidéo peut prendre du temps. Au besoin, envisagez de faire appel à un service d'étiquetage pour impartir ce travail à d'autres personnes.

Si vos données ne sont pas encore étiquetées, vous pouvez également importer des vidéos non étiquetées et utiliser la console Google Cloud pour appliquer des cadres de délimitation et des étiquettes.

Entraîner le modèle

Image

Comprendre comment Vertex AI utilise les ensembles de données lors de la création de modèles personnalisés

Votre ensemble de données contient des ensembles d'entraînement, de validation et de test. Si vous ne spécifiez pas cette répartition (consultez la section Préparer vos données), Vertex AI utilise par défaut 80 % de vos images pour l'entraînement, 10 % à des fins de validation et 10 % à des fins de test.
Ensembles de test de validation d'entraînement

Ensemble d'entraînement

Ensemble d'entraînement La grande majorité de vos données doit figurer dans l'ensemble d'entraînement. Il s'agit des données auxquelles votre modèle accède pendant l'entraînement : elles sont utilisées pour apprendre les paramètres du modèle, à savoir la pondération des connexions entre les nœuds du réseau de neurones.

Ensemble de validation

Ensemble de validation L'ensemble de validation, parfois aussi appelé ensemble "dev", est également utilisé lors du processus d'entraînement. Une fois que le framework d'apprentissage du modèle a incorporé les données d'entraînement à chaque itération du processus, il utilise les performances du modèle sur l'ensemble de validation pour ajuster ses hyperparamètres, qui sont des variables spécifiant sa structure. Si vous essayez d'utiliser l'ensemble d'entraînement pour régler les hyperparamètres, il est fort probable que le modèle finisse par trop se focaliser sur les données d'entraînement. Vous aurez alors du mal à généraliser le modèle à des exemples légèrement différents. L'utilisation d'un ensemble de données relativement nouveau pour affiner la structure du modèle permet une meilleure généralisation du modèle à d'autres données.

Ensemble de test

Ensemble de test L'ensemble de test n'est pas du tout impliqué dans le processus d'entraînement. Une fois l'entraînement du modèle terminé, l'utilisation de l'ensemble de test représente un défi complètement nouveau pour le modèle. Ses performances sur l'ensemble de test sont supposées vous fournir une idée plutôt fidèle de son comportement sur des données réelles.

Répartition manuelle

Répartition manuelle Vous pouvez également scinder votre ensemble de données vous-même. Il est judicieux de répartir manuellement vos données lorsque vous souhaitez exercer davantage de contrôle sur le processus, ou si vous souhaitez absolument inclure des exemples spécifiques dans une certaine partie du cycle de vie de l'entraînement d'un modèle.

 

 

Tabulaire

Une fois votre ensemble de données importé, l'étape suivante consiste à entraîner un modèle. Vertex AI génère un modèle de machine learning fiable avec les valeurs d’entraînement par défaut, mais vous pouvez ajuster certains paramètres en fonction de votre cas d'utilisation.

Sélectionnez autant de colonnes de caractéristiques que possible pour l'entraînement, mais examinez chacune d'entre elles afin d'être certain de leur pertinence pour l'entraînement. Tenez compte des éléments suivants dans votre sélection :

  • Ne sélectionnez pas de colonnes de caractéristiques qui produiront du bruit, comme les colonnes d'identifiants attribuées de manière aléatoire contenant une valeur unique pour chaque ligne.
  • Assurez-vous de bien comprendre chaque colonne de caractéristique et les valeurs correspondantes.
  • Si vous créez plusieurs modèles à partir d'un ensemble de données, supprimez les colonnes cibles qui ne font pas partie du problème de prédiction en cours.
  • Rappelez-vous les principes d'équité : entraînez-vous le modèle avec une caractéristique qui pourrait conduire à une prise de décision biaisée ou injuste pour des groupes marginalisés ?

Comment Vertex AI utilise l'ensemble de données

Votre ensemble de données sera divisé en trois : ensemble d'entraînement, ensemble de validation et ensemble de test. La répartition par défaut que Vertex AI applique dépend du type de modèle que vous entraînez. Vous pouvez également spécifier les répartitions (répartitions manuelles) si nécessaire. Pour en savoir plus, consultez la section À propos des répartitions de données pour les modèles AutoML. Ensembles de test de validation d'entraînement

Ensemble d'entraînement

Ensemble d'entraînement La grande majorité de vos données doit figurer dans l'ensemble d'entraînement. Il s'agit des données auxquelles votre modèle accède pendant l'entraînement : elles sont utilisées pour apprendre les paramètres du modèle, à savoir la pondération des connexions entre les nœuds du réseau de neurones.

Ensemble de validation

Ensemble de validation L'ensemble de validation, parfois aussi appelé ensemble "dev", est également utilisé lors du processus d'entraînement. Une fois que le framework d'apprentissage du modèle a incorporé les données d'entraînement à chaque itération du processus, il utilise les performances du modèle sur l'ensemble de validation pour ajuster ses hyperparamètres, qui sont des variables spécifiant sa structure. Si vous essayez d'utiliser l'ensemble d'entraînement pour régler les hyperparamètres, il est fort probable que le modèle finisse par trop se focaliser sur les données d'entraînement. Vous aurez alors du mal à généraliser le modèle à des exemples légèrement différents. L'utilisation d'un ensemble de données relativement nouveau pour affiner la structure du modèle permet une meilleure généralisation du modèle à d'autres données.

Ensemble de test

Ensemble de test L'ensemble de test n'est pas du tout impliqué dans le processus d'entraînement. Une fois l'entraînement du modèle terminé, Vertex AI exploite l'ensemble de test qui représente un défi complètement nouveau pour le modèle. Ses performances sur l'ensemble de test sont supposées vous fournir une idée plutôt fidèle de son comportement sur des données réelles.

 

Texte

Comprendre comment Vertex AI utilise votre ensemble de données pour créer un modèle personnalisé

Votre ensemble de données contient des ensembles d'entraînement, de validation et de test. Si vous ne spécifiez pas cette répartition comme décrit sur la page Préparer vos données, Vertex AI utilise automatiquement 80 % de vos documents textuels pour l'entraînement, 10 % pour la validation et 10 % pour les tests.
Ensembles de test de validation d'entraînement

Ensemble d'entraînement

Ensemble d'entraînement La grande majorité de vos données doit figurer dans l'ensemble d'entraînement. Il s'agit des données auxquelles votre modèle accède pendant l'entraînement : elles sont utilisées pour apprendre les paramètres du modèle, à savoir la pondération des connexions entre les nœuds du réseau de neurones.

Ensemble de validation

Ensemble de validation L'ensemble de validation, parfois aussi appelé ensemble "dev", est également utilisé lors du processus d'entraînement. Une fois que le framework d'apprentissage du modèle a incorporé les données d'entraînement à chaque itération du processus, il utilise les performances du modèle sur l'ensemble de validation pour ajuster ses hyperparamètres, qui sont des variables spécifiant sa structure. Si vous essayez d'utiliser l'ensemble d'entraînement pour régler les hyperparamètres, il est fort probable que le modèle finisse par trop se focaliser sur les données d'entraînement. Vous aurez alors du mal à généraliser le modèle à des exemples légèrement différents. L'utilisation d'un ensemble de données relativement nouveau pour affiner la structure du modèle permet une meilleure généralisation du modèle à d'autres données.

Ensemble de test

Ensemble de test L'ensemble de test n'est pas du tout impliqué dans le processus d'entraînement. Une fois l'entraînement du modèle terminé, l'utilisation de l'ensemble de test représente un défi complètement nouveau pour le modèle. Ses performances sur l'ensemble de test sont supposées vous fournir une idée plutôt fidèle de son comportement sur des données réelles.

 

Répartition manuelle

Répartition manuelle Vous pouvez également scinder votre ensemble de données vous-même. Il est judicieux de répartir manuellement vos données lorsque vous souhaitez exercer davantage de contrôle sur le processus, ou si vous souhaitez absolument inclure des exemples spécifiques dans une certaine partie du cycle de vie de l'entraînement d'un modèle.

 

 

Vidéo

Une fois vos données vidéo d'entraînement préparées, vous êtes prêt à créer un modèle de machine learning. Notez que vous pouvez créer des ensembles d'annotations pour différents objectifs de modèle dans le même ensemble de données. Consultez la section Créer un ensemble d'annotations.

L'un des avantages de Vertex AI est que les paramètres par défaut vous guideront vers un modèle de machine learning fiable. En revanche, vous devrez peut-être les ajuster en fonction de la qualité de vos données et du résultat recherché. Exemple :

  • Le type de prédiction est le niveau de granularité selon lequel vos vidéos sont traitées.
  • La fréquence d'images est importante si les étiquettes que vous essayez de classer sont sensibles aux changements de mouvement, comme lors de la reconnaissance d'actions. Prenons par exemple courir, par opposition à marcher. Avec un faible nombre d'images par seconde (FPS), un extrait de marche pourrait ressembler à une course. Tout comme pour le suivi des objets, il est également sensible à la fréquence d'images. En pratique, l'objet à suivre doit avoir un chevauchement suffisant entre les images adjacentes.
  • Pour le suivi des objets, la résolution est plus importante que la reconnaissance des actions ou la classification des vidéos. Lorsque les objets sont petits, assurez-vous d'importer les vidéos en haute résolution. Le pipeline actuel utilise uunn résolution de 256x256 pour l'entraînement standard, ou 512x512 s'il y a trop d'objets de petite taille (dont la zone est inférieure à 1 % de la zone de l'image) dans les données utilisateur. Nous vous recommandons d'utiliser des vidéos d'au moins 256 pixels. L'utilisation de vidéos en haute résolution pourrait ne pas aider à améliorer les performances du modèle, car les images internes sont sous-échantillonnées pour améliorer la vitesse d'entraînement et d'inférence.


Évaluer, tester et déployer votre modèle

Évaluer le modèle

Images

Une fois le modèle entraîné, vous recevez un résumé de ses performances. Cliquez sur Évaluation ou Voir l'évaluation complète pour afficher l'analyse détaillée.

Collecter suffisamment de données Le débogage d'un modèle consiste davantage à déboguer les données que le modèle proprement dit. Si, à un moment quelconque, votre modèle commence à se comporter de manière inattendue lorsque vous évaluez ses performances avant et après le passage en production, vous devez revenir en arrière et vérifier les données pour voir où elles pourraient être améliorées.

Quels types d'analyses puis-je effectuer dans Vertex AI ?

Dans la section d'évaluation de Vertex AI, vous pouvez évaluer les performances de votre modèle personnalisé en vous appuyant sur la sortie générée par le modèle sur les exemples de test et sur les principales statistiques d'apprentissage du machine learning. Dans cette section, nous aborderons la signification de chacun des concepts suivants :

  • Les résultats du modèle
  • Le seuil de score
  • Les vrais positifs, les vrais négatifs, les faux positifs et les faux négatifs
  • Précision et rappel
  • Les courbes de précision/rappel
  • Précision moyenne

Comment interpréter la sortie du modèle ?

Vertex AI extrait des exemples de vos données de test pour exposer votre modèle à de tout nouveaux défis. Pour chaque exemple, le modèle génère une série de nombres qui indiquent le degré de confiance selon lequel il associe chaque étiquette à cet échantillon. Si le nombre est élevé, le modèle conclut avec une confiance élevée que l'étiquette doit être attribuée à ce document.
Sortie du modèle

Qu'est-ce que le seuil de score ?

Nous pouvons convertir ces probabilités en valeurs binaires "on" ou "off" (0/1) en définissant un seuil de score. Le seuil de score représente le degré de confiance que le modèle doit avoir pour attribuer une catégorie à un élément de test. Le curseur du seuil de score dans la console Google Cloud est un outil visuel permettant de tester l'effet de différents seuils pour toutes les catégories de votre ensemble de données, ainsi que pour des catégories individuelles. Si le seuil de score est bas, votre modèle classera davantage d'images, au risque cependant de commettre quelques erreurs de classification. Si le seuil de score est élevé, le modèle classifie moins d'images, mais le risque de commettre des erreurs de classification est moindre. Vous pouvez effectuer des tests en modifiant les seuils par catégorie dans la console Google Cloud. Toutefois, lorsque vous utilisez votre modèle en production, vous devez appliquer les seuils que vous avez trouvés optimaux de votre côté.

Score seuil

En quoi consistent les vrais positifs, vrais négatifs, faux positifs et faux négatifs ?

Après application du seuil de score, les prédictions effectuées par votre modèle sont classées dans l’une des quatre catégories suivantes :
les seuils que vous avez constatés comme étant les plus performants.

Vrais négatifs, positifs

Ces catégories peuvent être utilisées pour calculer la précision et le rappel, des métriques permettant d'évaluer plus facilement l'efficacité d'un modèle.

Que sont la précision et le rappel ?

La précision et le rappel permettent d'évaluer la qualité de la collecte d'informations, ainsi que la quantité d'informations omises par un modèle. La précision indique le nombre d'exemples de test auxquels une étiquette a été correctement attribuée parmi tous les exemples classifiés. Le rappel indique le nombre d'exemples de test auxquels une étiquette donnée a été attribuée, parmi tous les exemples qui auraient dû être classifiés sous cette étiquette.

Précision, rappel

Dois-je privilégier l'optimisation de la précision ou celle du rappel ?

Selon votre cas d'utilisation, il se peut que vous souhaitiez privilégier la précision ou le rappel. Tenez compte des deux cas d'utilisation suivants lorsque vous décidez de l'approche qui vous convient le mieux.

Cas d'utilisation : confidentialité dans les images

Imaginons que vous vouliez créer un système capable de détecter automatiquement les informations sensibles et de les flouter.
Faux positif inoffensif
Dans ce cas, les faux positifs correspondraient à des éléments qui ont été floutés alors que ce n'était pas nécessaire, ce qui peut être ennuyeux, mais non dommageable.

Faux négatif dangereux
À l'inverse, les faux négatifs représenteraient des éléments qui auraient dû être floutés, mais qui ne l'ont pas été, tels que des données de carte de crédit, ce qui risque d'entraîner une usurpation d'identité.

Dans cette situation, il convient d'optimiser le paramètre de rappel. Cette statistique mesure le nombre de documents non détectés sur l'ensemble des prédictions effectuées. Un modèle disposant d'un taux de rappel élevé est susceptible d'attribuer une étiquette à des exemples dont la pertinence est faible, ce qui est utile dans les cas où une catégorie contient peu de données d'entraînement.

Imaginons que vous souhaitiez créer un système qui recherche la meilleure photo pour un mot clé donné.
Faux positif

Un faux positif dans ce cas renverrait une image non pertinente. Étant donné que votre produit est censé ne fournir que les images les plus adaptées, ce serait un échec complet.

Faux négatif
Dans ce cas, un faux négatif ne renvoie pas une image pertinente pour une recherche par mot clé. Dans la mesure où il existe des milliers de photos susceptibles de correspondre à de nombreux termes de recherche, ce ne serait pas un problème.

Dans cette situation, il convient d'optimiser le paramètre de précision. Cette statistique mesure l'exactitude de l'ensemble des prédictions effectuées. Un modèle disposant d'un taux de précision élevé est susceptible de n'indiquer que les exemples les plus pertinents, ce qui est utile dans les cas où une classe est récurrente dans les données d'entraînement.

Comment utiliser la matrice de confusion ?

Matrice de confusion

Comment interpréter les courbes de précision/rappel ?

Courbes de précision et de rappel
L'outil de seuil de score permet de découvrir comment le seuil choisi affecte la précision et le rappel. En faisant glisser le curseur le long de la barre du seuil de score, vous pouvez voir où se situe ce seuil sur la courbe de compromis précision/rappel, ainsi que son effet sur ces paramètres (Pour les modèles multiclasses, les paramètres de précision et de rappel de ces graphiques indiquent que l'unique étiquette utilisée pour calculer ces métriques correspond à celle la mieux notée parmi l'ensemble d'étiquettes renvoyées). Cela permet de trouver un bon équilibre entre les faux positifs et les faux négatifs.

Une fois que vous avez choisi un seuil qui vous semble globalement acceptable pour votre modèle, cliquez sur les étiquettes individuelles afin de voir, pour chacune d'elles, où se situe ce seuil sur la courbe de précision/rappel. Dans certains cas, cela peut impliquer un grand nombre de prédictions incorrectes pour certaines étiquettes, ce qui peut vous conduire à définir un seuil personnalisé pour les classes correspondant à ces étiquettes. Supposons que vous examiniez l'ensemble de données des maisons et que vous remarquiez qu'un seuil de 0,5 dispose d'un taux de précision et de rappel convenable pour tous les types d'images, à l'exception du style "Tudor", probablement en raison du caractère très général de cette catégorie. Vous constatez en effet une multitude de faux positifs pour cette catégorie. Dans ce cas, vous pouvez décider d'utiliser un seuil de 0,8 uniquement pour la catégorie "Tudor", lorsque vous appelez le classificateur pour effectuer des prédictions.

Qu'est-ce que la précision moyenne ?

La zone sous la courbe de précision/rappel constitue une métrique utile pour cerner la précision du modèle. Elle permet de mesurer les performances de votre modèle vis-à-vis de l'ensemble des seuils de score. Dans Vertex AI, cette statistique s'appelle la précision moyenne. Plus ce score est proche de 1, meilleures seront les performances de votre modèle sur l'ensemble de test. Pour un modèle effectuant des prédictions de manière aléatoire pour chaque étiquette, la précision moyenne obtenue avoisinerait le score de 0,5.

Tabular

Évaluer le modèle Après avoir entraîné le modèle, vous recevez un résumé de ses performances. Les métriques d'évaluation du modèle sont basées sur ses performances par rapport à une tranche de l'ensemble de données (ensemble de données de test). Il existe plusieurs métriques et concepts clés à prendre en compte pour déterminer si votre modèle est prêt à traiter des données réelles.

Métriques de classification

Seuil de score

Examinons un modèle de machine learning qui prédit si un client achètera un blouson l’année prochaine. Quel doit être le degré de certitude du modèle avant de prédire qu'un client donné achètera un blouson ? Dans les modèles de classification, un score de confiance est attribué à chaque prédiction, soit une évaluation numérique de la certitude du modèle quant à l'exactitude de la classe prédite. Le seuil de score est la valeur numérique qui détermine le moment où un score donné est converti en une décision positive ou négative, c'est-à-dire la valeur à laquelle le modèle indique "oui, ce score de confiance est suffisamment élevé pour conclure que ce client achètera un blouson au cours de la prochaine année".
Évaluer les seuils

Si votre seuil de score est bas, votre modèle risque de générer des erreurs de classification. C'est pourquoi ce seuil devrait être déterminé en fonction d'un cas d'utilisation donné.

Résultats de prédiction

Après l'application du seuil de score, les prédictions effectuées par votre modèle entrent dans l'une des quatre catégories ci-dessous. Pour comprendre ces catégories, imaginons à nouveau un modèle de classification binaire pour un blouson. Dans cet exemple, la classe positive (ce que le modèle tente de prédire) est que le client achètera un blouson l'année prochaine.

  • Vrai positif : le modèle prédit correctement la classe positive. Le modèle a correctement prédit qu'un client allait acheter un blouson.
  • Faux positif : le modèle prédit incorrectement la classe positive. Le modèle a prédit qu'un client allait acheter un blouson, ce qu'il n'a pas fait.
  • Vrai négatif : le modèle prédit correctement la classe négative. Le modèle a correctement prédit qu'un client n'allait pas acheter de blouson.
  • Faux négatif : le modèle prédit incorrectement une classe négative. Le modèle a prédit qu'un client n'allait pas acheter de blouson, or c'est ce qu'il a fait.

Résultats de prédiction

Précision et rappel

Les métriques de précision et de rappel permettent d'évaluer la capacité de votre modèle à capturer des informations et à en laisser certaines de côté. En savoir plus sur la précision et le rappel.

  • La précision est la fraction des prédictions positives qui étaient correctes. Quelle était la fraction d'achats réels de toutes les prédictions d'achat d'un client ?
  • Le rappel est la fraction des lignes comportant cette étiquette que le modèle a correctement prédites. Quelle était la fraction de tous les achats clients qui auraient pu être identifiés ?

Selon votre cas d'utilisation, vous devrez peut-être optimiser la précision ou le rappel.

Autres métriques de classification
  • AUC PR : aire sous la courbe de précision/rappel (PR). Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.
  • AUC ROC : aire sous la courbe ROC (Receiver Operating Characteristic). Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.
  • Justesse : fraction des prédictions de classification produites par le modèle qui étaient correctes.