Wyjaśnialność tekstu i obrazów z LIME

Wyjaśnialne AI w Pythonie

Fouad Trad

Machine Learning Engineer

Modele tekstowe

  • Przetwarzają i interpretują język pisany
  • Przykład: analiza sentymentu
  • Modele czarnej skrzynki
  • LimeTextExplainer wyjaśnia takie modele
    • Wskazuje wpływ każdego słowa na predykcję

Model analizy sentymentu przyjmujący recenzję użytkownika i przewidujący odpowiedni sentyment ('Pozytywny' lub 'Negatywny').

Wyjaśnialne AI w Pythonie

Wyjaśniacz tekstu 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

Wyjaśnialne AI w Pythonie

Modele obrazowe

  • Bardzo złożone
  • Interpretują dane wizualne
  • Przykład: klasyfikacja potraw
  • LimeImageExplainer wyjaśnia takie modele
    • Wskazuje, które obszary obrazu wpływają na predykcje

Model klasyfikacji potraw przyjmujący obraz pizzy i przewidujący rodzaj potrawy na zdjęciu.

Wyjaśnialne AI w Pythonie

Wyjaśniacz obrazów 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
)

Obraz lodów.

Wyjaśnialne AI w Pythonie

Wyjaśniacz obrazów 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)

Obraz lodów z mniej istotnymi obszarami zasłoniętymi czarnym kolorem.

Wyjaśnialne AI w Pythonie

Czas na ćwiczenia!

Wyjaśnialne AI w Pythonie

Preparing Video For Download...