본문 바로가기
대학원 이야기/논문 리뷰

[논문 리뷰] "Why Should I Trust You?": Explaining the Predictions of Any Classifier (수정 중)

by misconstructed 2020. 8. 14.
728x90

설명 가능한 인공지능(eXplainable AI, XAI)에 대해서 조사하다가 발견한 유명한 논문이다.


Abstract

  • Machine learning 모델들은 대부분 black-box 이다.
  • trust(신뢰)를 위해 모델 예측의 이유를 이해하는 것이 매우 중요하다.
  • 예측의 이유를 이해하는 것은 전체적인 모델의 신뢰도를 판단하는데 사용될 수 있다.
  • 해당 논문에서는 LIME을 소개한다. 모든 classifier의 예측에 대한 설명을 제공한다.
  • LIME의 유연성을 보여주기 위해 text classification과 image classification을 예시로 제공한다.

1. Introduction

  • machine learning classifier가 어떤 분야에 적용되던 간에, 사용자가 모델을 신뢰하지 못하면 해당 모델을 사용할 수 없다.
  • trust(신뢰)에 대해서 두 가지로 정의한다. trust는 사용자가 얼마나 모델의 동작을 이해할 수 있는지에 영향을 끼친다.
    1. trusting a prediction(예측을 신뢰) : 사용자가 각각의 예측을 신뢰할지 여부 
      • 진단을 내리는 경우 등과 같은 경우에는, 인공지능 모델의 예측이 blind faith에 근거하면 안된다.
    2. trusting a model(모델을 신뢰) : 모델이 신뢰할 만한 방식으로 동작하는지 여부
      • 모델이 real-world data에 대해서도 정상적으로 동작할 수 있다는 보장을 해야 한다. real-world data는 모델을 학습하고 검증하는 과정에서 사용된 데이터와는 다른 데이터가 제공될 수 있다.
      • 모델의 평가 기준이 실제 모델의 목표와 맞지 않는 경우가 발생할 수 있다.
  • 해당 논문에서는 개별 prediction에 대한 explanation을 제공해서 "trusting a prediction" (예측을 신뢰) 할 수 있게 한다.
    • LIME : 어떠한 classifier에 대해서도 결과를 설명할 수 있다.
  • 또한, 다수의 prediction들을 선책해서 "trusting a model" (모델을 신뢰) 할 수 있게 한다.
    • SP-LIME : 설명 가능한 대표적인 예시들을 뽑아내서 모델 자체를 신뢰할 수 있게 한다.

2. The case for explanation

  • "explaining a prediction" (예측을 설명) 하는 것은 instant's component(텍스트, 이미지의 패치 등) 와 prediction 사이의 관계를 제공하는 것이다.
  • 예측을 설명하는 것은 사람으로 하여금 인공지능 모델을 효과적으로 신뢰할 수 있다.
  • 예시) 의사 선생님은 인공지능 모델이 질병 예측과 예측에 대한 설명을 함께 제공하면 더 효과적으로 진단을 할 수 있다.(아래 사진)
      • 인공지능 모델이 병명이 flu라고 예측을 하고, 이에 대한 이유(sneeze, headache, no fatigue)를 제공한다.

인공지능 모델의 독감 예측과 이에 대한 설명

  • 해당 모델을 사용하는 사람은 보통 관련 분야에 대한 사전 지식을 보유하고 있다. 그렇기 때문에, 모델 예측에 대한 설명을 제공받으면 해당 예측을 accept 할지, reject 할지 판단할 수 있다.
  • 인공지능 모델을 신뢰하기 위한 기준이 필요하다.
    • 보통 검증 데이터를 기반으로 한 성능은 실제 상황의 데이터에서는 발휘되지 못한다.
    • 모델의 신뢰도는 accuracy 만으로 판단할 수 없다.
  • 보통 여러개의 모델을 검증해서, 상대적으로 신뢰도가 높은 모델을 사용하게 된다.
  • 예시) 제공된 문서가 "Christianity"에 대한 내용인지, "Atheism"에 대한 내용인지 판단하는 두 가지 모델이다. (아래 사진)
    • 두 모델은 accuracy(정확도)를 기준으로 평가되었다. 정확도로만 평가한 경우, 두 번째 알고리즘이 더 좋은 성능을 제공한다.
    • 하지만, 예측에 대한 설명을 보면, 더 높은 정확도를 제공하는 모델은 신뢰할 수 없다는 것을 알 수 있다.
      • "Atheism"이라는 판단을 하는 근거로 "Posting, Host, Re"와 같이 전혀 관련이 없는 단어들을 제공했기 때문이다.
    • 그러므로, 단순히 검증 데이터에 대한 정확도만으로 예측을 신뢰할 수 없고, 예측에 대한 설명이 동반되어야 해당 예측을 신뢰할 수 있을지 판단할 수 있다.

