IA et éthique : Comment comprendre son modèle ? ⚖

Nathan Lauga
13 min readFeb 25, 2019

--

Février 2019 — Nathan Lauga

Bonjour à tous et à toutes,

Pour faire suite à mon article précédent concernant les biais dans l’intelligence artificielle [1], je vais approfondir la réflexion éthique sur les IA en abordant la question de l’interprétabilité ainsi que de l’explicabilité des modèles. L’objectif de cet article est d’identifier les problématiques que peuvent causer un modèle non “explicable” et de voir les solutions existantes tel que LIME ou SHAP.

Texte : à gauche “PERFORMANCE”, à droite “INTERPRÉTABILITÉ”

Enjeu et contexte

L’une des questions éthiques qui est très souvent évoquée dans notre monde moderne est celle de la transparence. En effet, avec l’arrivée de la RGPD (Règlement général sur la protection des données) [2] en mai 2018, il est nécessaire de pouvoir expliquer la prédiction ou décision d’une intelligence artificielle à un client ou simple utilisateur de l’IA.

Par exemple, un client souhaite faire un prêt immobilier et le banquier saisi les informations concernant ce client et l’algorithme indique que cette personne ne peut pas recevoir le prêt, dans cette situation le client peut légitimement demander pourquoi cette réponse a été donnée. C’est alors que trois possibilités se présentent : la première étant “la pire”, le banquier n’est pas capable d’expliquer ce choix de l’IA. La seconde serait que le modèle donne une explication mais peu rationnelle comme le fait que le client possède une voiture bleue. Enfin, la dernière possibilité, qui est la plus “juste”, serait que le modèle fournisse une explication cohérente et pertinente.

Cet exemple montre la complexité que peut poser cette réflexion et elle engage à réfléchir sur des questions concernant les outils que nous utilisons au quotidien : “Pourquoi YouTube me conseille cette vidéo ?”, “Pourquoi je vois cette publication sur Facebook ?”, etc.

Quelle est la différence entre l’interprétabilité et l’explicabilité ?

Depuis plusieurs années, le machine learning se répand à très grande vitesse dans les entreprises et bien sûr la tendance vise à la performance. Le problème est que cette course à la performance peut également faire perdre du sens au modèle c’est-à-dire qu’il devient très compliqué d’expliquer comment le modèle a obtenu un tel résultat.

Arriver à expliquer son modèle est donc devenu primordial afin de bien comprendre le modèle et également de permettre de renouer un dialogue entre les architectes des modèles, les data scientists, et les experts métiers.

Interprétabilité

Ce terme est essentiel pour un modèle d’intelligence artificielle, “en logique mathématiques, l’interprétabilité est une relation entre les théories formelles qui exprime la possibilité d’interpréter ou de traduire l’une en l’autre.” (Définition Wikipédia [3])

La notion d’interprétabilité reste alors mathématiques, il est possible de la traduire par : comprendre comment le modèle fonctionne mathématiquement. Il existe une grande quantité d’algorithmes pouvant être utilisés en machine learning et il est important de savoir que plus un modèle est performant, généralement, il devient plus difficile de l’interpréter.

Le graphique ci-dessus rentre dans le détail dans la comparaison sur les différents algorithmes de machine learning, entre leur performance (axe des ordonnées) et leur interprétabilité (axe des abscisses). L’observation qu’il est possible de tirer de cette image est la corrélation entre ces deux informations : plus la performance est élevée, moins le modèle est interprétable.

Afin de mieux comprendre ce qu’est un modèle interprétable, il faut voir à ce que ressemble la régression linéaire et les arbres de décision.

Source : régression linéaire | Idelog

La régression linéaire est simple théoriquement, cet algorithme est même très intuitif.

Pour ce faire, il est nécessaire d’avoir un ensemble de points et de tracer une courbe qui correspond au mieux à tous ces points (C.F. image ci-contre). La courbe formée suit la formule suivante : y = ax+b

La notion d’interprétabilité se retrouve alors facilement puisque les coefficients des variables de cette droite sont comparables et donc plus un coefficient est élevé, plus il a une importance dans la prédiction. Tout cela se comprend mathématiquement.

Source : OpenClassrooms

L’arbre de décision, lui, ne s’obtient pas avec la même logique que pour la régression linéaire.

Sans rentrer dans le détail de comment il s’obtient, sa faculté est que la notion d’arbre de décision existe depuis longtemps chez les hommes avant même la naissance d’un algorithme qui calcule automatiquement comment le constituer.

Du fait de cette logique intuitive pour l’homme, sous la forme de question avec une réponse qui peut être oui ou non démontre bien son interprétabilité. Aujourd’hui, il faut savoir que ces modèles ne sont pas les modèles les plus utiliser dû à leur manque de performance c’est ainsi qu’arrive la notion d’explicabilité.

