논문 링크: 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
1. Introduction
- 머신러닝 발달 → 이때 중요한 문제: 사용자가 모델이나 예측을 신뢰하지 않으면 사용하지 않는다
- trusting a prediction: 개별 예측을 충분히 신뢰해서 그 예측을 기반으로 행동할 수 있는가
- trusting a model: 모델 전체가 합리적으로 작동할 것이라고 믿는가여기서 신뢰는 두가지로 나뉨
- 특히 결정을 만들어야 하는 상황에서는 trusting a prediction이 중요해진다 (의료진단, 테러리즘 감지 같은 상황에서는 결과가 재앙적일 수 있기 때문에)
- trusting a model도 중요하긴 함 = 모델이 실제 환경에서도 잘 작동해야 하기 때문
- 현재는 대부분의 모델들이 accuracy 를 기반으로 평가됨
- 그러나 현실이 테스트 데이터와 다른 상황이 생길 수도 있고, 정확도가 실제 목적을 반영하지 못할 수 있음(= 정확도는 높지만 쓸모없는 모델이 될 수도 있음)
- 그래서 단순한 수치 말고, 개별 예측과 설명을 같이 보는 게 해결책 → 이 때 데이터가 클수록 사용자가 어떤 사례를 봐야하는지 도와주는 것도 중요
<이 논문의 기여>
- LIME: 어떤 classifier나 regressor도 로컬하게 단순 모델로 근사하여 설명할 수 있게 하는 알고리즘
- SP-LIME: 대표적인 예시집합 고르는 방법, 모델 전체의 신뢰를 다루기 위해 submodular optimization(부분모듈최적화)를 활용
- 실험적 검증: 비전문가도 LIME 사용하여 더 일반화가 잘 되는 모델 고를 수 있었음 / feature engineering 통해 신뢰할 수 없던 classifier를 개선할 수 있음 / 이미지 분류용 neural network이 예측을 분석해서 언제, 왜 모델을 믿으면 안 되는지도 알 수 있음
2. The case for explanations
- explaining a prediction: 예측을 설명한다는 것은 텍스트나 시각 자료를 통해 예측이 input의 텍스트나 시각 자료(그림 등) 를 통해 예측이 입력의 어떤 부분에 영향을 받았는지 직관적으로 보여주는 것.
- explaining a prediction이 사람이 머신러닝을 신뢰하고 실제로 활용하게 만드는 핵심.
- 그러나, 이 설명은 faithful하고 intelligible 해야 함.
- 잘못된 이유를 쉽게 설명하거나 정확하지만 너무 복잡한 이유를 말하면 안 된다.
- 의사 예시: 의사가 진단 모델을 사용할 때 단순히 이 환자는 암입니다 라고 하는 것보다 초록색은 암일 가능성을 높이고 빨간색은 반대이다 이런 식으로 이유를 함께 주면 납득 가능해짐
- 사람이 원래 domain 지식을 갖고 있기 때문에 판단 근거를 보면 맞고 틀림을 구분할 수 있게 되니까 신뢰가 가능해짐
- 추가로 모든 머신러닝 응용은 모델 전체를 얼마나 신뢰할 수 있는지를 검토해야 하는데, 보통은 validation set으로 정확도를 평가하지만 실제 환경에서는 정확도가 달라지거나 개발자가 모델 성능을 과대평가하는 경우도 많음
⇒ 그래서 모델의 예측 사례를 explanation과 함께 보는 게 모델 신뢰를 평가하는 방법이 됨
- 그리고, 모델이 잘못 학습되거나 평가가 왜곡되는 이유에는 여러가지가 있음
- data leakage: 훈련 데이터에 없어야 할 정보가 들어간 경우(ex. 환자 ID가 질병 여부와 강하게 상관되어 있어서 모델이 ID만 보고 예측하면, 숫자 정확도만 봤을 땐 알아채기 어렵지만 설명이 있으면 ID가 예측에 영향을 줬다는 걸 발견할 수 있음)
- dataset shift: 훈련 데이터와 실제 테스트 데이터의 특성이 다를 때 생김. (EX. 뉴스 분류 모델이 20 Newsgroups 데이터로 학습했는데 실제 뉴스 환경에서는 주제가 섞여서 정확도가 급락하는 경우에도 마찬가지로 설명을 보면 문제를 쉽게 탐지할 수 있음)
⇒ 설명은 단순히 이유만 보여주는 게 아니라 어떻게 모델을 고칠수 있는지까지 알려줌
- 정확도만 비교하면 오판할 수 있음(정확도는 높지만 실제로는 나쁜 모델) , 뉴스에서 클릭을 많이 유도하는 자극적인 단어에 의존하면 장기적으로는 사용자 만족도 떨어뜨릴 수 있음
- 그래서 정확도가 조금 낮아도 더 바람직한 근거를 쓰는 모델을 선택해야 함 ⇒ 설명은 모델 선택에도 필수적
<Desired Characteristic for Explainers; 좋은 설명 도구의 조건>
1) interpretability 해석가능성
- 설명은 사람이 직관적으로 이해할 수 있어야함
- 단순히 수식이나 숫자만 보여주면 안됨
- 사용자의 한계 고려(전문가는 작은 확률 그래프도 이해할 수 있지만 일반인은 가중치 있는 단어 몇 개가 더 나음)
2) local fidelity 국소적 충실성
- 설명은 그 예측이 일어난 주변, 즉 local에서만이라도 모델의 실제 행동을 정확하게 반영해야 함
- 모델 전체의 규칙을 완벽히 재현할 필요는 없지만 최소한 그 예측 근처에서 모델이 싲레로 한 일과는 일치해야함
3) model-agnostic 모델 불가지론적
- 어떤 모델에도 적용 가능해야 함
- 앞으로 새로 나올 모델에도 적용할 수 있어야 함.
4) global perspective 전역적 이해
- 개별 예측 설명에만 그치지 말고 global understanding을 파악할 수 있어야 함
3. LIME
: 복잡한 모델의 특정 예측 근처에 대해 locally하게 사람이 이해할 수 있는 간단한 모델로 부분적으로 흉내 내는 것
(전체를 이해하는 대신에 이번의 판단하나만 이해할 수 있도록 근처만 단순하게 설명하는 것)
3.1. Interpretable Data Representations
- AI 모델이 쓰는 데이터 표현은 복잡하기 때문에, LIME은 인간이 해석 가능한 표현으로 변환해서 설명을 만듦
- 텍스트 → AI는 word embedding(숫자 벡터) → 단어의 존재 여부 (0, 1)
- 이미지 → AI는 픽셀 단위 RGB 텐서 → super pixel의 존재 여부
3.2. Fidelity-Interpretability Trade-off
LIME은 충실하면서도 단순하게 설명할 수 있는 모델을 찾는 문제로 수식 정의한다.


