Explicabilidad de texto e imagen con LIME

IA explicable en Python

Fouad Trad

Machine Learning Engineer

Modelos basados en texto

  • Procesar e interpretar lenguaje escrito
  • Ejemplo: Análisis de sentimiento
  • Modelos de caja negra
  • LimeTextExplainer explica estos modelos
    • Identifica cómo cada palabra impacta la predicción

Modelo de análisis de sentimiento que recibe una reseña y predice el sentimiento correspondiente ("Positivo" o "Negativo").

IA explicable en 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 explicable en Python

Modelos basados en imágenes

  • Muy complejos
  • Interpretan datos visuales
  • Ejemplo: Clasificación de comida
  • LimeImageExplainer explica estos modelos
    • Indica qué partes de la imagen afectan la predicción

Modelo de clasificación de comida que recibe la imagen de una pizza y predice el tipo de comida presente.

IA explicable en Python

Explicador de imágenes 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
)

Imagen de helado.

IA explicable en Python

Explicador de imágenes 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)

Imagen de helado con las partes menos relevantes ocultas en negro.

IA explicable en Python

¡Vamos a practicar!

IA explicable en Python

Preparing Video For Download...