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...