Spiegabilità di testo e immagini con LIME

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Modelli basati su testo

  • Elabora e interpreta il linguaggio scritto
  • Esempio: analisi del sentiment
  • Modelli black box
  • LimeTextExplainer spiega questi modelli
    • Trova quanto ogni parola influisce sulla previsione

Modello di sentiment analysis che riceve una recensione utente e predice il sentimento corrispondente ("Positivo" o "Negativo").

Explainable AI in Python

Spiegatore testo 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

Explainable AI in Python

Modelli basati su immagini

  • Altamente complessi
  • Interpretano dati visivi
  • Esempio: classificazione di cibi
  • LimeImageExplainer spiega questi modelli
    • Trova quali parti dell'immagine influenzano le previsioni

Modello di classificazione di cibi che riceve l'immagine di una pizza e predice il tipo di cibo nell'immagine.

Explainable AI in Python

Spiegatore immagini 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
)

Immagine di un gelato.

Explainable AI in Python

Spiegatore immagini 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)

Immagine di un gelato con le parti meno rilevanti oscurate in nero.

Explainable AI in Python

Passiamo alla pratica!

Explainable AI in Python

Preparing Video For Download...