→ x 근처에서 원래 모델 f를 잘 흉내내면서 설명 모델인 g는 가능한 단순하게 만들어라
3.3. Sampling for Local Exploration
- LIME은 원래 모델의 내부를 몰라도 작동해야 함
- 그래서 직접 모델을 뜯어보지 않고 입력 주변 데이터를 살짝 바꿔보면서 관찰함
<작동과정>
1) 설명할 예시 X 선택
2) X 주변에서 샘플 데이터 생성
3) 원래 모델 F에게 물어봄
4) 가까운 샘플일수록 가중치 높게 부여
5) 이 결과를 이용해 단순 모델 g 학습
6) g의 가중치를 사람에게 시각적으로 보여줌
3.4. Sparse Linear Explanations
- LIME은 기본적으로 sparse linear model(희소 선형 모델)을 사용한다.

| 기호 | 의미 | 설명 |
| G | 설명용 모델 집합 | 여기서는 “선형 모델” 사용 |
| g(z₀) = w·z₀ | 설명 모델 | z₀의 각 요소(단어, super-pixel)에 가중치 w를 부여 |
| πₓ(z) | 거리 가중치 | x에 가까운 샘플은 가중치 ↑ |
| L(f,g,πₓ) | 손실함수 | f의 예측과 g의 예측 차이(가중치 포함 제곱오차) |
<설명 모델 학습 방식(K-LASSO)>
1) 여러 샘플 z₀ 생성 (일부 단어/픽셀 켜고 끄기)
2) 각 샘플의 f(z) 예측값 얻기
3) LASSO 회귀(희소 회귀)를 사용해서
4) 결과적으로 K개의 요소로 이루어진 단순 선형 모델 완성
→ “이 예측에 가장 영향을 준 상위 K개의 단어(혹은 이미지 영역)”을 보여줌.
→ 데이터셋 전체 크기와 상관없이 한 예측당 n개의 샘플만 생성하면 되므로 빠르게 실행 가능함
<LIME의 한계>
1) 표현의 제약: 일부 모델의 복잡한 패턴은 단순한 표현으로 설명 불가할 수 있음
2) 지역적 한계: 근처에서는 잘 맞지만 모델이 근처에서도 비선형이면 신뢰할 수 없는 설명일 수 있음
3) 전역적 이해는 별도의 과정이 필요하다 → LIME은 한 예측에 대한 설명만 제공하기 때문에 전체적인 신뢰를 SP LIME등으로 확장해야 함
3.5. Example1: Text classification with SVMs
- 문서 분류 사례
- 20 Newsgroups 데이터셋으로 글을 보고 기독교와 무신론 중 하나로 분류함. Support Vector Machine과 RBF 커널, unigram을 사용하여 94%의 정확도 달성. 얼핏 보면 성능 좋음
- LIME으로 실제 예측 하나를 설명해보니 왜 그 결과를 냈는지가 엉망이었음 = 문제점
- 예측 근거로 사용된 단어가 Posting, Host, Re 같은 기독교와 무신론의 실제 의미와는 관계없는 단어에 의존함. 문서의 주제가 아니라 이메일 헤더 정보에 반응한 것
- 이 단어들이 무신론 문서에서 우연히 자주 등장했기 때문에 모델은 이 단어가 있으면 무신론이라고 잘못 학습함 = 일종의 data leakage 문제와 유사
⇒ 정확도는 높지만 LIME 설명 덕분에 데이터 자체에 문제가 있음을 확인 가능
3.6. Example 2: Deep networks for images
- Google Inception Network: t사전학습된 딥런이 이미지 분류기 모델을 이용해 임의의 이미지 한 장을 입력, LIME 이용해 이미지의 각 슈퍼 픽셀이 예측에 얼마나 기여했는지 시각적으로 보여줌
- 초록색 영역이 예측을 지지하는 부분, 회색 영역이 모델이 무시하거나 영향이 적은 부분
- 모델이 어떤 기타 사진을 보고 1순위는 일렉 기타 2순위는 어쿠스틱 기타 3순위는 베이스 기타로 예측했는데, LIME으로 보니 프렛보드 부분이 예측에 큰 영향을 줌 = 모델이 이상한 곳을 본 게 아니라 합리적인 이유로 틀린 판단을 한 것
⇒ 틀리더라도 LIME이 보여준 근거가 사람이 납득할 수 있는 방식이면 신뢰할 수 있는 모델이 됨
4. Submodular Pick For Explaining Models (SP LIME)
- LIME이 개별 예측을 한다면 SP LIME은 여러 예측을 선택에 전체 모델로 발전시킨 개념
- 한 예측의 설명만 보면 왜 그러한 판단을 내렸는지는 알 수 있지만 그걸로 모델 전체를 신뢰할 수 있는지 판단하기는 불가능함
- SP LIME의 목표: 모델 전체를 대표할 수 있는 소수의 예측 B개를 고르고 각각에 대한 LIME 설명을 함께 보여줌
- 설명이 너무 많으면 사용자가 다 못 보니까 대표적이고 중복되지 않은 설명 B개를 뽑는 것
- 대표성: 모델의 전반적 특성을 잘 보여주는 예측 선택
- 비중복성: 이미 본 설명과 겹치지 않는 예측 선택)
1) SP LIME은 설명 행렬 W를 기반으로 계산