Explicabilité

Comme évoqué précédemment, la performance implique un manque d’interprétabilité et cela signifie alors une IA de type “boîte noire”. L’objectif de l’interprétabilité serait donc d’ouvrir ces “boîtes noires” afin de comprendre pourquoi elles donnent une finalité plutôt qu’une autre alors que pour l’explicabilité il s’agit de comprendre pourquoi cette “boîte noire” donne un résultat en particulier.

La nuance se joue donc dans le sens de l’explication donnée. En toute logique pour expliquer l’importance des variables sur un modèle, il est possible de faire varier les informations en entrée et de voir comment le résultat que le modèle donne évolue.

Par exemple, prenons un modèle qui essaye de prédire le poids d’une personne en fonction de sa taille et son nombre d’heure de sport par semaine. Si j’augmente la taille en entrée et que le modèle augmente le poids en sorti alors, il est possible de constater que la taille est un élément qui a une influence “positive” sur le poids : il s’agit donc d’une explication “logique” et non mathématique.

L’importance de l’explicabilité est accès sur le fait qu’un humain avec une expertise dite “métier”, soit non technique sur la création de l’intelligence artificielle concernée, puisse comprendre pourquoi le modèle agit ainsi.

Solutions techniques existantes

Aujourd’hui, différentes solutions existent afin de permettre cette explicabilité des IA. Pour rappel, certains modèles “interprétables” comme la régression linéaire ou encore l’arbre de décision, sont par définition explicables, les solutions existantes concernent alors les modèles plus complexes tel que les modèles de forêt ou les réseaux de neurones.

“Feature Importance”

Cette première mesure, qu’il est possible d’appeler l’importance des variables en français, est assez populaire dans le domaine de la Data Science puisqu’elle est très souvent utilisée pour comprendre le modèle qui la compose. Elle se retrouve principalement dans les modèles de Machine Learning classique, en omettant donc les modèles de Deep Learning avec les réseaux de neurones.

L’importance des variables ne se calcule pas par la même méthode en fonction de l’algorithme utilisé. Par exemple, pour un modèle de régression linéaire, cette mesure ce fera sur les coefficients de la droite alors que pour un modèle de forêt (e.g. “Random Forest”), il est nécessaire de regarder pour chaque arbre est-ce que la variable sépare bien les données ou non.

Pour donner un exemple, si je cherche à savoir la probabilité d’avoir un cancer du poumon et que je pose la question “Est-ce que la personne a déjà fumé régulièrement ?”, dans le cas où la réponse est oui la probabilité d’avoir un cancer est de 90% et dans le cas contraire (où la réponse est non), cette probabilité n’est que de 23% alors il est possible d’affirmer que la variable “Avoir déjà fumé” a de l’importance pour la prédiction de l’IA. Si les mathématiques qui se cachent derrière la “feature importance” vous intéresse voici un article détaillant son fonctionnement [4].

Pour donner un exemple de sa représentation j’ai choisi de prendre le cas que j’ai construit dans mon notebook : “Study on bias and interpretable models” [5]. Ici, le modèle cherche à prédire si une personne possède un revenu annuel supérieur à 50k ou non. Les variables “les plus importantes” sont donc les suivantes : “Final Weight”, “Age” et “Capital Gain”. Cela donne une première explication du modèle.

Cette mesure est aujourd’hui énormément utilisée pour expliquer un modèle, en entreprise. Le problème étant que sa mesure est loin d’être parfaite. En effet, les mathématiques, qui composent sa mesure, sont heuristiques et de plus, si le calcul est effectué au sein d’un arbre ou une forêt, plus le ou les arbre(s) possède(nt) de profondeur, plus le risque de biaiser l’importance des variables est présent [6]. Pour avoir une meilleure explicabilité du modèle, il faut alors avoir une tout autre approche, notamment une approche à la prédiction.

LIME

Afin de comprendre une prédiction, en se basant sur l’importance des variables vu précédemment, le problème est qu’il est uniquement possible de se fier à une vision “globale” soit sur l’ensemble du modèle. Or, pour un cas concret rien n’indique qu’une variable qui peut être mineure sur le graphique de l’importance a eu un rôle majeur pour la prédiction.

Il faut alors quitter les notions mathématiques du modèle pour aborder une vision qui entoure l’IA. LIME est un module qui signifie en français : “explications locales interprétables par modèle-agnostique”, c’est-à-dire de comprendre une prédiction locale sans connaitre le modèle. Une vision qui peut aider à comprendre serait une vue de boîte noire : des données arrivent en entrée et à partir de cela, il est possible d’observer sa prédiction.

