AI Explanations intègre l'attribution de caractéristiques dans AI Platform Prediction. Cette page offre un bref aperçu des concepts et méthodes d'attribution de caractéristiques disponibles avec AI Platform Prediction. Pour une présentation technique plus détaillée, consultez notre livre blanc sur AI Explanations.
AI Explanations vous aide à comprendre les résultats de votre modèle pour faciliter les tâches de classification et de régression. Chaque fois que vous demandez une prédiction sur AI Platform, AI Explanations vous indique dans quelle mesure chaque caractéristique issue des données a contribué au résultat prédit. Vous pouvez ensuite exploiter ces informations pour vérifier que votre modèle se comporte comme prévu, identifier les biais dans vos modèles et obtenir des idées pour améliorer votre modèle et vos données d'entraînement.
Attributions de caractéristiques
Les attributions de caractéristiques indiquent dans quelle mesure chaque caractéristique de votre modèle a contribué aux prédictions pour chaque instance donnée. Lorsque vous demandez des prédictions, vous obtenez des valeurs prédites correspondant à votre modèle. Lorsque vous demandez des explications, vous obtenez les prédictions ainsi que les informations d'attribution des caractéristiques.
Les attributions de caractéristiques fonctionnent sur des données tabulaires et incluent des fonctionnalités de visualisation intégrées pour les données d'image. Prenons les exemples suivants :
Un réseau de neurones profond est entraîné pour prédire la durée d'un trajet à vélo, en fonction des données météorologiques et des données de trajets précédents fournies par les stations de vélos en libre-service. Si vous ne demandez que des prédictions à partir de ce modèle, vous obtenez la durée prévue des trajets à vélo en minutes. Si vous demandez des explications, vous obtenez la durée prévue des trajets à vélo, ainsi qu'un score d'attribution pour chaque caractéristique dans votre requête d'explication. Les scores d'attribution indiquent dans quelle mesure chaque caractéristique a affecté la variation de la valeur de prédiction par rapport à la valeur de référence que vous avez spécifiée. Choisissez une valeur de référence cohérente et adaptée à votre modèle, en l'occurrence la durée moyenne d'un trajet à vélo. Vous pouvez tracer les scores d'attribution des caractéristiques pour identifier celles qui ont le plus contribué à la prédiction obtenue :
Un modèle de classification d'images est entraîné pour prédire si une image donnée contient un chien ou un chat. Si vous demandez des prédictions à partir de ce modèle sur un nouvel ensemble d'images, vous obtenez une prédiction pour chaque image ("chien" ou "chat"). Si vous demandez des explications, vous obtenez la classe prédite avec, en superposition sur l'image, l'affichage des pixels qui ont le plus contribué à la prédiction obtenue :
Un modèle de classification d'images est entraîné à prédire des espèces de fleurs dans l'image. Si vous demandez des prédictions à partir de ce modèle sur un nouvel ensemble d'images, vous obtenez une prédiction pour chaque image ("marguerite" ou "pissenlit"). Si vous demandez des explications, vous obtenez la classe prédite avec, en superposition sur l'image, l'affichage des zones qui ont le plus contribué à la prédiction obtenue :
Avantages et cas d'utilisation
Si vous inspectez des instances spécifiques et regroupez les attributions de caractéristiques dans votre ensemble de données d'entraînement, vous pouvez obtenir des insights plus complets sur le fonctionnement de votre modèle. Considérez les avantages et les cas d'utilisation suivants :
- Déboguer les modèles : les attributions de caractéristiques peuvent aider à détecter les problèmes liés aux données que les techniques d'évaluation standards des modèles ne parviennent généralement pas à résoudre. Par exemple, un modèle d'images pathologiques a obtenu des résultats suspects sur un ensemble de données de test d'images de radiographie thoracique. Les attributions de caractéristiques ont révélé que la précision élevée du modèle dépendait des marquages au stylo effectués par le radiologue dans l'image.
- Optimiser les modèles : vous pouvez identifier et supprimer les caractéristiques moins importantes, ce qui permet d'obtenir des modèles plus efficaces.
Limites conceptuelles
Les attributions de caractéristiques comportent les limites suivantes dont vous devez tenir compte :
- Les attributions sont spécifiques aux prédictions individuelles. Si inspecter une attribution pour une prédiction individuelle permet d'obtenir des informations utiles, elles ne sont pas forcément généralisables à l'ensemble de la classe ou du modèle. Pour obtenir des insights plus généralisables, vous pouvez agréger les attributions dans des sous-ensembles de votre ensemble de données, ou pour l'ensemble de données complet.
- Bien que les attributions de caractéristiques puissent faciliter le débogage du modèle, elles n'indiquent pas toujours clairement si un problème provient du modèle lui-même ou des données sur lesquelles il est entraîné. Faites appel à votre bon sens et analysez les problèmes de données courants afin de réduire le champ des causes potentielles.
- Dans les modèles complexes, les attributions de caractéristiques sont soumises à des attaques contradictoires semblables à celles rencontrées dans les prédictions.
Pour en savoir plus sur les limites, reportez-vous à la liste détaillée des limites et au livre blanc sur AI Explanations.
Comparaison des méthodes d'attribution de caractéristiques
AI Explanations propose trois méthodes d'attribution de caractéristiques : échantillonnage des valeurs de Shapley, gradients intégrés et XRAI.
Méthode | Explication de base | Types de modèles recommandés | Exemples de cas d'utilisation |
---|---|---|---|
Gradients intégrés | Méthode basée sur les gradients permettant de calculer efficacement les attributions de caractéristiques avec les mêmes propriétés axiomatiques que les valeurs de Shapley. | Modèles différenciables, tels que les réseaux de neurones. Particulièrement recommandé pour les modèles comportant de grands espaces de caractéristiques. Recommandé pour les images à faible contraste, comme les images par rayons X. |
|
XRAI (eXplanation with Ranked Area Integrals) | En fonction de la méthode des gradients intégrés, XRAI évalue les régions en chevauchement pour créer une carte de saillance, qui met en évidence les régions pertinentes de l'image plutôt que les pixels. | Modèles acceptant les images d'entrée. Particulièrement recommandé pour les images naturelles, qui sont des scènes réelles contenant plusieurs objets. |
|
Échantillonnage des valeurs de Shapley | Attribue un crédit de contribution au résultat pour chaque caractéristique en tenant compte des diverses permutations de caractéristiques. Cette méthode fournit une approximation d'échantillonnage de valeurs de Shapley exactes. | Modèles non différenciables, tels que les ensembles d'arbres et de réseaux de neurones 1 |
|
Comprendre les méthodes d'attribution des caractéristiques
Chaque méthode d'attribution de caractéristiques est basée sur les valeurs de Shapley, un algorithme collaboratif de la théorie des jeux qui attribue un crédit à chaque joueur pour un résultat particulier. Appliqué aux modèles de machine learning, cela signifie que chaque caractéristique de modèle est traitée comme un "joueur" dans le jeu. AI Explanations attribue un crédit proportionnel à chaque caractéristique pour le résultat d'une prédiction particulière.
AI Explanations vous permet, pour ainsi dire, de "choisir" vos joueurs en sélectionnant les caractéristiques exactes pour votre requête d'explication.
Méthode de l'échantillonnage des valeurs de Shapley
La méthode de l'échantillonnage des valeurs de Shapley fournit une approximation d'échantillonnage de valeurs de Shapley exactes.
Méthode des gradients intégrés
Avec la méthode des gradients intégrés, le gradient de sortie de la prédiction est calculé par rapport aux caractéristiques d'entrée, le long d'un chemin intégral.
- Les gradients sont calculés à différents intervalles selon un paramètre de mise à l'échelle. (Pour les données d'image, imaginez ce paramètre de mise à l'échelle comme un "curseur" qui redimensionne tous les pixels de l'image en noir.)
- Les gradients sont "intégrés" :
- La moyenne est calculée sur l'ensemble des gradients.
- Le produit par éléments de la moyenne des gradients et de l'entrée d'origine est calculé.
Pour obtenir une explication intuitive de ce processus appliqué aux images, consultez l'article de blog Attributing a deep network's prediction to its input features (Attribuer une prédiction de réseau profond à ses caractéristiques d'entrée). Les auteurs de l'article original sur les gradients intégrés, Axiomatic Attribution for Deep Networks (Attribution axiomatique pour les réseaux profonds) montrent dans l'article de blog précédent à quoi ressemblent les images à chaque étape du processus.
Méthode XRAI
La méthode XRAI combine la méthode des gradients intégrés et des étapes supplémentaires pour déterminer quelles régions de l'image contribuent le plus à une prédiction de classe donnée.
- Attribution au niveau du pixel : XRAI effectue l'attribution au niveau du pixel pour l'image d'entrée. Lors de cette étape, XRAI utilise la méthode des gradients intégrés avec une référence noire et une référence blanche.
- Segmentation excessive : indépendamment de l'attribution au niveau du pixel, XRAI segmente l'image de manière excessive pour créer un patchwork de petites régions. XRAI utilise la méthode basée sur le graphique de Felzenswalb pour créer les segments de l'image.
- Sélection de la région : XRAI agrège l'attribution au niveau du pixel dans chaque segment pour déterminer sa densité d'attribution. En utilisant ces valeurs, XRAI classe chaque segment, du plus positif au moins positif. Cela permet de déterminer quelles zones de l'image sont les plus saillantes ou contribuent le plus à une prédiction de classe donnée.
Modèles différenciables et non différenciables
Dans les modèles différenciables, vous pouvez calculer le dérivé de toutes les opérations de votre graphe TensorFlow. Cette propriété contribue à rendre la rétropropagation possible dans de tels modèles. Par exemple, les réseaux de neurones sont différenciables. Pour obtenir des attributions de caractéristiques pour des modèles différenciables, utilisez la méthode des gradients intégrés.
Les modèles non différenciables incluent des opérations non différenciables dans le graphe TensorFlow, comme celles qui effectuent les tâches de décodage et d'arrondi. Par exemple, un modèle construit comme un ensemble d'arbres et de réseaux de neurones est non différenciable. Pour obtenir des attributions de caractéristiques pour des modèles non différenciables, utilisez la méthode de l'échantillonnage des valeurs de Shapley. Cette méthode fonctionne également sur les modèles différenciables, mais les opérations de calcul nécessaires sont plus importantes.
Références
Les mises en œuvre de l'échantillonnage des valeurs de Shapley, des gradients intégrés et de XRAI sont respectivement basées sur les documents de référence suivants :
- Bounding the Estimation Error of Sampling-based Shapley Value Approximation (Limiter l'erreur d'estimation de l'approximation d'échantillonnage basée sur les valeurs de Shapley)
- Axiomatic Attribution for Deep Networks (Attribution axiomatique pour les réseaux profonds)
- XRAI : Better Attributions Through Regions (Améliorer les attributions dans les régions)
Pour en savoir plus sur la mise en œuvre d'AI Explanations, lisez le livre blanc sur AI Explanations.
Ressources pédagogiques
Les ressources pédagogiques suivantes vous seront également utiles :
- Interpretable Machine Learning: Shapley values (Modèles de machine learning interprétables : les valeurs de Shapley)
- Dépôt GitHub des gradients intégrés par Ankur Taly.
- Bibliothèque SHAP (SHapley Additive exPlanations)
- Présentation des valeurs de Shapley