2) 각 특징의 전역 중요도 I
- 어떤 특징이 여러 예측에서 반복적으로 중요한 역할을 했다면 그 특징은 모델 전체적으로도 중요함
- 많이 등장할 수록 값이 커짐
3) Coverage Function ; c
- 특정한 예측집합 V를 고르면 그게 얼마나 많은 중요한 특징을 cover하고 있는지 계산하는 일종의 대표성 평가 함수
4) 최적화 문제
- B개 이하의 예측을 골라서 coverage를 최대화

어쨌든 모든 조합을 다 따져보는 것이 불가능한 문제이기 때문에 근사 알고리즘을 사용
<Submodularity>
- 덧붙일 수록 효용이 줄어드는 함수. 즉, 이미 대표적인 예측이 많이 선택될 수록 새 예측 하나를 더 추가해도 얻는 정보량이 점점 줄어듦
- 이 성질을 이용하면 greedy algorithm으로도 성능이 보장
Q. 수식에 Submodularity를 어떻게 반영하는가?

| (V) | 선택된 예시(instance)들의 집합 |
| (W) | 각 예시별 feature 중요도 행렬 (n×d') |
| (W_{ij}) | i번째 예시에서 j번째 feature의 중요도 (0이면 그 feature는 설명에 안 쓰임) |
| (I_j) | feature j의 전역 중요도 (전체 모델에서 얼마나 중요한 feature인지) |
| (1[\exists i \in V : W_{ij} > 0]) | V 중 적어도 하나의 예시에서 feature j가 등장했는가? |

- feature j가 선택된 예시들 중 하나라도 사용했는가? 만 봄
- 만약 feature j가 이미 한 예시에서 등장했다면 다른 예시에서 또 등장해도 추가 점수를 주지 않음
- 즉, 동일한 feature를 포함하는 예시를 계속 선택해도 coverage 점수 (c(V, W, I))가 더 이상 증가하지 않으므로 자동으로 비중복성을 보장하는 형태가 된다.
| 대표성(representativeness) | (I_j) 가 큰 feature(중요한 feature)를 많이 포함할수록 c 증가 |
| 비중복성(non-redundancy) | 동일 feature는 여러 번 덮여도 한 번만 카운트됨 → 중복 예시 선택 억제 |
5. Simulated User Experiments
| (1) | Are the explanations faithful to the model? | LIME의 설명이 실제 모델의 판단 근거를 정확히 반영하는가 |
| (2) | Can explanations help users trust predictions? | 사용자가 예측을 신뢰할지 판단할 때 도움이 되는가 |
| (3) | Are explanations useful for evaluating the model as a whole? | 모델 전체의 신뢰도나 일반화를 평가하는 데 유용한가 |
5.1. Experiment Setup
- Book 리뷰, DVD 리뷰 (각 2,000개 샘플)
- 태스크: 긍정/부정 감정 분류(sentiment classification)
- 훈련 1,600개 / 테스트 400개
<학습한 모델들>
| DT | Decision Tree | 해석 가능 (의사결정 트리) |
| LR | Logistic Regression (L2 regularization) | 해석 가능 (선형 모델) |
| NN | Nearest Neighbors | 비교적 단순하지만 직관적 X |
| SVM | Support Vector Machine (RBF kernel) | 복잡, 비선형, 블랙박스 |
| RF | Random Forest (1000 trees, Word2Vec 평균) | 완전 블랙박스, 인간 해석 불가 |
* LIME의 목적은 이 중 해석 불가능한 모델들(SVM, RF) 의 판단 이유를 설명하는 것.
<비교한 설명 기법들>
| LIME (ours) | 모델 근처(local region)에 대해 단순한 선형 모델로 근사 | 지역적 충실성(local fidelity) 확보 |
| Parzen | 전체 모델을 전역적으로 근사 후, gradient로 설명 | 고차원일수록 부정확 |
| Greedy | 중요한 feature를 하나씩 제거하면서 영향 확인 | 한 feature씩 바꾸는 방식, 트리에 비효율적 |
| Random | 임의로 10개 feature 선택 | 통제군 (baseline) |
- K = 10 → 한 예측당 10개의 feature로 설명
- N = 15,000 → LIME과 Parzen 모두 15,000개의 샘플 생성
- 하이퍼파라미터는 교차검증(cross-validation)으로 설정
<Pick 방법>
| RP (Random Pick) | 예시를 무작위로 선택 |
| SP (Submodular Pick) | §4에서 제안한 최적 선택 알고리즘 (대표적이고 중복 없는 예시 선택) |
5.2. Are explanations faithful to the model?
- LIME의 설명이 실제 모델의 내부 판단과 얼마나 일치하는가”를 측정한 실험
- Decision Tree 와 Logistic Regression 은 원래 내부 구조가 해석 가능한 모델
→ 즉, “진짜 어떤 feature를 근거로 판단했는지”를 우리가 알고 있음. - 그래서 이 두 모델을 대상으로 LIME이 예측 설명에서 얼마나 동일한 feature를 복원하는가를 확인할 수 있어요.
<실험 설계>
1) DT, LR 모델을 학습 (각 인스턴스에서 최대 10개 feature만 사용하도록 제한)
→ “진짜 중요한 feature(정답셋)”이 10개 이하로 명확히 정해짐
2) 각 테스트 샘플에 대해 LIME, Parzen, Greedy, Random 방식으로 “설명 feature 집합” 생성
3) 정답 feature 집합(모델 내부) 과 비교해 “복원율(Recall)” 계산
4) 모든 테스트 샘플에 대해 평균 Recall 계산

