Introduction à l’IA explicable

IA explicable en Python

Fouad Trad

Machine Learning Engineer

À propos de moi

fouadtrad.jpg

Fouad Trad
  • Ingénieur en machine learning
  • Doctorant
  • Spécialisé en IA pour la cybersécurité
LinkedIn

mylinkedin.jpg

IA explicable en Python

Intelligence artificielle

  • L’IA permet aux machines d’accomplir des tâches humaines

Image montrant un humain jouant aux échecs avec une machine.

IA explicable en Python

Le besoin d’explicabilité

 

Image montrant une boîte noire fermée recevant une entrée et générant une sortie.

 

  • IA « boîte noire » : aucune compréhension des décisions
IA explicable en Python

Le besoin d’explicabilité

 

Image montrant une boîte ouverte recevant une entrée et générant une sortie.

 

  • IA « boîte noire » : aucune compréhension des décisions
  • IA explicable : comprendre le fonctionnement interne du modèle
IA explicable en Python

Explicabilité vs précision

  • Modèles simples :

    • Plus explicables
    • Moins précis
  • Modèles complexes :

    • Plus précis
    • Moins explicables

Image montrant des modèles d’IA sur un graphique, des modèles simples aux modèles complexes (à base de règles, linéaires, arbres de décision, k-NN, SVM et réseaux de neurones), indiquant que les modèles simples sont souvent plus explicables mais moins précis, tandis que les modèles complexes sont très précis mais plus difficiles à interpréter.

IA explicable en Python

Arbres de décision vs réseaux de neurones

Arbres de décision

Montrent le cheminement via des conditions

Représentation d’un arbre de décision montrant comment les prédictions sont faites à partir de plusieurs conditions

IA explicable en Python

Arbres de décision vs réseaux de neurones

Arbres de décision

Montrent le cheminement via des conditions

Arbre de décision pour l’exemple d’admission : si l’étudiant n’a pas de licence, il est refusé. Sinon, il est accepté seulement si sa note est > 8,5

IA explicable en Python

Arbres de décision vs réseaux de neurones

Arbres de décision

Montrent le cheminement via des conditions

Arbre de décision pour l’exemple d’admission : si l’étudiant n’a pas de licence, il est refusé. Sinon, il est accepté seulement si sa note est > 8,5

Réseaux de neurones

Pas intrinsèquement transparents

Image montrant la structure d’un réseau de neurones : plusieurs couches cachées, chacune avec plusieurs neurones.

IA explicable en Python

Arbres de décision vs réseaux de neurones

Arbres de décision

Montrent le cheminement via des conditions

Arbre de décision pour l’exemple d’admission : si l’étudiant n’a pas de licence, il est refusé. Sinon, il est accepté seulement si sa note est > 8,5

Réseaux de neurones

Pas intrinsèquement transparents

Image montrant le même réseau de neurones recevant des caractéristiques d’étudiants et prédisant accepté ou refusé.

IA explicable en Python

Prédire l’admission d’étudiants

Score GRE Score TOEFL Classement université SOP LOR CGPA Accepté
337 118 4 4.5 4.5 9.65 1
316 104 3 3 3.5 8.00 1
314 103 2 2 3 8.21 0

 

  • Tests : GRE et TOEFL
  • Classement de l’université
  • SOP : statement of purpose
  • LOR : letter of recommendation
  • CGPA : moyenne générale cumulative
IA explicable en Python

Prédire l’admission d’étudiants

Arbre de décision
from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier(max_depth=5)

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Decision Tree: {acc}")
Accuracy of Decision Tree: 0.82
Réseau de neurones
from sklearn.neural_network import MLPClassifier

model = MLPClassifier(hidden_layer_sizes=(1000,1000))

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Neural Network: {acc}")
Accuracy of Neural Network: 0.9
IA explicable en Python

Règles de l’arbre de décision

from sklearn.tree export_text

rules = export_text(model, feature_names=list(X_train.columns))

print(rules)
|--- CGPA <= 8.34
|   |--- GRE Score <= 320.50
|   |   |--- class: 0

| |--- GRE Score > 320.50 | | |--- class: 1
|--- CGPA > 8.34 | |--- GRE Score <= 319.50 | | |--- class: 1 ...
IA explicable en Python

Techniques spécifiques vs agnostiques au modèle

Spécifiques au modèle

S’appliquent à un modèle particulier

Image montrant une clé conçue pour une serrure spécifique

IA explicable en Python

Techniques spécifiques vs agnostiques au modèle

Spécifiques au modèle

S’appliquent à un modèle particulier

Image montrant une clé conçue pour une serrure spécifique

Agnostiques au modèle

S’appliquent à tout modèle

Image montrant une clé passe-partout ouvrant plusieurs serrures

IA explicable en Python

Et ensuite ?

  • Techniques spécifiques et agnostiques au modèle
  • Méthodes locales et globales
  • Sujets avancés :
    • Indicateurs d’explicabilité
    • Explicabilité non supervisée
    • Explicabilité de l’IA générative

Logos des bibliothèques : SHAP, LIME et scikit-learn

IA explicable en Python

Passons à la pratique !

IA explicable en Python

Preparing Video For Download...