본문 바로가기
통계/논문 리뷰

“Why Should I Trust You?” Explaining the Predictions of Any Classifier

by 부자 꽁냥이 2022. 8. 17.

오늘은 LIME을 제안한 논문 “Why Should I Trust You?” Explaining the Predictions of Any Classifier를 읽고 정리해본다.

 

- 목차 -

1. Introduction

2. The Case for Explanations

3. Local Interpretable Model-Agnostic Explanations

4. Submodular Pick for Explaining Models

5. Simulated User Experiments

6. Evaluation with Human Subjects

7. Related Work

8. Conclusion and Future Work


   1. Introduction

어떤 사람이 예측 결과나 그 모형을 신뢰할 수 없는 경우 해당 모형을 사용하지 않을 것이다. 여기서 중요한 것은 신뢰인데 그 신뢰라는 것은 두 가지 정의로 구분할 수 있다. 하나는 예측에 대한 신뢰로써 이는 사용자가 예측을 신뢰함으로써 어떤 액션을 취할 수 있는지 여부이다. 이는 입력값에 대한 출력값의 영향을 파악하는 해석에 관련된 내용이다. 두 번째는 모형에 대한 신뢰로써 해당 모형을 배포했을 경우(실생활에 활용된 경우) 합리적인  방식으로 행동할 수 있는지에 대한 여부이다

 

이 두가지 모두 사람이 모형에 대해 얼마나 이해했는가에 영향을 받는다.

 

개별 예측에 대한 신뢰 할지 말지 결정하는 것은 매우 중요하다. 의료 분야나 테러 발생 예측 문제에서 예측에 대한 맹목적인 믿음은 재앙을 불러일으킬 수 있기 때문이다. 즉, 개별 예측에 대하여 맹목적으로 신뢰하는 것이 아닌 입력값들이 어떻게 영향을 주었는지 이해할 수 있어야 신뢰할 수 있다는 것이다.

 

또한 주어진 모형이 실생활에서 잘 작동할 수 있는지에 대해 확신할 수 있어야한다. 이는 모형 성능 측도로 계산될 수 있다. 

 

이 논문에서는 두가지 종류의 신뢰에 대한 솔루션을 제공한다.

 

첫 번째 신뢰에 대한 것은 LIME을 통해 두 번째 신뢰에 대한 것은 SP-LIME을 통해 해결한다.


   2. The Case for Explanations

예측을 설명한다는 것은 각 설명 변수와 예측값 사이의 관련성에 대한 질적인 이해를 제공함을 의미한다. 

 

이 논문에서는 의사가 결정을 내릴 때 부연설명을 첨부하면 더 믿음직스럽다는 것이고 환자는 이러한 의사의 결정을 따르게 된다. 또한 설명을 제공하는 추천 시스템을 더 채택한다는 연구 결과도 있었다. 

 

즉 예측 모형의 예측 결과만 제공하는 것이아니고 사용자가 신뢰하고 이해할 수 있는 설명이 동반되어야 그 예측 모형을 사용할 것이다.

 

설명 방법은 모형에 상관 없이 적용되는 것이 좋다. 그래야 모형 간 비교가 될 테니까 말이다.

 

Desired Characteristics for Explainers

여기서 Explainer라는 것은 예측 모형의 설명 방법을 의미하는 것 같다.

이 섹션에서는 이러한 Explainer가 가져야할 특징에 대해서 소개한다. 첫 번째 특징으로 해석 가능(Interpretable) 해야 한다. 이때 선형 모형과 같은 해석하기 쉬운 모형이 다가 아니다. 변수가 너무 많으면 사용자가 이해하기 어렵기 때문이다. 

 

다음으로 국소적 정확성(Local Fideltiy)이다. 이는 주어진 $x$ 주변 제한된 영역에서는 꽤나 정확해야한다는 뜻이다.

 

다음 특징은 설명 가능한 방법이 모형에 영향을 받지 않아야한다는 것이다(Model-agnostic). 즉, 설명 가능한 방법은 모든 모형에 적용할 수 있어야 한다는 것이다.

 