- Parzen 은 전역 근사(global approximation)이기 때문에 지역적 세밀한 feature 중요도를 제대로 반영하지 못함.
- Greedy 는 한 번에 하나의 feature만 제거하기 때문에 트리처럼 “여러 feature가 함께 작용하는 구조”를 포착하지 못함.
- LIME 은 지역적 근사(local approximation)이기 때문에 실제 모델의 판단 근거를 충실히 재현 가능.
5.3. Should I trust this prediction?
- LIME의 설명을 통해 특정 예측 결과를 신뢰할지 말지를 판단할 수 있는가를 확인하는 실험
<실험 과정>
| ① | 전체 feature 중 25%를 “untrustworthy (신뢰 불가)”로 지정 |
| ② | “Oracle trustworthiness” (정답 기준) 생성: → 블랙박스 모델의 예측이, 이 “untrustworthy feature”들을 제거했을 때 변하면 → 불신(trustworthy X) 안 변하면 → 신뢰 가능(trustworthy) |
| ③ | “Simulated user” 설정: → 사용자는 설명을 보고 “신뢰 불가 feature”가 있으면 그 예측을 의심한다고 가정. |
| ④ | 각 설명 기법별로 “사용자가 예측을 신뢰했는가 / 안 했는가”를 판정하고, 이를 oracle과 비교. |
<방법 사용자가 예측을 불신(mistrust) 하는 기준>
| LIME, Parzen | 설명에서 “신뢰 불가 feature”가 포함 → 그 feature 제거 시 예측이 바뀌면 불신 |
| Greedy, Random | 설명에 “신뢰 불가 feature”가 하나라도 포함되면 불신 (기여도 정보를 주지 않기 때문) |
<평가 지표>
- 각 test sample에 대해, “사용자 판단”이 oracle의 실제 trustworthiness와 일치하는지 확인
- “trustworthy prediction”에 대한 F1 score (정확도 + 재현율의 조화 평균)을 계산
- 모든 모델 / 데이터셋에 대해 100회 평균

