Uitlegbaarheid van tekst en beeld met LIME

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Tekstmodellen

  • Verwerk en interpreteer tekst
  • Voorbeeld: Sentimentanalyse
  • Blackbox-modellen
  • LimeTextExplainer verklaart zulke modellen
    • Vindt hoe elk woord de voorspelling beïnvloedt

Sentimentanalysmodel dat een gebruikersreview ontvangt en het sentiment voorspelt ('Positive' of 'Negative').

Explainable AI in Python

LIME-tekstuitlegger

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

Beeldmodellen

  • Zeer complex
  • Interpreteren visuele data
  • Voorbeeld: Voedselclassificatie
  • LimeImageExplainer verklaart zulke modellen
    • Vindt welke delen van de afbeelding de voorspelling beïnvloeden

Voedselclassificatiemodel dat een pizza-afbeelding ontvangt en voorspelt welk type voedsel erop staat.

Explainable AI in Python

LIME-beelduitlegger

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
)

Afbeelding van ijsje.

Explainable AI in Python

LIME-beelduitlegger

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)

Afbeelding van ijsje met minder relevante delen zwart gemaakt.

Explainable AI in Python

Laten we oefenen!

Explainable AI in Python

Preparing Video For Download...