Partager via


Interprétabilité de modèles

Cet article décrit des méthodes que vous pouvez utiliser en lien avec l’interprétabilité des modèles dans Azure Machine Learning.

Important

Avec la publication du tableau de bord IA responsable qui comprend l’interprétabilité des modèles, nous recommandons de migrer vers la nouvelle expérience, car l’ancien tableau de bord d’interprétabilité de modèle du Kit de développement logiciel (SDK) v1 en préversion ne sera plus géré de manière active.

Pourquoi l’interprétabilité des modèles est importante pour le débogage de modèle

Quand la façon dont vous utilisez des modèles Machine Learning utilisés a un impact sur des vies de personnes, il est essentiel de comprendre ce qui influence le comportement des modèles. L’interprétabilité permet de répondre à certaines questions dans des scénarios tels que les suivants :

  • Débogage de modèle : Pourquoi mon modèle a-t-il commis cette erreur ? Comment puis-je améliorer mon modèle ?
  • Collaboration être humain-IA : comment comprendre les décisions du modèle, puis m’y fier ?
  • Conformité réglementaire : Mon modèle est-il conforme aux exigences légales ?

Le composant d’interprétabilité du tableau de bord IA responsable contribue à la phase de « diagnostic » du workflow de cycle de vie du modèle en générant des descriptions compréhensibles par l’être humain des prédictions d’un modèle Machine Learning. Il fournit plusieurs perspectives sur le comportement d’un modèle :

  • Explications globales : Par exemple, quelles caractéristiques affectent le comportement général d’un modèle d’allocation de prêt ?
  • Explications locales : par exemple, pourquoi la demande de prêt d’un client a-t-elle été approuvée ou rejetée ?

Vous pouvez également observer des explications de modèle pour une cohorte sélectionnée en tant que sous-groupe de points de données. Cette approche est précieuse, par exemple, quand vous évaluez l’impartialité des prédictions de modèle pour des individus d’un groupe démographique particulier. L’onglet Explication locale de ce composant représente également une visualisation complète des données, idéale pour avoir une vue générale des données, et pour observer les différences entre les prédictions correctes et incorrectes de chaque cohorte.

Les fonctionnalités de ce composant s’appuient sur le packageInterpretML qui génère des explications de modèle.

Utilisez l’interprétabilité quand vous devez :

  • Déterminez la fiabilité des prédictions de votre système d’IA en comprenant les caractéristiques les plus importantes pour les prédictions.
  • Approcher le débogage de votre modèle en commençant par le comprendre et en déterminant si le modèle utilise des caractéristiques saines ou simplement de fausses corrélations.
  • Découvrir des sources potentielles de partialité en comprenant si le modèle base des prédictions sur des caractéristiques sensibles ou des caractéristiques hautement corrélées à celles-ci.
  • Suscitez la confiance de l’utilisateur dans les décisions de votre modèle en générant des explications locales pour illustrer leurs résultats.
  • Effectuer un audit réglementaire d’un système IA pour valider les modèles et monitorer l’impact des décisions du modèle sur les hommes.

Comment interpréter votre modèle

Dans Machine Learning, les caractéristiques sont les champs de données que vous utilisez pour prédire un point de données cible. Par exemple, pour prédire le risque de crédit, vous pouvez utiliser des champs de données d’âge, de taille de compte et d’âge de compte. L’âge, la taille du compte et l’âge du compte sont ici des caractéristiques. L’importance d’une caractéristique indique dans quelle mesure chaque champ de données affecte les prédictions du modèle. Par exemple, bien que vous puissiez utiliser abondamment l’âge dans la prédiction, il se peut que la taille et l’âge du compte n’affectent sensiblement les valeurs de prédiction. Ce processus permet aux scientifiques des données d’expliquer des prédictions obtenues de manière à donner aux parties prenantes une visibilité sur les fonctionnalités les plus importantes du modèle.

En utilisant les classes et les méthodes du tableau de bord IA responsable, ainsi que le Kit de développement logiciel (SDK) v2 et l’interface CLI v2, vous pouvez :

  • Expliquer la prédiction du modèle en générant des valeurs d’importance de caractéristique pour l’ensemble du modèle (explication globale) ou pour des points de donnée individuels (explication locale).
  • Obtenir l’interprétabilité des modèles sur des jeux de données réels à grande échelle
  • Utiliser un tableau de bord de visualisation interactive pour découvrir des modèles dans vos données, et ses explications au moment de l’apprentissage.