5.4. Can I trust this model?
- 비슷한 정확도를 가진 두 개의 모델 중 어느 쪽이 진짜 일반화가 잘 되는 모델인가를 설명을 통해 사용자가 판별할 수 있는가를 테스트한 실험
<실험 설정>
| ① | 노이즈 feature 10개 추가 — “잘못된 상관관계(spurious correlation)” 유도 |
| ② | 학습/검증(train/validation, 80/20 split): 한 클래스에는 10% 등장, 다른 클래스에는 20% 등장 → test set에서는 양쪽 모두 10% 등장 (즉, 쓸모없는 feature가 됨) |
| ③ | 이렇게 만들어진 “불필요한 feature”에 일부 모델이 의존하도록 함 |
| ④ | 두 모델 쌍 생성 |
- 모두 random forest (30 trees)
- 검증 정확도 차이 ≤ 0.1%
- test 정확도 차이 ≥ 5%
→ “겉보기에는 똑같이 잘 맞지만, 실제로는 하나가 과적합(overfit)”인 상황 재현 |
<실험 절차>
- 사용자에게 B개의 예시(validation set에서) 에 대한 설명을 보여줌
- 사용자는 설명을 보고 “노이즈 feature”를 “untrustworthy”로 표시함
- 이후 전체 validation 데이터에서 신뢰할 수 있는 예측의 수를 계산
- “신뢰할 수 있는 예측이 더 많은 모델”을 선택함
- 그 모델이 실제로 test accuracy가 더 높은 모델인지 비교
→ 정답률 측정

SP-LIME > RP-LIME: 대표적이고 비중복적인 예시를 선택하므로 적은 수의 예시만 봐도 모델의 문제를 빠르게 인식 가능
LIME > Greedy/Parzen: 모델의 신뢰성 차이를 더 정확하게 포착
6. Evaluation with Human Subjects
- 실제 인간을 대상으로 설명 가능한 AI(LIME, SP-LIME)가 “신뢰(Trust)”를 개선할 수 있는가를 세 가지 상황에서 검증
| 6.2 | 사용자가 더 잘 일반화하는 모델을 고를 수 있는가? | 신뢰할 모델 선택 |
| 6.3 | 사용자가 설명을 보고 모델을 개선(feature engineering)할 수 있는가? | 모델 향상 |
| 6.4 | 사용자가 설명을 통해 모델의 이상(오류)을 찾아낼 수 있는가? | 문제 탐지 |
6.1. Experiment Setup
1) 데이터
- 기존 20 Newsgroups 데이터 중 “Christianity” vs “Atheism” 문서만 사용.
→ 이메일 헤더나 작성자 이름 같은 “비일반화 feature”(데이터 누출, id 관련 정보 등)가 모델 성능을 부풀림 - 새로운 평가용 데이터셋
- DMOZ 디렉토리와 직접 수집한 사이트 목록에서 “기독교/무신론 관련 웹페이지” 각각 819개씩
- → 이 “religion dataset”은 진짜 일반화 성능을 평가하는 용도
2) 모델
- SVM (RBF kernel) 사용
- 학습 데이터: 20 newsgroups
- 하이퍼파라미터: 교차검증으로 조정
3) 실험 환경
- 인간 피험자는 Amazon Mechanical Turk에서 모집
- 종교 관련 지식이 있는 일반인
6.2. Can users select the best classifier?
- LIME 설명을 보면 사람이 실제로 더 좋은 모델(일반화 잘 되는)을 골라낼 수 있을까
<실험 설계>
| 비교 대상 | 두 개의 SVM 분류기 |
| Classifier A (Original) | 원본 20 newsgroups 데이터로 학습 (비일반화 feature 포함) |
| Classifier B (Cleaned) | 사람이 수작업으로 비일반화 feature 제거 후 재학습 |
| 실제 일반화 성능 (on religion dataset) | A: 57.3% / B: 69.0% → B가 실제로 우수 |
| 검증 정확도 (on 20 newsgroups) | A: 94.0% / B: 88.6% → A가 더 높게 나옴 → test accuracy만 보면 잘못된 선택 유도 |
- “accuracy”만 믿으면 잘못된 모델(A)을 선택하게 됨
- 설명을 제공했을 때, 사람이 B(진짜 더 나은 모델)를 고를 수 있는지를 측정함
<실험 절차>
| ① | 각 참가자는 두 분류기의 예시 결과를 나란히(side-by-side) 봄 |
| ② | 각 예시는 본문 일부 + 설명(feature 중요도) 로 제시됨 |
| ③ | 참가자는 K = 6개의 단어(feature) 만 보고, B = 6개의 문서를 검토 |
| ④ | 모델의 순서, 문서 순서는 무작위(randomized) |
| ⑤ | 설명 생성 방법은 다음 네 조합으로 나뉨: - RP-Greedy (Random Pick + Greedy) - RP-LIME (Random Pick + LIME) - SP-Greedy (Submodular Pick + Greedy) - SP-LIME (Submodular Pick + LIME) |
| ⑥ | 각 조건당 100명 참여 → 총 400회 실험 수행 |
| ⑦ | 마지막에 “어느 모델이 실제 세상에서 더 잘 작동할 것 같습니까?” 질문 |

