Explicabilidade de texto e imagem com LIME

IA explicável em Python

Fouad Trad

Machine Learning Engineer

Modelos baseados em texto

  • Processa e interpreta linguagem escrita
  • Exemplo: Análise de sentimento
  • Modelos caixa‑preta
  • LimeTextExplainer explica esses modelos
    • Mostra como cada palavra afeta a predição

Modelo de análise de sentimento recebendo uma avaliação de usuário e prevendo o sentimento correspondente (“Positivo” ou “Negativo”).

IA explicável em Python

Explicador de texto 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 explicável em Python

Modelos baseados em imagem

  • Altamente complexos
  • Interpretam dados visuais
  • Exemplo: Classificação de comida
  • LimeImageExplainer explica esses modelos
    • Mostra quais partes da imagem afetam as predições

Modelo de classificação de comida que recebe a imagem de uma pizza e prevê o tipo de comida na imagem.

IA explicável em Python

Explicador de imagens 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
)

Imagem de sorvete.

IA explicável em Python

Explicador de imagens 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)

Imagem de sorvete com partes menos relevantes ocultadas em preto.

IA explicável em Python

Vamos praticar!

IA explicável em Python

Preparing Video For Download...