Source : Towards Data Science — Understanding model predictions with LIME

Le fonctionnement de LIME, détaillé dans le papier associé [7], a pour objectif de convertir les prédictions en un modèle mathématique interprétable, en général c’est la régression linéaire qui est utilisée. Grâce à un tel modèle l’influence des variables est alors mesurable indépendamment de l’origine de la complexité de son modèle.

Pour y arriver, dans un premier temps, l’objectif est de perturber l’entrée en modifiant les valeurs possibles. Pour chaque modification, le modèle produira une nouvelle sortie. Par exemple, voici comment LIME peut modifier un échantillon sur les colonnes “Age” et “Country”

Il faut savoir que chaque colonne est modifiée, sinon, il manquera des informations pour mesurer l’importance de chaque variable. De plus, plus la variable est grandement altérée (e.g. transformer 29 en 98 qui donne un écart de 69), moins la sortie obtenue sera prise en compte.

Lorsque toutes les perturbations sont effectuées il est alors possible de récupérer les coefficients qui composent la droite de la régression linéaire. Il est possible de représenter cette droite avec le graphique ci-dessous :

Source : Github LIME

Le graphique représente les zones possibles de prédiction en rouge et bleue, la croix rouge en gras et la prédiction initiale, les axes représentent des variables comme l’âge ou le pays, les autres points (rond bleu ou croix rouge) sont les prédictions obtenues après modification des variables. Par exemple, un point situé à droite de la prédiction originale aura été modifiée uniquement sur la variable qui correspond à l’axe des abscisses. Enfin plus un point possède une grande taille, plus il est “proche” (en distance) du point initial.

Avec ces informations, il est alors possible de tracer une droite par rapport à ces deux variables, représentée en pointillé. Ce qu’il faut comprendre de cette droite est, que la variable sur l’axe des abscisses est plus importante. En effet, une modification sur l’axe vertical a peu d’influence sur la prédiction (reste dans la zone rouge) alors qu’une modification sur l’axe horizontal change très rapidement de résultat (passage dans la zone bleue).

C’est ainsi, qu’il est possible d’avoir une visualisation pour l’importance des variables, selon LIME, pour une prédiction donnée, il s’agit du même modèle que pour l’importance des variables (prédiction d’un salaire annuel supérieur ou non à 50K) :

Si la barre est bleue c’est que la variable a une influence “négative” soit baisse la probabilité, en orange l’influence est “positive”

Pour cette prédiction, LIME affirme alors que le fait que cette personne n’a pas de gain ni de perte de capital influe grandement sur une possibilité d’avoir un salaire annuel inférieur à 50K alors que le fait qu’il soit marié influe vers un salaire supérieur à 50K.

Il est possible d’avoir une représentation globale du modèle sur l’importance des variables selon LIME en faisant la moyenne de chaque importance (en valeur absolue) pour chaque prédiction. De plus, il existe d’autres exemples comme pour des IA de type réseaux de neurones :

Sources : Papier de LIME

Dans ce cas, c’est une IA de Google qui est testée. Elle indique qu’elle voit sur la photo (de gauche) une guitare électrique, une guitare acoustique et un labrador. LIME fournit alors les zones de l’image qui permettent à l’intelligence artificielle de donner ce résultat et pour cette exemple, cela a du sens.

Bien que plus précis que l’importance des variables, LIME n’est pas complet et possède quelques défauts. C’est alors qu’un an après sa sortie, un nouvel outil apparait : SHAP.

SHAP

SHAP qui signifie “SHapley Additive exPlanations”, est une approche pour expliquer un modèle de Machine Learning peut importe le modèle. Cet outil a la particularité de connecter la théorie des jeux avec les explications locales en unifiant plusieurs anciennes méthodes comme LIME et la valeur de Shapley.

D’abord, avant de parler de SHAP, il faut introduire un champ de la théorie des jeux. Il faut se poser la question suivante : si nous collaborons tous, comment diviser la récompense totale obtenue par le groupe ? C’est sur cette question de la théorie des jeux que Lloyd Shapley a introduit la valeur de Shapley. Pour comprendre comment elle se calcule, un exemple sera représentatif.

Bob et Alice vont manger au restaurant et à la fin il faut trouver un moyen de savoir la part de chacun. Afin de trouver la valeur de Shapley, il faut d’abord définir combien sera dépensé dans chaque cas : si Bob est seul, si Alice est seule ou qu’ils sont tous les deux présents.

Ensuite, il faut trouver combien sera dépensé par personne en fonction de leur ordre d’arrivé, par exemple, si Bob avait payé 50€ seul et que l’addition avec Alice est de 70€ alors Alice devra payer 20€. Pour finir les valeurs de Shapley par personne s’obtiennent en faisant la moyenne de chaque dépense par personne.