En utilisant les classes et les méthodes du Kit de développement logiciel (SDK) v1, vous pouvez :

  • Expliquer la prédiction du modèle en générant des valeurs d’importance des caractéristiques pour l’ensemble du modèle ou des points de donnée individuels.
  • Réaliser l’interprétabilité des modèles sur des jeux de données du monde réel à grande échelle, pendant l’apprentissage et l’inférence.
  • Utiliser un tableau de bord de visualisation interactive pour découvrir des modèles dans vos données, et ses explications au moment de l’apprentissage.

Notes

Des classes d’interprétabilité des modèles sont disponibles via le package du Kit de développement logiciel (SDK) v1. Pour plus d’informations, consultez Installer des packages SDK pour Azure Machine Learning et azureml.interpret.

Techniques d’interprétabilité des modèles prises en charge

Le tableau de bord IA responsable et azureml-interpret utilisent les techniques d’interprétabilité développées dans Interpret-Community, un package Python open source pour l’apprentissage de modèles interprétables et l’explication de systèmes IA de boîte opaque. Les modèles de boîte opaque sont ceux dont nous n’avons aucune information sur le fonctionnement interne.

Interpret-Community sert d’hôte pour les explicateurs pris en charge suivants, et prend actuellement en charge les techniques d’interprétabilité présentées dans les sections suivantes.

Pris en charge dans le tableau de bord IA responsable dans le SDK Python v2 et l’interface CLI v2

Technique d’interprétabilité Description Type
Explicateur d’imitation (substitution globale) + arborescence SHAP L’explicateur d’imitation repose sur l’idée d’effectuer l’apprentissage de modèles de substitution globaux pour imiter des modèles de boîte opaque. Un modèle de substitution global est un modèle intrinsèquement interprétable qui a appris à estimer les prédictions de n’importe quel modèle de boîte opaque aussi précisément que possible.

Les scientifiques des données peuvent interpréter le modèle de substitution pour tirer des conclusions sur le modèle de boîte opaque. Le tableau de bord IA responsable utilise LightGBM (LGBMExplainableModel), associé à l’Explicateur d’arborescence SHAP (SHapley Additive exPlanations), qui est un explicateur spécifique pour les arborescences et les ensembles d’arborescences. La combinaison de l’arborescence LightGBM et SHAP fournit des explications globales et locales indépendantes du modèle pour vos modèles Machine Learning.
Indépendant du modèle

Techniques d’interprétabilité des modèles prises en charge pour les modèles de texte

Technique d’interprétabilité Description Type Tâche de texte
Texte SHAP Méthode d’explication populaire dans le domaine des réseaux neuronaux profonds, SHAP (SHapley Additive exPlanations) offre des insights sur la contribution de chaque caractéristique d’entrée à une prédiction donnée. Elle est basée sur le concept des valeurs Shapley : une méthode d’attribution de crédit à des joueurs individuels dans un jeu coopératif. SHAP applique ce concept aux caractéristiques d’entrée d’un réseau neuronal en calculant la contribution moyenne de chaque caractéristique à la sortie du modèle pour toutes les combinaisons de caractéristiques possibles. Pour le texte en particulier, SHAP segmente les mots de manière hiérarchique en traitant chaque mot ou jeton comme caractéristique. Cela produit un ensemble de valeurs d’attribution qui quantifient l’importance de chaque mot ou jeton à l’égard de la prédiction donnée. La carte d’attribution finale générée représente ces valeurs sous forme de carte thermique sur le document texte d’origine. SHAP est une méthode indépendante du modèle, qui peut être utilisée pour expliquer un large éventail de modèles deep learning (apprentissage profond), y compris les CNN, les RNN et les transformateurs. En outre, elle offre plusieurs propriétés utiles telles que la cohérence, la justesse et l’impartialité, ce qui en fait une technique fiable et interprétable pour la compréhension du processus décisionnel d’un modèle. Indépendante du modèle Classification de texte multiclasse, classification de texte multiétiquette

