"Why Should I Trust You?" Explaining the Predictions of Any Classifier
이전 논문을 리뷰하면서 LIME 알고리즘의 존재를 알았다
해당 논문만으로 LIME 알고리즘을 이해하기엔 힘들었고, 또 블랙박스 모델의 해석이 중요하다고 판단하여 이 논문을 리뷰해 보았다.
2016년 8월 16일 출간되었으며 현재 기준으로 22840회 인용되었다.
지금까지 여러 논문을 리뷰해 왔지만 하나하나 뜯어보면 개판인 연구과정이나 불가능한(?) 결과가 나오는 논문이 많았다.
그러므로 이제 앞으로는 인용수 기준으로 리뷰해 볼 예정이다.
https://arxiv.org/abs/1602.04938
"Why Should I Trust You?": Explaining the Predictions of Any Classifier
Despite widespread adoption, machine learning models remain mostly black boxes. Understanding the reasons behind predictions is, however, quite important in assessing trust, which is fundamental if one plans to take action based on a prediction, or when ch
arxiv.org
https://kicarussays.tistory.com/29
[논문리뷰/설명] LIME: "Why Should I Trust You?" Explaining the Predictions of Any Classifier
딥러닝을 비롯한 여러 방법론들은 우수한 성능을 보이며 각광받고 있지만, 그런 방법론들에는 늘 "Blackbox"라는 꼬리표가 달려 있습니다. 아무래도 모델의 복잡성이 증가할수록 성능은 향상되지
kicarussays.tistory.com
( 위 블로그의 리뷰를 가장 많이 참고했습니다. )
위 블로그의 내용을 적어가면서 제가 어떤 부분을 추가적으로 공부했는지 적어갈 예정입니다.
위 논문은 딥러닝과 같은 블랙박스 모델들의 고유한 문제인 왜 이런 결과가 나왔는가? 의 해결책을 제시하는 논문이다.
XAI란?
딥러닝모델이나 랜덤포레스트(RF) 같은 경우는 왜 이런 결과가 나오는지 설명하기 어려운 부분들이 많다. 이런 모델들을 블랙박스 모델이라고 한다. 아래 예시를 들어보겠다.

위의 그림은 논문에 있는 그림을 그대로 가져와봤다. 위의 그림을 토대로 나의 예시를 적어보겠다.
어떠한 환자가 코로나 바이러스에 걸렸는지 확인하기 위해 의사 A에게 진료를 받았다. 의사 A는 아무런 설명도 없이 대뜸 '확진입니다'라고 진단만 내리고 어떤 이유에서 이런 결정을 내렸는지 알려주지 않는다. 알려주더라도 매우 복잡한 전문용어를 사용하며 환자가 알아듣기 어렵게 설명한다.
환자는 납득하기가 어려워 의사 B에게 진단을 받는다. 의사 B도 마찬가지로 양성이라는 진단을 내린다 하지만 의사 A와 다르게 환자가 알아듣기 쉽게 설명을 해주었다. "환자분의 체온이 높고 두통과 무기력증 등의 증상이 보입니다." 이런 방식의 진단을 받으면 환자는 쉽게 의사의 진료를 받아들일 것이다.
블랙박스 모델도 마찬가지다. 아무리 정확하더라도 왜 이런 결과가 나왔는지 설명하기가 어렵다면 사용자의 입장으로써는 납득하기 어려울 것이다. 이 문제를 해결하기 위해 LIME 알고리즘이 나왔으며 LIME을 통해 왜 이런 판단결과가 나왔는지 확인해 보겠다.
XAI란 Explainable AI라는 뜻으로 "설명가능한 AI"라는 의미를 가지고 있다.
나는 XAI를 특정 모델이나 알고리즘이 아닌 하나의 방법론(?), 개념(?)이라고 이해를 했다.

