Explicabilité texte et image avec LIME

IA explicable en Python

Fouad Trad

Machine Learning Engineer

Modèles textuels

  • Traiter et interpréter le texte
  • Exemple : Analyse de sentiment
  • Modèles boîte noire
  • LimeTextExplainer explique ces modèles
    • Mesure l’impact de chaque mot sur la prédiction

Modèle d’analyse de sentiment recevant un avis et prédisant le sentiment (« Positif » ou « Négatif »).

IA explicable en Python

Expliqueur de texte LIME

from lime.lime_text import LimeTextExplainer

text_instance = "This product has great features but a poor design."
def model_predict(instance): ... return class_probabilities
explainer = LimeTextExplainer()
exp = explainer.explain_instance(
text_instance,
model_predict
)
exp.as_pyplot_figure()

output_sentiment.png

IA explicable en Python

Modèles d’images

  • Très complexes
  • Interpréter des données visuelles
  • Exemple : Classification d’aliments
  • LimeImageExplainer explique ces modèles
    • Repère quelles zones de l’image influencent la prédiction

Modèle de classification d’aliments recevant une image de pizza et prédisant le type d’aliment.

IA explicable en Python

Expliqueur d’images LIME

from lime.lime_image import LimeImageExplainer

explainer = LimeImageExplainer()
explanation = explainer.explain_instance(
image,
model_predict,
num_samples=50
)
temp, _ = explanation.get_image_and_mask(
explanation.top_labels[0],
hide_rest=True
)

Image de glace.

IA explicable en Python

Expliqueur d’images LIME

from lime.lime_image import LimeImageExplainer

explainer = LimeImageExplainer()
explanation = explainer.explain_instance(
  image, 
  model_predict,  
  num_samples=50
)

temp, _ = explanation.get_image_and_mask(
  explanation.top_labels[0], 
  hide_rest=True
)

plt.imshow(temp)

Image de glace avec les zones moins pertinentes masquées en noir.

IA explicable en Python

Passons à la pratique !

IA explicable en Python

Preparing Video For Download...