Dans son article «Artificial Intelligence as a Positive and Negative Factor in Global Risk» [1], Eliezer Yudkowsky a présenté les avantages et les inconvénients des outils basés sur l’intelligence artificielle (IA). Dans ce contexte, il a mentionné l’exemple de l’armée américaine qui a développé un réseau de neurones pour détecter les chars ennemis camouflés. Le modèle a montré des bonnes performances dans la phase de développement. Cependant, il n’a pas fait mieux que le hasard lors de la phase de test. Il s’est avéré que dans la base de données d’entraînement, les photos de chars camouflés avaient été prises par temps nuageux, tandis que les photos de forêts ordinaires avaient été prises par temps ensoleillé. Ainsi, ce modèle avait appris à distinguer les jours nuageux des jours ensoleillés, au lieu de distinguer les chars camouflés des forêts vierges.
Heureusement, ce problème a été détecté rapidement, mais vous pouvez imaginer combien d’autres n’ont pas été détectés ! De ce fait, un réel besoin a émergé pour ouvrir la boîte noire des modèles d’IA et analyser son principe de fonctionnement. D’où la naissance du domaine de l’intelligence artificielle explicable (XAI). Avant d’avancer dans ce concept, il semble important de comprendre le besoin d’explication et quand celle-ci est nécessaire.
Pour comprendre les besoins d’explication, il est plus pratique de comprendre dans quels cas l’explication n’est pas nécessaire. En effet, l’explication n’est pas nécessaire lorsque :
Ainsi, le besoin d’explication ne concerne que les problèmes à fort enjeu et à formalisation incomplète, créant un obstacle fondamental à l’optimisation et à l’évaluation. Ainsi, de nombreuses techniques ont été récemment proposées pour expliquer les systèmes de décision basés sur l’IA de type boîte noire.
Les techniques d’IA explicable peuvent être divisées en deux groupes principaux :
Modèles d’IA transparents : modèles dont le comportement est explicable (Decision Tree, modèles linéaire, etc.). Ces techniques seront détaillées plus loin dans cet article ;
Techniques post-hoc : une sorte d’interprète appliqué à des modèles complexes pour expliquer leur comportement. Comme le montre la figure ci-dessous, ces techniques peuvent être divisées en 4 classes principales :
Dans ce contexte, les modèles d’IA transparents peuvent être considérés comme des techniques d’explication globale post-hoc. Cependant, il est important de noter que ces techniques manquent de précision comme tout modèle d’explication global. Ainsi, des modèles d’explication locaux sont introduits afin de produire des explications fiables même dans un contexte local. Dans cet article, nous nous concentrerons sur cette dualité (local-global). Ainsi, des exemples de techniques d’explication locale et globale sont détaillés ci-dessous.
L’explication des systèmes de décision basés sur l’IA de type boîte noire attire de plus en plus l’attention. Ainsi, plusieurs techniques d’explication sont développées.
Comme mentionné ci-dessus, ces techniques consistent à des modèles d’IA dont le comportement est explicable. Les techniques les plus utilisées dans ce contexte sont les modèles linéaires et les arbres de décision (Decision Trees). En effet, des arbres de décision (Decision Trees) ont été appliqués pour générer une explication globale du fonctionnement du réseau de neurones. D’autres techniques d’IA explicables, comme la régression linéaire, sont utilisées de la même manière pour expliquer le principe de fonctionnement de modèles d’IA complexes.
Les modèles linéaires sont extrêmement transparents et interprétables. Les coefficients de régression nous indiquent directement comment les données affectent la prédiction des modèles (voir la figure ci-dessus (a)), et des tests de signification simples peuvent nous indiquer les variables importantes pour le modèle [2].
Decision Trees (DT) est une méthode d’apprentissage supervisé non-paramétrique utilisée pour la classification et la régression. L’objectif est de créer un modèle qui prédit la valeur d’une variable cible en apprenant des règles de décision simples déduites des caractéristiques des données [2]. La méthode DT est basée sur un ensemble de règles de décision de type “si-alors” pour approximer les fonctions (voir la figure ci-dessus (b)). Plus l’arbre est profond, plus les règles de décision sont complexes et plus le modèle est adapté.
Toutefois, les explications globales ne sont pas toujours exactes, surtout lorsque le modèle d’IA est complexe. Ainsi, des techniques d’explication locale sont proposées pour fournir une explication locale du comportement du modèle d’IA pour une observation de données.
Ces modèles fournissent une explication de la décision prise pour une seule observation de données. Cette explication consiste à générer des points de données proches de l’observation à expliquer. Ensuite, le modèle d’IA est appliqué pour prédire la sortie des points de données générés et identifier les variables responsables de la décision prise. Comme mentionné ci-dessus, il existe deux types d’approches : les approches spécifiques au modèle et les approches agnostiques. Plusieurs modèles d’explication locale sont proposés tels que LIME (Local Interpretable Model-agnostic Explanations) [3]. LIME est la technique la plus connue dans ce domaine et est à l’origine de plusieurs autres méthodes comme SHAP [4] et X-PHM [5]. Toutefois, LIME reste la plus utilisée en raison de sa précision et de sa compatibilité avec plusieurs types de données (texte, images et tableaux). Dans ce qui suit, cette méthode est détaillée ainsi que son implémentation sur Python.
Comme le montre la figure suivante, l’intuition derrière LIME consiste à identifier les facteurs qui influencent les résultats d’un modèle d’IA autour d’une observation de données à expliquer (croix noire). Dans cet exemple, il s’agit d’un problème de classification binaire (deux classes : bleue et rouge). Pour comprendre le comportement local du modèle d’IA autour du point d’intérêt, un ensemble de données artificielles est généré et leurs classes sont prédites à l’aide du modèle d’IA. Ensuite, un modèle linéaire simple (indiqué par la ligne pointillée) est utilisé pour construire une approximation locale qui est un “explicateur local” pour le modèle d’IA.
Comme mentionné ci-dessus, LIME est applicable à différents types de données (texte, images et tableaux). Dans ce qui suit, nous présentons l’implémentation de cette technique, en Python, pour les données tabulaires (Le principe de fonctionnement de LIME et son implémentation pour les autres types de données sont presque les mêmes.).
Le package LIME est sur PyPI et pour l’installer, il suffit d’exécuter :
pip install lime
Dans ce qui suit, un exemple d’application de la technique LIME est illustré. À cette fin, la base de données Titanic [6] est utilisée. Cette application consiste à prédire la survie (ou non) des passagers du navire Titanic en fonction de plusieurs variables. Pour simplifier cette application, seules trois variables (âge, sexe et membre de la famille sur le navire) ont été conservées. Le choix de cette application se justifie par le fait que l’objectif est de vérifier la capacité de la méthode LIME à expliquer les prédictions d’un modèle d’IA de type boîte noire. En effet, le résultat, pour cette application, est assez intuitif puisque les passagers sauvés en priorité sont des femmes et des enfants. Ainsi, le fait d’être une femme ou un enfant augmente considérablement les chances de survie d’un passager. Les détails de la mise en œuvre de la méthode LIME sont illustrés ci-dessous :
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.datasets import fetch_openml
np.random.seed(42)
X, y = fetch_openml("titanic", version=1, as_frame=True, return_X_y=True)
X.drop(['pclass', 'name', 'parch', 'ticket', 'fare', 'cabin', 'embarked', 'boat', 'body', 'home.dest'], axis=1, inplace=True)
X.sex.replace(['female', 'male'], [0, 1], inplace=True)
X.age.fillna(X.age.mean(), inplace = True)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, test_size=0.2)
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(7, 2), random_state=1)
clf.fit(X_train, y_train)
print('R2 score for the model on test set =', clf.score(X_test, y_test))
import lime.lime_tabular
explainer_lime = lime.lime_tabular.LimeTabularExplainer(X_train.values, feature_names=X.columns, verbose=True, mode='classification')
i = 1 # Indice de l'instance de données à expliquer
k = 3 # - Nombre des principales variables
exp_lime = explainer_lime.explain_instance(X_test.iloc[i], clf.predict_proba, num_features=k)
exp_lime.as_pyplot_figure()
La figure ci-dessus montre un exemple d’explication locale des résultats de la prédiction pour un enfant, une femme adulte et un homme adulte (de gauche à droite). D’après ces résultats, il est clair que la variable “sexe” est la plus importante dans le processus de décision. Prenons l’exemple de la femme, le fait qu’elle soit une femme augmente significativement ses chances de survie, malgré le fait qu’elle soit adulte et qu’elle ait des membres de sa famille sur le bateau. Deuxièmement, la variable “âge” est très importante dans le cas d’un passager de sexe masculin. Cette explication est parfaitement cohérente avec la réalité (les femmes et les enfants sont secourus en priorité), ce qui prouve le grand potentiel de la technique LIME.
L’explication des modèles d’IA de type boîte noire semble, à première vue, une représentation simplifiée d’un modèle complexe. Malgré la réalité de cette affirmation, elle reste une évocation superficielle du sujet. En effet, le pouvoir d’explication d’un modèle d’IA peut révolutionner la façon dont nous résolvons les problèmes. Nous savons tous que Thomas Edison a effectué près de 1 000 tests avant de trouver le bon filament de bambou carbonisé pour sa lampe. Imaginez qu’au lieu de faire cela, il ait développé un modèle d’IA pour prédire la fiabilité d’un matériau comme filament et qu’il ait expliqué ce modèle pour identifier les caractéristiques typiques d’un bon filament. Ainsi, le nombre d’expériences nécessaires pour résoudre le problème peut être diminué, ce qui a évidemment un impact sur le temps et les ressources nécessaires. Et comme l’application des techniques d’IA concerne de plus en plus de domaines tels que l’industrie, la recherche et la médecine, l’IA explicable peut avoir un impact sur de nombreux aspects de notre vie sans perdre le contrôle de ces technologies !
Q : ok, l’IA explicable présente de nombreuses opportunités, donc nous allons l’utiliser dans toutes nos applications ?
R : la réponse est un peu plus complexe, car les techniques d’explication existantes ne fournissent qu’une représentation simplifiée du modèle original. Ces explications ne représentent donc qu’une partie de la réalité, ce qui a un impact sur la qualité des décisions.
Q : Hmmm, il y a donc une différence de précision entre les méthodes d’explication. Alors, quelle technique d’explication est la plus précise ? Mais attendez, comment pouvons-nous mesurer la précision de ces techniques ?
R : les réponses à toutes ces questions seront détaillées dans un autre article …
Cover Photo by Kelli McClintock on Unsplash