Techniques d’interprétabilité des modèles prises en charge pour les modèles d’image

Technique d’interprétabilité Description Type Tâche de vision
Vision SHAP Méthode d’explication populaire dans le domaine des réseaux neuronaux profonds, SHAP (SHapley Additive exPlanations) offre des insights sur la contribution de chaque caractéristique d’entrée à une prédiction donnée. Elle est basée sur le concept des valeurs Shapley : une méthode d’attribution de crédit à des joueurs individuels dans un jeu coopératif. SHAP applique ce concept aux caractéristiques d’entrée d’un réseau neuronal en calculant la contribution moyenne de chaque caractéristique à la sortie du modèle pour toutes les combinaisons de caractéristiques possibles. Pour la vision en particulier, SHAP segmente l’image de manière hiérarchique en traitant les zones de superpixels de l’image comme chaque caractéristique. Cela produit un ensemble de valeurs d’attribution qui quantifient l’importance de chaque superpixel ou zone d’image à l’égard de la prédiction donnée. La carte d’attribution finale générée représente ces valeurs sous forme de carte thermique. SHAP est une méthode indépendante du modèle, qui peut être utilisée pour expliquer un large éventail de modèles deep learning (apprentissage profond), y compris les CNN, les RNN et les transformateurs. En outre, elle offre plusieurs propriétés utiles telles que la cohérence, la justesse et l’impartialité, ce qui en fait une technique fiable et interprétable pour la compréhension du processus décisionnel d’un modèle. Indépendante du modèle Classification d’images multiclasse, classification d’images multiétiquette
Rétropropagation guidée Méthode d’explication populaire dans le domaine des réseaux neuronaux profonds, la rétropropagation guidée offre des insights sur les représentations apprises du modèle. Elle génère une visualisation des caractéristiques d’entrée qui activent un neurone particulier dans le modèle, en calculant le gradient de la sortie par rapport à l’image d’entrée. À la différence d’autres méthodes basées sur les gradients, la rétropropagation guidée rétropropage uniquement les gradients positifs et utilise une fonction d’activation ReLU modifiée garantissant que les gradients négatifs n’influencent pas la visualisation. Il en résulte une carte de saillance plus interprétable et haute résolution, qui met en évidence les caractéristiques les plus importantes dans l’image d’entrée à l’égard d’une prédiction donnée. La rétropropagation guidée peut être utilisée pour expliquer un large éventail de modèles deep learning, y compris les réseaux neuronaux convolutifs (CNN, convolutional neural network), les réseaux neuronaux récurrents (RNN, recurrent neural networks) et les transformateurs. AutoML Classification d’images multiclasse, classification d’images multiétiquette
Guided gradCAM Méthode d’explication populaire dans le domaine des réseaux neuronaux profonds, Guided gradCAM offre des insights sur les représentations apprises du modèle. Elle génère une visualisation des caractéristiques d’entrée contribuant le plus à une classe de sortie spécifique, en combinant l’approche de rétropropagation guidée, basée sur les gradients, à l’approche de localisation de GradCAM. Plus précisément, elle calcule les gradients de la classe de sortie par rapport aux cartes de caractéristiques de la dernière couche convolutive du réseau, puis pondère chaque carte de caractéristiques en fonction de l’importance de son activation pour cette classe. Cela produit une carte thermique haute résolution qui met en évidence les régions les plus discriminantes de l’image d’entrée pour la classe de sortie donnée. La méthode Guided GradCAM peut être utilisée pour expliquer un large éventail de modèles deep learning, y compris les CNN, les RNN et les transformateurs. En outre, en incorporant la rétropropagation guidée, elle garantit une visualisation pertinente et interprétable, évitant les activations inappropriées et les contributions négatives. AutoML Classification d’images multiclasse, classification d’images multiétiquette
Gradients intégrés (IG, Integrated Gradients) Méthode d’explication populaire dans le domaine des réseaux neuronaux profonds, la méthode des gradients intégrés offre des insights sur la contribution de chaque caractéristique d’entrée à une prédiction donnée. Elle calcule l’intégrale du gradient de la classe de sortie par rapport à l’image d’entrée, le long d’un chemin droit entre une image de référence et l’image d’entrée réelle. Ce chemin est généralement choisi comme interpolation linéaire entre les deux images, la base de référence étant une image neutre qui n’a pas de caractéristiques saillantes. En intégrant le gradient le long de ce chemin, la méthode des gradients intégrés détermine dans quelle mesure chaque caractéristique d’entrée contribue à la prédiction, permettant de générer une carte d’attribution. Cette carte met en évidence les caractéristiques d’entrée les plus influentes et peut être utilisée pour obtenir des insights sur le processus décisionnel du modèle. La méthode des gradients intégrés peut être utilisée pour expliquer un large éventail de modèles deep learning, y compris les CNN, les RNN et les transformateurs. En outre, il s’agit d’une technique théoriquement fondée, qui satisfait un ensemble de propriétés utiles telles que la sensibilité, l’invariance d’implémentation et l’exhaustivité. AutoML Classification d’images multiclasse, classification d’images multiétiquette
XRAI XRAI est une toute nouvelle méthode de saillance basée sur les régions, s’appuyant sur les gradients intégrés. Elle segmente l’image de manière excessive et teste de manière itérative l’importance de chaque région, en fusionnant les régions plus petites en segments plus grands en fonction des scores d’attribution. Cette stratégie permet d’obtenir des régions de saillance de haute qualité, étroitement liées, surpassant les techniques de saillance existantes. XRAI peut être utilisé avec n’importe quel modèle basé sur des réseaux neuronaux profonds, dans la mesure où il existe un moyen de regrouper les caractéristiques d’entrée en segments avec une métrique de similarité. AutoML Classification d’images multiclasse, classification d’images multiétiquette
D-RISE D-RISE est une méthode indépendante du modèle, permettant de créer des explications visuelles pour les prédictions de modèles de détection d’objet. En tenant compte des aspects de localisation et de catégorisation de la détection d’objet, D-RISE peut produire des cartes de saillance qui mettent en évidence les parties d’une image qui contribuent le plus à la prédiction du détecteur. D-RISE est une méthode plus générale que les méthodes basées sur les gradients. Autre différence : elle n’a pas besoin d’accéder aux procédures internes du détecteur d’objet. Elle nécessite uniquement l’accès aux entrées et sorties du modèle. La méthode peut être appliquée aux détecteurs à un étage (par exemple, YOLOv3), aux détecteurs à deux étages (par exemple, Faster-RCNN) et aux transformateurs Vision Transformer (par exemple, DETR, OWL-ViT).
D-Rise produit la carte de saillance en créant des masques aléatoires de l’image d’entrée et l’envoie au détecteur d’objet avec ces masques. En évaluant le changement de score du détecteur d’objet, cela agrège toutes les détections avec chaque masque, puis produit un mappage de saillance finale.
Indépendante du modèle Détection d’objets