"Christianity"와 "Atheism"을 분류하는 두 모델

Desired characteristics for explainers

  • 예측을 설명하기 위한 특징을 제시한다.
  • interpretable : 입력과 결과에 대한 질 좋은 설명이 제공되어야 한다.
    • 설명은 사용자의 수준에 맞게 제공되어야 한다. 비전문가도 예측에 대한 이해를 할 수 있도록 해야 한다.
    • 예측에 대한 설명을 이해학기 쉬워야 한다.
  • local fidelity : 예측에 대한 설명을 적어도 locally faithful 해야 한다.
    • local fidelity는 global fidelity를 의미하지는 않는다.
    • 모델 전체에 대한 신뢰도를 제공하는 방법은 추후 연구에 맡긴다.
  • model-agnostic : 어떠한 모델에 대해서도 설명이 가능해야 한다.
  • provide global perspective
    • 정확도만으로는 모델을 정확하게 평가할 수 없다.
    • 몇 개의 예측 예시를 사용자에게 제공해서 전체적인 모델을 대표할 수 있도록 한다.

3. Local Interpretable Model-Agnostic Explanations

  • Local Interpretable Model-agnostic Explanation(LIME)을 소개한다.
  • LIME의 궁극적인 목표는 locally faithful한 예측들을 기반으로 설명 가능한 모델을 검증하는 것이다.

3.1 Interpretable data representation

  • feature 와 interpretable data representation을 구분해야 한다.
  • interpretable 한 경우 어떠한 feature가 제공되었든 간에, 사람이 이해할 수 있게 제공되어야 한다.
    • text : binary vector (입력 문장에서 각 단어가 존재하는지, 존재하지 않는지 보여주는 0과 1로 구성된 벡터)
    • image : binary vector(입력 이미지에서 인접한 patch 또는 super-pixel의 존재 유무에 따라서 0과 1로 구성된 벡터)
  • 설명을 해야 하는 원본 데이터를 $ x \in R^d $ 라고 하고, 설명 가능한 요소들에 대해서는 $ x' \in \left\{0, 1 \right\}^{d'} $ 로 정의한다.
    • 설명 가능한 요소들이 존재하거나(1) 존재하지 않거나(0)에 따라서 해단 요소가 결과에 영향을 얼마나 미치는지 확인할 수 있다.

3.2 Fidelity-Interpretability trade-off

  • 모델을 이용한 설명을 $ g $ 라고 정의할 때, $ g \in G $
    • $ G $ 는 설명 가능한 모델 : visual, textual artifact 로 제공
    • $ g $ 의 domain은 $ \left\{0, 1 \right\}^{d'} $ 로 정의한다.
      • 각 설명 가능한 요소들의 presence(1) / absence(0) 으로 구성된다.
  • $ Ω(g) $ 는 $ g $ 를 설명하기 위한 complexity를 의미한다.
    • depth of a tree, number of non-zero weights
  • $ f : R^d \rightarrow R $ 는 현재 설명하고자 하는 모델을 의미한다.
    • $ f(x) $ 는 x가 입력으로 제공되었을 때, 특정한 클래스에 속할 확률을 의미한다.
  • $ \pi_x(z) $ 는 instance $ z $ 에서 $ x $ 로의 거리를 의미한다.
  • $ L(f, g, \pi_x) $ 는 $ g $ 가 $ f $ 를 설명하는데 있어서 얼마나 신뢰할 수 없는지를 의미한다.
  • LIME 에서 제공하는 설명은 다음과 같은 식을 통해서 주어진다.

$$ \xi(x) = argmin (L(f, g, \pi_x) + Ω(g)) $$

  • interpretability와 local fidelity 를 모두 보장하기 위해서는 $ L $ 을 최소화하고, $ Ω(g) $ 가 사람이 해석 가능할 만큼 작아야 한다. 

3. 3 Sampling for Local Exploration

  • 우리는 $ f $ 에 대한 어떠한 가정을 하지 않은 상태에서 $ L(f, g, \pi_x) $ 의 값을 최소화하는 것이 목표이다.
    • $ f $ 에 대한 가정을 하지 않는 것은 model-agnostic 하기 위해서이다.
  • $ x' $ 의 원소 중 non-zero 인 원소들을 임의로 뽑아서 새로운 sample $ z' \in \left\{ 0, 1 \right\}^{d'} $를 생성한다.
  • $ z' $ 에 대한 원본 representation을 복윈한 것을 $ z \in R^d $ 라고 정의한다.
    • $ z $ 에 대한 $ f(z) $ 를 계산한다.
  • 최종적으로는 해당 예측의 설명인 $ \xi(x) $ 를 구하게 된다.

 

728x90

댓글