논문에 있는 다른 하나의 예시이다.
위 그림은 알고리즘 1과 알고리즘 2를 통해서 특정 메일을 분석해 누가 무신론자인지 판별하는 알고리즘이다. (핑크색이 무신론자)
먼저 두 알고리즘 모두 정확하게 예측했다는 가정 한다.
알고리즘 1을 보자 GOD, mean, Koresh 등의 단어를 중요하게 생각하고 글쓴이가 무신론자라는 판단을 했다고 알 수 있다.
알고리즘 2는 Posting, Host 등을 보고 글쓴이가 무신론자라는 판단을 했다.
두 알고리즘 모두 정답이지만 연구자는 알고리즘 1을 사용하기로 결정할 것이다.
이를 통해 LIME 알고리즘을 사용하면 모델의 선택에 도움을 줄 수 있고, 더 나아가 정확한 판단을 하는데 도움을 줄 것으로 보인다.
저자는 LIME을 비롯한 모든 설명 모델 (Explainer)들의 조건을 3가지 제시한다.
1. Interpretability
인간이 이해할 수 있는 방식으로 설명해야 한다.
만약 RF 모델처럼 수백, 수천 개의 트리를 구성하고나, 몇천 개의 변수를 활용하는 회귀분석 등은 인간의 언어로 설명이 어려울 것이다. 저자는 중요한 변수를 선별하여 설명하는 등의 작업이 필요하고, 이 Interpretability의 개념은 설명 대상에 따라 달라질 수 있다고 말한다.
2. Local Fidelity
모델이 제시하는 설명이 적어도 국소적으로 합리적 (Locally Faithful)이어야 한다
이 개념은 전체적으로 중요한 Feature가 개별 Prediction을 예측할 때는 중요하지 않을 수 있다는 사실에서 기인한다. 예를 들어, 흰쌀밥, 주스, 바나나 등 당뇨 환자들이 피해야 하는 대표적인 음식들이 있다. 하지만 어떤 당뇨환자의 상태가 나빠졌다고 해서 저런 음식들만이 영향을 미치지는 않았을 것이고, 더 영향을 준 국소적인 영향이 있을 것이며, Explainer는 이 국소적인 영향 (Local Fidelity)을 제시해 줄 수 있어야 한다. 아래 잘 표현해 주는 예시가 있다.

3. Model-agnostic
Explainer는 해석의 대상이 되는 모든 모델의 종류와 관계없이 설명을 제시할 수 있어야 한다. 즉, 모델 독립적이어야 한다는 뜻이다.
Decision Tree, Logistic Regression 등 그 자체적으로 해석이 가능한 모델이 있지만 우수한 성능을 자랑하는 최신 모델들은 우수한 성능만큼 복잡하고 인간의 언어로 설명이 매우 어렵다. 이러한 모델들 종료에 관계없이 항상 설명이 가능해야 하는 것이 Explainer의 마지막 요건이다
지금까지 모든 Explainer가 갖춰야 할 조건들을 알아보았다. 이제부터 본격적으로 LIME 알고리즘에 대해 알아보겠다.
( 실제로 논문에 좀 더 복잡한 내용과 수식이 있었지만 티스토리에 수식 적는 것도 힘들고 그냥 내가 이해하기 쉬운 버전으로 정리함 )

LIME을 통해서 생성되는, instance x에 대한 Explanation은 위와 같이 정의된다.
쉽게 풀이해 보겠다.
argmin은 최솟값을 찾는 의미이다.
즉, L 함수에서 f(복잡한 모델)을 설명하기 위해 g(간단한 모델)를 사용하며, Pix는 샘플링한 데이터와 f의 데이터와의 거리를 사용한다(뒤에 추가 설명). 추가로 복잡도를 더한다.
결론적으로 보면 설명력은 높고 복잡도는 낮은 Explainer를 찾는 수식이다.
3.3 Sampling for Local Exploration
앞서 제시된 수식에서 Pix에 대한 설명을 이어가겠다.
LIME 알고리즘은 특정 시점을 분석하기 위해, 분석하려는 인스턴스(instance x) 주변에 랜덤 하게 샘플링한 데이터(x’)를 생성한다. 이제 x’가 어떻게 만들어지는지 살펴보자.
x’의 생성 방법은 데이터의 종류에 따라 다르다. 여기서는 텍스트 데이터를 예로 들어 설명하겠다.
예를 들어, instance x가 “The cat sat on the mat”라는 문장이라 하자. 이 문장을 단어 단위로 분해하면 [‘The’, ‘cat’, ‘sat’, ‘on’, ‘the’, ‘mat’]으로 구성된다.
이제 이 문장을 사람이 이해하기 쉽게 이진 벡터(binary vector)로 변환한다. (단어의 존재 여부를 0과 1로 표현한다)
변환 결과는 [1, 1, 1, 1, 1, 1]이 된다.
이 벡터를 기반으로 x’를 생성한다. x’는 인스턴스 주변을 탐색하기 위해 랜덤하게 만들어진다.
예를 들어, [1, 0, 1, 1, 1, 0]이나 [1, 0, 1, 0, 1, 0]처럼 일부 단어를 제거한 형태의 여러 x’를 생성한다.
이처럼, LIME 알고리즘은 데이터의 종류에 따라 적절한 방식으로 x’를 생성하여, 분석 대상 인스턴스 주변을 탐색한다.
3.4 Sparse Linear Explanation