마지막으로 설명 방법은 전체적인 관점(Global Perspective)을 제시해야한다는 것이다.


   3. Local Interpretable Model-Agnostic Explanations

3.1 Interpretable Data Representations

먼저 원 설명 변수 데이터와 해석가능한 데이터를 구분해야 한다. 앞에서 소개한 해석 가능한 설명방법이란 원 데이터를 가지고 성취하기에는 힘들고 해석 가능한 데이터로 바꿔 생각하는 것이 정신건강에 좋다. 즉, 원 데이터를 설명 변수의 존재 여부로 바꿔 생각한다는 것이다. 

3.2 Fidelity-Interpretability Trade-off

먼저 해석 가능한 모델의 집합 $G$를 설정한다. $G$는 선형 모형, 의사결정나무 등이 있다. $g\in G$에 대하여 $g$는 앞에서 소개한 해석 가능한 데이터로 표현된다. 하지만 앞에서 지적한 것처럼 해석 가능한 데이터로 변환된다 하더라도 너무 많은 변수들이 들어가면 해석이 어려울 것이다. 이는 모형 복잡도와 관계된 것이며 $\Omega(g)$로 표시한다. 즉, 복잡한 모형에 대해서는 페널티를 줘야 한다는 것이다.

 

$f(x)$를 특정 클래스에 속할 확률이라고 해보자(설마 LIME이 분류 문제에 대해서만 적용가능한 건 아니겠지?). 그리고 $\pi_x(z)$를 주어진 $x$와 $z$의 거리에 반비례하도록 하는 가중치 함수이다. 마지막으로 $L$을 Local 하게 $g$가 $f$를 잘 근사하는지 알려주는 측도이다.

 

LIME은 다음의 목적함수를 최소화하는 $g$를 찾게된다.

$$\DeclareMathOperator*{\argminA}{arg\,min} \argminA_{g}[L(f, g, \pi_x) +\Omega(g)] \tag{1}$$

즉, (1)의 $L$은 국소적 정확성(Local Fidelity)를 조절하는 것이고 뒤에 $\Omega$는 해석 가능한 모형을 조절하는 항이라고 할 수 있다. 즉, LIME은 (1)을 최소화하는 $g$ 찾음으로써 국소적 정확성과 해석 난이도 두 마리 토끼를 다 잡는 것이다.

3.3 Sampling for Local Exploration

우리는 Model-agnostic 한 설명 모형을 찾기 위해 $f$에 대한 특별한 가정을 하지 않는다. 따라서 주어진 $x$에 대하여 이를 해석 가능한 데이터 $x'$으로 바꾸고 $x'$ 주변의 데이터를 샘플링하여 $L$을 계산한다. 이때 $x'$ 주변과 가까운 샘플에 대해서는 큰 가중치를 아닌 경우 작은 가중치를 주는 $\pi_x$를 고려하여 계산한다. 즉, 가중 최소 제곱 추정법과 비슷하다고 보면 된다. 아래 그림은 이러한 컨셉을 나타낸 것이다. LIME의 아이디어는 아무리 복잡한 모형도 국소적으로 보면 직선과 같은 단순한 형태로 근사할 수 있다는 것이다.

 

3.4 Sparse Linear Explanations