- 정확도 수치만 보면 잘못된 모델을 선택하게 되는 반면 LIME 기반 설명을 본 사람들은 실제로 더 일반화 잘 되는 모델을 선택함
- 특히 SP-LIME은 같은 문서라도 중복 없는 정보(coverage function 기반)를 제공하므로 적은 문서만 봐도 “이 모델은 편향됐다/이 모델은 의미 있는 단어를 사용한다”를 구분 가능
6.3. Can non-experts improve a classifier?
- 모델이 신뢰할 수 없다고 판단되었을 때 설명을 통해 사람이 스스로 잘못된 feature를 제거하며 모델을 개선할 수 있는가
- 머신러닝을 모르는 일반인도 가능한가?
<실험 설정>
| 데이터셋 | 20 Newsgroups (Christianity vs Atheism) |
| 모델 | 앞선 6.2 실험에서의 “성능이 더 나쁜 분류기” 사용 |
| 참가자 | Amazon Mechanical Turk의 일반 사용자 |
| 전문성 | 머신러닝 비전문가 — “feature engineering”이 뭔지도 모름 |
| 목표 | 설명에 제시된 단어(feature) 중 “삭제해야 할 단어”를 직접 표시하게 함 |
| 조건 | 각 사용자: B=10개의 문서, K=10개의 단어(feature) 확인 |
| 설명 방식 | SP-LIME vs RP-LIME 비교 (즉, Submodular Pick 사용 여부 실험) |
<실험 과정>
1) Round 1 — 초기 10명 참가자
- 각자 10개의 문서 × 10단어를 보고 “삭제해야 할 단어”를 표시(mark for deletion)
- 표시된 단어를 실제 feature 집합에서 제거하고 새 classifier 10개를 새로 학습
2) Round 2 — 새 5명 그룹 참여
- 위의 10개 classifier 각각의 설명을 새 5명에게 보여줌
- 각 5명도 “삭제 단어”를 선택 → 총 50개 classifier 재학습
3) Round 3 — 최종 라운드
- 위 50개 classifier 설명을 기반으로 새 참가자들이 또 수정 → 총 250개 classifier 완성
*이렇게 인간-모델 상호작용(interactive refinement) 경로가 이어지며, 각 classifier는 어떤 참가자들의 선택이 반영되었는지 path를 가지고 있음.

