Объяснимость текста и изображений с помощью LIME

Объяснимый ИИ на Python

Fouad Trad

Machine Learning Engineer

Текстовые модели

  • Обработка и интерпретация текста
  • Пример: анализ тональности
  • Модели «чёрного ящика»
  • LimeTextExplainer объясняет такие модели
    • Определяет влияние каждого слова на предсказание

Модель анализа тональности получает отзыв пользователя и предсказывает соответствующую тональность («Положительная» или «Отрицательная»).

Объяснимый ИИ на 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...