Vers une intelligence artificielle explicable

illustration de l'article

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.

Besoins d’explication

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 :

  • il n’y a pas de conséquences importantes en cas de résultats insuffisants ;
  • le problème est suffisamment bien étudié et validé dans des applications réelles pour avoir confiance dans le système de décision (même s’il n’est pas parfait).

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.

Types d’explications

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 :

Types des techniques d’IA explicaple.

  • Global : donner une explication pour toutes les observations de l’ensemble de données ;
  • Local : donner une explication pour juste un groupe d’observations ;
  • Spécifique au modèle : s’appuier sur la structure du modèle d’analyse ;
  • Modèle-agnostique : fonctionner pour tout type de modèles d’IA.

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.

Modèles d’explication

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.

Modèles d’explication globale (basés sur des techniques d’IA transparentes)

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.

Illustration du principe de fonctionnement des modèles linéaire (a) et Decision Tree (b).

  • 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.

Modèles d’explication locale

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.

Détails et implémentation de la technique LIME

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.

Illustration du principe de fonctionnement de la technique LIME.

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 :

  1. Import des librairies nécessaires
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
  1. Chargement de la base de données Titanic avec sklearn et prétraitement des variables
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)
  1. Séparation des données en ensembles d’entraînnement et de test
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)
  1. Instanciation du modèle de prédiction : un classificateur à perceptron multicouche (MLP)
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)

  1. Vérification des performances du modèle sur l’ensemble de test
print('R2 score for the model on test set =', clf.score(X_test, y_test))
  1. Instanciation du module d’explication
import lime.lime_tabular
explainer_lime = lime.lime_tabular.LimeTabularExplainer(X_train.values, feature_names=X.columns, verbose=True, mode='classification')
  1. Explication locale des résultats de prédiction
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)
  1. Visualisation des explications
exp_lime.as_pyplot_figure()

Exemple d’explication pour trois catégories de passagers. La couleur verte indique une augmentation des chances de survie contrairement à la couleur rouge.

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.

So what ?!

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 …

Références

  1. Yudkowsky, E. (2008). Artificial intelligence as a positive and negative factor in global risk. Global catastrophic risks, 1(303), 184.
  2. scikit-learn.org
  3. Ribeiro, M. T., Singh, S., & Guestrin, C. (2016, August). " Why should i trust you?" Explaining the predictions of any classifier. In Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining (pp. 1135-1144).
  4. Lundberg, S. M., & Lee, S. I. (2017). A unified approach to interpreting model predictions. Advances in neural information processing systems, 30.
  5. Omri, N., Al Masry, Z., Mairot, N., Giampiccolo, S., & Zerhouni, N. (2021). X-PHM: Prognostics and health management knowledge-based framework for SME. Procedia CIRP, 104, 1595-1600.
  6. Eaton, J. P., & Haas, C. A. (1995). Titanic, triumph and tragedy. WW Norton & Company.

Cover Photo by Kelli McClintock on Unsplash

Date

Auteur

Avatar Nabil OMRI

Nabil OMRI

Data scientist

Catégories

ia

Tags

#IA #XAI #explication