使用 LIME 解釋文字與影像

Python 的 Explainable AI

Fouad Trad

Machine Learning Engineer

文字模型

  • 處理並解讀文字
  • 範例:情感分析
  • 黑箱模型
  • LimeTextExplainer 可解釋此類模型
    • 找出每個單字對預測的影響

情感分析模型接收使用者評論,並預測相對應的情感(「Positive」或「Negative」)。

Python 的 Explainable AI

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 的 Explainable AI

影像模型

  • 高度複雜
  • 解讀影像資料
  • 範例:食物分類
  • LimeImageExplainer 可解釋此類模型
    • 找出影像中影響預測的區域

食物分類模型接收一張披薩影像,並預測影像中的食物類型。

Python 的 Explainable AI

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 的 Explainable AI

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 的 Explainable AI

一起來練習吧!

Python 的 Explainable AI

Preparing Video For Download...