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