Les valeurs de Shapley associées à Bob et Alice sont de 45 et 25. Ces valeurs garantissent les trois axiomes clés de l’interprétabilité : “Dummy player” soit joueur factice, “Substitutability” soit la substituabilité et “Additivity” soit l’additivité.

  • “Dummy Player” : Si un joueur n’ajoute aucune valeur au total alors sa part devra être de 0.
“Dummy Player” : Bob ajoute 0 à la cagnotte et de ce fait ne récupère rien à la fin.
  • “Substitutability” : Si deux joueurs ajoutent toujours la même valeur à tout sous-ensemble auquel ils sont ajoutés, leur part de gain devrait être identique.
“Substitutability” : Alice et Bob ajoute la même somme en entrée et de ce fait doivent gagner la même somme à la fin.
  • “Additivity” : Si un jeu est composé de deux sous-jeux, il doit être possible d’ajouter les parts des sous-jeux et cela doit être égal à la part du jeu global.
“Additivity” : Alice a gagné 50 et 20 sur 2 cagnottes et de ce fait elle doit gagner 70 à la fin.

Ces trois axiomes de l’interprétabilité, ont du sens, paraissent même logique d’un point de vue rationnel.

Le fonctionnement de SHAP est un peu plus complexe en théorie, le détail mathématique est très bien expliqué dans leur papier [8]. En somme, SHAP récupère la formule des valeurs de Shapley pour transformer les joueurs en variable du modèle et leur récompense en sortie correspond à leur importance. Cette méthodologie est assez longue en calcul, mais grâce à LIME les chercheurs ont trouvé que la formule de LIME correspondait à la leur avec certains paramètres. Grâce à cela ils ont pu optimiser leur module.

Comme pour LIME, SHAP offre une représentation à la prédiction, mais cette fois plus parlante, car elle montre l’évolution de cette prédiction à chaque ajout de variable :

Échelle correspondant à la probabilité, entre 0 et 1, d’avoir un salaire supérieur à 50K

La valeur de base correspond à la moyenne des prédictions sur les données d’entraînements du modèle : elle est donc la même peut importe la prédiction. Ensuite, selon les informations récupérées la probabilité augmente ou baisse.

Comme pour LIME il est possible d’avoir une représentation globale pour le modèle en faisant une moyenne de ces valeurs. Mais, maintenant la question qui se pose est : quelle est la meilleure solution pour expliquer une intelligence artificielle ?

Un élément de réponse est fourni dans le papier de SHAP :

Source : A Unified Approach to Interpreting Model Predictions (page 9)

Cette figure compare pour différent modèle l’importance attribuée aux différentes variables selon, un humain en gris, SHAP en bleu et LIME en vert. Sur ce graphique il est notable que SHAP correspond presque à l’identique à l’intuition humaine. Mais cela est surement biaisé puisque c’est écrit par les chercheurs de SHAP.

Dans mon notebook sur les biais et l’interprétabilité [9] j’ai pu comparer les trois moyens de mesure de l’importance des variables avec un graphique que voici :

Pour un même modèle les résultats obtenus ne sont pas très similaires. Pourtant il est possible de constater que celle qui est la plus logique c’est la solution de SHAP, par sa sélection des variables “Hours per week”, “Marital Status” ou encore “Capital Gain”.

Conclusion

L’envie d’avoir un modèle très performant est souvent une grande motivation pour un Data Scientist, mais il faut être vigilant à ne pas oublier à comprendre pourquoi une intelligence artificielle donne un résultat plutôt qu’un autre.

Aujourd’hui un problème de compréhension entre Data Scientist et expert métier est réel dû à ce manque de compréhension des “boîtes noires” que sont les IA pour des personnes n’ayant pas les connaissances mathématiques.

Les solutions, comme SHAP, permettent de concilier les deux parties afin de mieux collaborer pour arriver à sélectionner les bonnes variables et à comprendre un modèle.

Merci.

Références

  1. IA et éthique : Comment éviter de biaiser son modèle ? 🤖
  2. Wikipédia : Règlement général sur la protection des données
  3. Wikipédia : Interpretability
  4. Feature Importance Measures for Tree Models — Part I
  5. Study on bias and interpretable models
  6. Unboxing the black boxes
  7. “Why Should I Trust You?”: Explaining the Predictions of Any Classifier
  8. A Unified Approach to Interpreting Model Predictions
  9. Study on bias and interpretable models — 4.4 Compare importance

--

--

Nathan Lauga

Student at Ingésup Bordeaux (France), I have the ambition to become a data scientist.