Пояснюваність тексту й зображень за допомогою LIME

Пояснюваний ШІ в Python

Fouad Trad

Machine Learning Engineer

Моделі для тексту

  • Опрацьовувати й інтерпретувати письмову мову
  • Приклад: аналіз тональності
  • «Чорні скриньки»
  • LimeTextExplainer пояснює такі моделі
    • Визначає, як кожне слово впливає на прогноз

Модель аналізу тональності отримує відгук користувача й прогнозує тон («Positive» або «Negative»).

Пояснюваний ШІ в Python

Текстовий пояснювач 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

Пояснюваний ШІ в Python

Моделі для зображень

  • Дуже складні
  • Інтерпретують візуальні дані
  • Приклад: класифікація їжі
  • LimeImageExplainer пояснює такі моделі
    • Визначає, які частини зображення впливають на прогноз

Модель класифікації їжі отримує фото піци й прогнозує тип їжі на зображенні.

Пояснюваний ШІ в Python

Пояснювач зображень 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
)

Зображення морозива.

Пояснюваний ШІ в Python

Пояснювач зображень 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)

Зображення морозива, де менш релевантні частини затемнені чорним.

Пояснюваний ШІ в Python

Давайте потренуємось!

Пояснюваний ШІ в Python

Preparing Video For Download...