- 참가자들은 단순히 단어의 의미적 적절성만 보고 판단했지만 그 결과 실제로 일반화가 잘 되는 모델을 만듦
- 비전문가도 feature engineering을 할 수 있었음
- 특히 SP-LIME은 같은 시간 안에 더 다양한, 중요한 feature를 보여주기 때문에 모델 개선 효율이 훨씬 높았다.
6.4. Do explanations lead to insights?
- 모델이 어떤 잘못된 상관관계(spurious correlation) 를 학습했을 때, 설명이 사람에게 그 문제를 발견하게 해줄 수 있는가를 실험으로 검증
<실험 설정>
| 데이터셋 | Wolf vs Husky 이미지 20장 (학습용) |
| 특징(feature) | Google Inception 네트워크의 1st max-pooling layer 출력값 사용 |
| 의도적 오류 설계 | “Wolf 이미지”는 항상 눈(snow) 배경 / “Husky”는 눈 없는 배경으로 구성 |
| 결과 | 모델은 동물의 모습이 아닌 “배경 색(눈)”으로 분류하게 됨 |
| 평가용 데이터 | 추가 60장 이미지 (눈이 있는 Husky, 눈 없는 Wolf 등 포함) |
→ 모델이 “진짜 늑대와 허스키의 차이”가 아닌 “배경(눈)”을 학습하게 함. 일부러 나쁜 모델을 만듦.
<실험 절차>
1) 설명 없이 이미지 제시
- 참가자들에게 10개의 테스트 예측 결과(정답+오답 포함)를 보여줌
- “이 모델을 믿을 수 있나요?”, “왜 그렇게 생각하나요?”, “이 모델은 어떤 근거로 구분한다고 생각하나요?”를 물어봄.
- 일부 참가자는 “색깔”, “털 패턴” 등 엉뚱한 이유를 추측함
2) LIME 설명 추가
- 같은 이미지에 대해 LIME 기반 시각적 설명(superpixel highlight)을 함께 보여줌
- 예: 늑대라고 분류된 이유가 “하단 눈 부분”임을 시각적으로 표시
- 같은 질문을 다시 물어봄
3) 참가자 구성
- 머신러닝 석사 수준 학생들 (최소 1개 이상의 ML 대학원 과목 수강 경험자)
- “spurious correlation” 개념을 이해해야 하기 때문
4) 평가 방법
- 3명의 독립 평가자가 각 답변을 읽고, 참가자가 “눈(snow)/배경(background)”을 언급했는지 판정
- 3명 중 2명 이상이 일치하면 “정답(insightful)”으로 판단