Pris en charge dans le SDK Python v1

Technique d’interprétabilité Description Type
Explicatif d’arborescence SHAP L’explicateur d’arborescence SHAP cible un algorithme d’estimation de valeur SHAP rapide polynomial spécifique d’arborescences et d’ensembles d’arborescences. Spécifique au modèle
Explicatif approfondi SHAP Selon l’explication proposée par SHAP, un explicateur approfondi « est un algorithme d’approximation à vitesse élevée de valeurs SHAP dans des modèles Deep learning qui s’appuie sur une connexion avec DeepLIFT décrite dans le document NIPS de SHAP. Les modèles TensorFlow et Keras utilisant le serveur principal TensorFlow sont pris en charge (une prise en charge préliminaire de PyTorch est également possible) ». Spécifique au modèle
Explicatif linéaire SHAP L’explicateur linéaire SHAP calcule des valeurs SHAP pour un modèle linéaire, en prenant éventuellement en compte des corrélations entre caractéristiques. Spécifique au modèle
Explicatif de noyau SHAP L’explicateur de noyau SHAP utilise une régression linéaire locale spécialement pondérée pour estimer des valeurs SHAP pour n’importe quel modèle. Indépendant du modèle
Explicatif d’imitation (substitution globale) L’explicateur d’imitation repose sur l’idée d’effectuer l’apprentissage de modèles de substitution globaux pour imiter des modèles de boîte opaque. Un modèle de substitution global est un modèle intrinsèquement interprétable qui a appris à estimer les prédictions de n’importe quel modèle de boîte opaque aussi précisément que possible. Les scientifiques des données peuvent interpréter le modèle de substitution pour tirer des conclusions sur le modèle de boîte opaque. Vous pouvez utiliser un des modèles interprétables suivants comme modèle de substitution : LightGBM (LGBMExplainableModel), régression linéaire (LinearExplainableModel), modèle explicable Stochastic Gradient Descent (SGDExplainableModel) ou arbre de décision (DecisionTreeExplainableModel). Indépendant du modèle
Explicateur de permutation d’importance de caractéristique La permutation d’importance de caractéristique est une technique utilisée pour expliquer des modèles de classification et de régression inspirés du document relatif aux forêts aléatoires de Breiman (section 10). De façon générale, il fonctionne en permutant aléatoirement les données d’une caractéristique à la fois pour l’ensemble du jeu de données et en calculant dans quelle mesure la métrique de performances d’intérêt change. Plus la modification est importante, et plus la fonctionnalité l’est également. La PFI peut expliquer le comportement global de n’importe quel modèle sous-jacent, mais n’explique pas les prédictions individuelles. Indépendant du modèle