이제부터는 $G$를 선형 모형 클래스로 간주한다. 즉, $g(z')=w\cdot z'$이다. 그리고 $L$은 가중 최소 제곱 손실을 사용하며 가중치 함수 $\pi_x(z) = \exp (-D(x, z)^2/\sigma^2)$이다. 이때 $D$는 일종의 거리 함수이다.

 

문서 분류와 이미지 분류에 대해서 $\Omega$를 정의하는 예제가 나온다. 핵심은 0이 아닌 $z'$의 원소 개수가 클수록 페널티를 주는 것이다. 즉, Sparse 한 모형을 찾는 것이다. 이는 해석 가능한 모형을 얻기 위해서이다. 다음으로 학습 데이터 사이즈에 따른 계산 시간과 관련된 이야기가 나온다.

3.5 Example 1: Text classification with SVM

서포트 벡터 머신으로 문서 분류를 했더니 정확도가 94%였다고 한다. 하지만 예측력은 좋지만 해석력이 떨어진다고 한다. 학습에 사용된 데이터 22%에 'Posting'이라는 단어가 들어갔는데 이것이 해당 클래스와 관련성이 없다고 한다. 저자는 데이터 자체에 문제가 있다고 한다. 따라서 이를 해결하기 위한 보완책을 본 논문에서 곧 제시할 것이라 기대한다.

3.6 Example 2: Deep networks for image

이미지 분류 문제에서 Sparse Linear Explanation을 사용했다. 아래 그림은 맨 왼쪽에 있는 이미지에 대한 분류 결과 상위 3개를 나타낸 것이며 각 분류 클래스에 대해서 어떤 부분이 중점적인 역할을 했는지 보여준다. 예를 들어 맨 마지막 그림은 주어진 이미지를 강아지라고 예측한 것인데 이때 중요하게 작용한 부분은 개의 얼굴 부분이다. 이는 사람의 직관과 매우 닮아있다.


   4. Submodular Pick for Explaining Models

하나의 입력값에 대한 예측값을 잘 설명하더라도 전체를 잘 설명할 수 없으면 신뢰할 수 없다. 여기서는 개별 입력 데이터의 집합을 설명함으로써 글로벌한 이해를 제공하는 방법을 제안한다.

 

이때 데이터 집합을 신중하게 골라야 하는데 그 집합의 크기를 우선 $B$라고 하자. 사람들은 참을성이 없기 때문에 $B$를 크게 하고 쓸모없는 데이터로 셋을 구성한다면 사람들은 모형을 쳐다도 안 볼 것이다.

 

따라서 주어진 $B$에 대해서 데이터 셋을 잘 구성하는 방법이 필요하고 본 논문의 저자는 이를 Pick Step이라는 이름으로 정의한다. 아마도 데이터 셋을 잘 선택한다는 뜻에서 Pick Step이라 한 것 같다.

 

여기서는 총 데이터 개수를 $n$이고 Linear Explanation $g(z') = w_0 + w_1z_1+\cdots w_dz_d'$인 경우 $W_{ij}$가 $w_{ij}=w_jx_{ij}'$인 행렬을 생각한다. 그리고 이 행렬을 이용한 $j$번째 변수의 글로벌 변수 중요도를 다음과 같이 제안한다.

$$I_j = \sqrt{\sum_{i=1}^n|W_{ij}|}$$

 

이때 $c$라는 측도를 이용하여 가장 중요한 변수들을 다 커버할 수 있는 변수들을 모으는 것이 Pick Step의 핵심이다. 이때 중요한 것은 중요한 변수들을 다 커버하면서 아무짝에도 쓸모없는 변수들을 포함시키지 않는 것이 중요하겠다.

 

이때 이 논문에서 제안하는 $c$는 다음과 같다

$$c(V, W, I) = \sum_{j=1}^dI(i \in V : W_{ij}>0)I_j\tag{3}$$

우리는 $c$를 최대화하는 집합 $V$를 최종적으로 선택하게 된다.


   5. Simulated User Experiments

여기에서는 다음의 세 가지 질문에 대한 답을 얻고 싶어 실험을 진행한다.

 

(1) 해당 Explanation $g$가 학습된 예측 모형과 충분히 가까운가(신뢰할 수 있는가, 중요한 변수 몇 개만 가지고 원래 예측 모형을 설명할 수 있는가)?

(2) 개별 예측에 대하여 신뢰할 수 있는가(중요한 변수가 들어가고 아니고에 따라 값에 차이가 없는가)?

(3) 예측 모형 전체를 해석하기 위해 Explanation $g$는 유용한가?

5.1 Experiment Setup

여기서 고려하는 예측 모형은 의사결정 나무, $L_2$ 벌점항 로지스틱 회귀, Nearest-Neighbor(NN), 서포트 벡터 머신(RBF 커널 : SVM) 그리고 랜덤 포레스트이다.

 

이제 본 논문에서 제안한 LIME을 적용했다.

5.2 Are explanations faithful to the model?

(1) 번 질문에 대한 답이다.

여기서는 로지스틱 회귀와 의사결정 나무를 가지고 실험했다. 여기서는 실제로 중요한 변수를 포함하는 비율을 LIME과 여러 알고리즘과 비교를 했는데 LIME이 보나 마나 1등 했을 것이다. 실제로 그랬다. 여기서는 LIME을 이용하여 뽑은 중요 변수들을 가지고 원래 예측값을 재현하는 정도를 측정했는데 무려 90% 이상이었다고 한다.

5.3 Should I trust this prediction?

여기서는 쓸모없는 변수가 포함된 데이터의 예측값과 쓸모없는 변수를 제외한 데이터의 예측값이 같으면 Trustworthy, 예측값이 달라졌다면 Untrustworthy로 라벨링 한 다음 F1 스코어를 계산하여 비교해보았다.

 

역시 LIME이 제일 좋았다.

5.4 Can I trust this model?

검증 데이터에서 $B$개의 데이터를 뽑고 그중에서 더 좋은 분류기를 식별할 수 있는지 실험했다는데 잘 모르겠다.


   6. Evaluation with Human Subjects

여기에서는 다음과 같은 사항을 살펴보기 위한 실험을 한다.

(1) 사용자들이 두 분류기 중에 일반화가 더 잘되는 분류기를 선택할 수 있는가?

(2) Explanations $g$에 기반하여 모형 성능을 향상하도록 피처 엔지니어링을 할 수 있는가?

(3) Explanations $g$을 통하여 분류기의 변칙적인 사례를 식별할 수 있는가?

6.1 Experiment setup

여기서는 20개의 뉴스 그룹으로부터  기독교(Christianity)와 무신론(Atheism)에 대한 문서들을 데이터로 사용한다. 

6.2 Can users select the best classifier?

머신러닝 전문가가 아닌 종교와 관련된 기본지식을 갖고 있는 참여자들에게 Explanation $g$에 대한 변수 중요도들을 보여주고 참여자들이 더 나은 분류기를 선택하는지 살펴보았다. 이때 LIME을 이용하여 분류기를 제대로 선택한 비율이 더 좋았다고 한다.

6.3 Can non-experts improve a classifier?

만약 훈련된 분류 모형이 믿을 수 없다면 피처들을 수정하고 이를 재학습하는 과정을 거치게 된다.

 

Explanations를 이용하면 이러한 과정을 도와줄 수 있다고 한다. 즉, 변수 중요도를 보여주고 사람들이 필요 없는 변수는 제외하도록 도와준다는 뜻이다.

 

머신러닝의 비전문가인 참여자들이 SP-LIME, RP(Random Pick)-LIME을 이용하여 피처 엔지니어링을 했을 경우 모형의 성능을 평가한 결과 SP-LIME이 더 좋은 결과를 보였다. 즉, SP-LIME을 이용하면 비전문가들도 손쉽게 분류기의 성능을 향상할 수 있다는 것이다. 이는 그만큼 쉬운 해석을 제공했다는 것과 같다.

6.4 Do explanations lead to insights?

허스키와 늑대를 비교하기 위한 핵심적인 특징과 이 분류기를 신뢰할 수 있는지 물어보고 LIME의 Explanation을 보여준 후 참여자들의 생각이 얼마나 바뀌었는지 물어보는 것 같다. 사실 이 실험의 의도를 잘 모르겠다.


   7. Related Work

검증 데이터 셋을 이용한 성능 측도를 주된 모형 성능 측도로 쓰는 것이 맞는지에 대한 연구, Model-Agnostic 한 방법으로 어떤 것이 있는지 등을 소개한다.


   8. Conclusion and Future Work

본 논문에서는 머신러닝 모형과 사용자 간의 상호작용에서 신뢰가 가장 중요하며 개별 예측치에 대한 설명이 신뢰를 평가하는데 중요하다는 것을 논의했다.


댓글


맨 위로