- 설명을 보기 전에는 절반 이상이 “모델이 동물의 외형을 보고 판단한다”고 오해했지만 LIME 시각화 후에는 거의 모두 “배경(눈)”이 원인임을 즉시 파악함
- 설명이 모델의 오류 원인을 인간이 ‘직관적으로’ 이해하게 만든다
- 신뢰도(trust)는 자연스럽게 떨어짐 → “언제 믿지 말아야 하는가”를 깨닫게 됨.
7. Related Work
<기존 문제>
- 정확도(accuracy)만으로 신뢰를 판단하면 위험하다
- 머신러닝 실무자들이 흔히 검증 데이터 정확도(validation accuracy) 를
“모델의 신뢰도(trust)” 척도로 사용하지만 이는 여러 함정을 낳음.- 실제보다 성능을 과대평가(overestimate)
- 피드백 루프(feedback loop) 발생
- 데이터 누출(data leakage)을 인지하지 못함
- “높은 정확도 = 신뢰할 수 있는 모델”이라는 믿음은 잘못된 경우가 많음
<관련 도구>
| Modeltracker | 사용자가 개별 예측 사례를 탐색하며 모델 성능을 살펴보게 함 | 예측 이유(why)는 제공하지 않음 |
| Gestalt | 비슷한 목적 – 개별 인스턴스 탐색 중심 | 설명(explanation)을 제공하지 않음 |
→ SP는 사용자가 “중복되지 않는, 대표적 예시”를 보게 해주므로 이런 도구들의 탐색 효율성을 높일 수 있음
<실패 예측 연구 (Vision 분야 중심)>
- 일부 연구는 모델이 언제 실패할지를 미리 예측하는 방법을 제안함
→ 예: 이미지 분류에서 “이 경우는 신뢰도 낮음”을 표시 - 장점: 사용자가 시스템을 신뢰하기 쉬워짐 (어리석은 실수를 피할 수 있음)
- 한계:
- 주로 비전(vision) 전용 → 특수한 feature 설계 필요.
- 왜 실패하는지 이유를 제공하지 않음
- 평가 지표(accuracy 등)가 제대로 작동하지 않을 수도 있는데 이를 가정함
→ LIME은 실패 원인을 직접 드러내므로 신뢰성 향상 효과가 더 넓음
<데이터 탐색 기반 연구 (오류 노출 목적)>
- 사용자가 다양한 오류 사례(mistakes)를 직접 보게 하는 기존 연구 존재
→ LIME의 “pick step” 과 유사한 접근 - 하지만 그 연구의 참가자들도 20 Newsgroups 데이터의 심각한 문제(데이터 누출 등) 를 전혀 인식하지 못했음
- raw data만 보는 것으로는 문제를 파악할 수 없다.
- 실제로 많은 연구자들이 이런 오류가 있는 모델을 무심코 발표하기도 했음
→ LIME은 이런 한계를 극복하여 비전문가조차 설명(explanation) 을 통해 데이터 불량·일반화 실패 원인을 파악할 수 있게 함
<Interpretable Model 접근법과의 비교>
| Interpretable Models (예: linear model, decision tree, supersparse models) [6,17,26,27] | 모델 자체가 단순하므로 해석 가능 | 특정 도메인(의료 등)에선 유용하지만, 일반적이지 않음. 복잡한 데이터(text, image)에는 부적합하며 정확도·유연성 손실이 큼. |
| EluciDebug | 사람이 직접 모델 학습 과정을 조정하는 human-in-the-loop 시스템 | 해석 가능한 모델(Naive Bayes)에만 적용 가능함. 이미 투명한 모델을 전용. |
| Vision 설명 모델들 (object detection, attention 기반) | CNN 등 특정 구조에 특화되어 시각적 설명 제공 | 아키텍처 제약 있음. “객체 외부”나 비시각적 요소(배경 등) 설명 불가. |
→ LIME의 강점: 모델이나 도메인 제약이 없음
→ “Model-agnostic” (모든 모델에 적용 가능) + “Domain-agnostic” (텍스트·이미지 모두 가능)
<Model-agnostic Explanation 접근법 비교>
- 이전에도 “모델 독립적 해석”을 시도한 연구가 있었지만 LIME과 결정적으로 다름
| Global Approximation: 전체 모델을 단일 해석모델로 근사 (예: Parzen, gradient-based) | - 지역적(local) 정확성 떨어짐 - gradient는 확신(confident) 예측일수록 0 근처 → 해석 불가능 - 결과적으로 “왜 이렇게 예측했는가”보다는 “전체 경향”만 설명 |
| Gradient-based Explanation | - 수학적으론 근사하지만, 기울기 계수가 작거나 의미 모호함 - 특히 deep network의 경우 gradient 해석 불가능 |
| Perturbation-based Explanation | - 입력값을 변형해 영향 분석 (LIME과 유사) - 하지만 특정 contribution model만을 학습하는 제한적 방법 |
| 공통 한계 | - 인지적 부담 고려 X (feature가 너무 많거나 인간이 이해 불가한 형태) - word embedding처럼 “비해석적 feature”는 설명 불가능 |
→ LIME의 차별점:
1) Local fidelity 유지: 전체 근사 대신, 각 예측에 대해 “지역적(linear)” 근사 모델 생성
2) Cognitive interpretability 반영: 사람이 이해 가능한 feature 표현으로 변환
3) 도메인별 표현 가능: 텍스트, 이미지 등에서 “단어”, “superpixel” 등 의미 있는 단위로 해석
8. Conclusion and Future Work
<contribution>
| ① LIME 제안 | - “Local Interpretable Model-agnostic Explanations” - 어떤 모델이든(black-box 포함) 지역적으로(linearly) 근사해 해석 가능하게 설명 |
| ② SP-LIME 확장 | - Submodular Pick을 사용해 중복되지 않고 대표성 있는 예시 집합을 선택 → 모델 전체(global) 신뢰성 판단 가능 |
| ③ 인간 중심 검증 | - 텍스트·이미지 도메인 모두에서 검증 - 전문가와 비전문가 모두가 모델 신뢰, 개선, 오류 인식 가능함을 실험적으로 입증 |
| ④ 실험 결과 요약 | - LIME은 다음과 같은 신뢰 기반 작업에 모두 유용함하다 ▪ 모델 간 비교 및 선택 ▪ 예측의 신뢰성 평가 ▪ 불신 모델의 개선(feature engineering) ▪ 예측 근거에 대한 통찰(insight) 획득 |
<future work>
| ① 다양한 설명 모델 탐색 | - 현재는 “희소 선형 모델(sparse linear)”만 사용했지만 의사결정나무(decision tree) 등 다른 형태의 설명 모델과의 비교 연구 예정 |
| ② 이미지 Pick Step 개선 | - 본 연구에서는 이미지에 대한 “Submodular Pick” 전략 미포함 - 이미지 설명(예: superpixel 기반)에서의 대표 샘플 선택 기준을 향후 개발 예정 |
| ③ 응용 분야 확장 | - LIME의 모델·도메인 독립성(model & domain agnostic) 특성을 살려 음성(speech), 영상(video), 의료(medical), 추천시스템(recommender) 등 다양한 영역으로 확장 예정 |
| ④ 이론적·계산적 개선 | - 이론적 성질 분석 (예: 필요한 샘플 수 N의 최소 기준) - 계산 최적화 (병렬화, GPU 활용 등) → 실시간 해석(real-time explanation) 가능하게 만들 계획 |
'Miscellaneous' 카테고리의 다른 글
| [2025-2] 김지원 - Anchors: High-Precision Model-Agnostic Explanations (0) | 2025.11.02 |
|---|---|
| [2025-2] 이루가 - A review of Q-learning methods for Markov decision processes (0) | 2025.09.13 |
| [2025-2] 정유림 - Human-level control through deep reinforcement learning (0) | 2025.09.13 |
| [2025-2] 김지원 - Introduction to Reinforcement Learning (0) | 2025.09.13 |
| [2025-2] LLM-based agent : DrBioRight 2.0 (2) | 2025.08.16 |