위 그림은 희소 선형 모델을 LIME을 통해 설명하는 과정을 나타낸다고 이해했다.
1. 필요한 요소들
- CLassifier f : 예측을 수행하는 분류기
- Number of sample N : 샘플 수
- Instance x : 설명할 인스턴스, 그리고 그 인스턴스의 해석 가능한 버전 x'
- Similarity kerner Pix : 인스턴스 간 유사도를 계산하는 커널 함수
- Length of explanation K : 설명할 특성의 개수
2. 과정
- 알고리즘은 주어진 인스턴스 x주변에서 N개의 샘플을 생성한다. 각 샘플은 x'(해석가능한 버전) 주변에서 무작위로 샘플링된다.
- 각 샘플에 대해 모델 예측 f(zi)와 유사도 πx(zi)를 결합하여 Z 집합에 추가한다.
- 이후, K-Lasso를 사용하여 중요한 K개의 특성을 선택하고, 이를 통해 예측을 설명하는 희소 선형 모델을 학습한다.
- 마지막으로, K-Lasso의 결과로 w를 변환한다.
아직도 뭔 소린지 모르겠다...
이 그림이 왜 나왔는지에 대한 맥락을 나름대로 정리해 봤다.
- 이 그림은 LIME을 사용한 희소 선형 설명을 어떻게 구현할 수 있는지에 대한 구체적인 알고리즘을 보여준다.
- LIME은 복잡한 블랙박스 모델을 선형 모델로 근사하여 예측을 설명하는 기법이다. 이 알고리즘은 단기적인 예측을 설명하는 데 중점을 두며, 희소 선형 모델은 예측에 중요한 특성만을 남기고 불필요한 특성을 제거하는 방법이다.

여기까지 LIME 알고리즘의 정의와 장점을 알아보았다.
물론 단점도 아래와 같다.
- Blackbox 모델을 Interpretable 모델로 설명하는 과정에서, 성능이 저하될 수 있다.
- Explainer로 Linear Model을 선정할 경우, Non-linear 모델을 설명할 때 Locality 설명이 왜곡될 수 있다.
이상이다.
후기
처음으로 영어로 된 논문과 유명한 논문을 분석해 보았다. 아직 전부 다 분석한 건 아니고 논문 뒤에 추가적인 알고리즘들이 나오지만 그건 추후 필요하고 생각이 들면 리뷰해 보겠다. 일단 지금 시험기간이라 바쁘다...
부록
1. 희소 선형 모델이란?
희소 선형 모델은 모델의 계수(가중치) 중 대부분이 0인 선형 모델을 의미한다. 즉, 설명 변수(Feature) 중 일부만 실제로 모델 예측에 중요한 역할을 하게끔 만드는 선형 모델이다. 다음과 같은 장점이 있다.
- 특징 선택 (Feature Selection) : 자동으로 중요 변수만 남기고 불필요한 변수 제거
- 해석 용이성 : 어떤 변수가 예측에 중요한지 명확해짐
- 일반화 성능 : 과적합 방지
- 모델 경량화 : 계산량 감소
대표적인 방법으로 Lasso Regression, Elastic Net 등이 있다.