Outre les techniques d’interprétabilité décrites dans la section précédente, nous prenons en charge un autre explicateur SHAP, appelé Explicateur tabulaire. En fonction du modèle, l’Explicateur tabulaire utilise l’un des explicateurs SHAP pris en charge :

  • Explicateur d’arborescence pour tous les modèles basés sur une arborescence
  • Explicateur approfondi pour modèles de réseau neuronal profond (DNN)
  • Explicateur linéaire pour modèles linéaires
  • Eplicateur noyau pour tous les autres modèles

L’Explicateur tabulaire a également apporté des améliorations conséquentes en matière de fonctionnalités et de performances par rapport aux explicateurs SHAP directs :

  • Résumé du jeu de données d’initialisation : lorsque la vitesse d’explication est la plus importante, nous résumons le jeu de données d’initialisation et générons un petit ensemble d’échantillons représentatifs. Cette approche accélère la génération de valeurs d’importance de caractéristiques globales et individuelles.
  • Échantillonnage du jeu de données d’évaluation : si vous transmettez un grand ensemble d’échantillons d’évaluation qui ne doivent pas nécessairement être tous évalués, vous pouvez définir le paramètre d’échantillonnage sur true pour accélérer le calcul des explications du modèle global.

Le diagramme suivant illustre la structure actuelle des explicateurs pris en charge :

 Diagramme de l'architecture d'interprétabilité de l'apprentissage automatique.

Modèles Machine Learning pris en charge

Le package azureml.interpret du Kit de développement logiciel (SDK) prend en charge des modèles formés avec les formats de jeu de données suivants :

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

Les fonctions d’explication acceptent les modèles et les pipelines en entrée. Si un modèle est fourni, il doit implémenter la fonction de prédiction predict ou predict_proba conforme à la convention Scikit. Si votre modèle ne la prend pas en charge, vous pouvez l’envelopper dans une fonction wrapper qui génère le même résultat que predict ou predict_proba dans Scikit, et utiliser celle-ci avec l’explicateur sélectionné.

Si vous fournissez un pipeline, la fonction d’explication suppose que le script de pipeline en cours d’exécution retourne une prédiction. Quand vous utilisez cette technique d’enveloppement, azureml.interpret peut prendre en charge des modèles entraînés avec des frameworks de Deep Learning PyTorch, TensorFlow, Keras, ainsi que des modèles Machine Learning classiques.

Cible de calcul locale et distante

Le package azureml.interpret est conçu pour fonctionner avec les cibles de calcul locales et distantes. Si vous exécutez le package localement, les fonctions du Kit de développement logiciel (SDK) ne contactent aucun service Azure.

Vous pouvez exécuter l’explication à distance sur la Capacité de calcul Azure Machine Learning et consigner les informations d’explication dans le service d’historique des exécutions d’Azure Machine Learning. Une fois ces informations journalisées, des rapports et visualisations de l’explication sont immédiatement disponibles pour analyse sur Azure Machine Learning studio.

Étapes suivantes