설명 가능한 AI (Explainable AI, XAI)
1. 개요
설명 가능한 AI(XAI)는 머신러닝 모델의 예측 과정과 결과를 인간이 이해할 수 있는 형태로 설명하는 기술. 모델의 투명성, 신뢰성, 공정성을 확보하고, 규제 요구사항을 충족하기 위해 필수적.
정의
XAI = 모델 예측에 대한 이해 가능한 설명 제공
목표:
- 투명성 (Transparency): 모델 작동 방식 이해
- 신뢰 (Trust): 예측 근거 확인
- 공정성 (Fairness): 편향 검출 및 완화
- 규제 준수 (Compliance): GDPR 등 설명 요구
해석 가능성의 수준
| 수준 |
설명 |
예시 |
| 시뮬레이션 가능 |
인간이 직접 계산 가능 |
간단한 규칙 |
| 분해 가능 |
각 부분 이해 가능 |
선형 모델, 결정 트리 |
| 알고리즘 투명성 |
학습 과정 이해 가능 |
최적화 과정 |
| 사후 해석 |
학습 후 설명 생성 |
LIME, SHAP |
2. 핵심 개념
2.1 설명의 유형
| 유형 |
설명 |
| Global |
전체 모델 행동 설명 |
| Local |
개별 예측 설명 |
| Model-specific |
특정 모델에 종속 |
| Model-agnostic |
모든 모델에 적용 가능 |
2.2 해석 가능성 vs 정확도 트레이드오프
일반적 경향:
해석 가능성 ↑ ↔ 모델 복잡도 ↓ ↔ 정확도 ↓
Linear/Logistic < Decision Tree < Random Forest < XGBoost < Neural Network
해석 용이 해석 어려움
3. 주요 기법
3.1 내재적 해석 가능 모델
선형 모델
y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ
해석: βᵢ = xᵢ가 1 증가할 때 y의 변화량
계수 크기와 부호로 영향도 파악
결정 트리
조건부 규칙의 집합:
IF x₁ > 0.5 AND x₂ < 0.3 THEN class = A
장점: 시각적 표현, 직관적 규칙
단점: 불안정, 과적합 경향
규칙 기반 모델
Rule List / Rule Set
IF condition₁ THEN prediction₁
ELSE IF condition₂ THEN prediction₂
...
3.2 사후 해석 방법 (Post-hoc)
LIME (Local Interpretable Model-agnostic Explanations)
원리: 예측 주변의 국소적 선형 근사
1. 설명할 인스턴스 x 선택
2. x 주변에서 샘플 생성 (섭동)
3. 블랙박스 모델로 샘플 예측
4. 유사도 가중 선형 모델 학습
ξ(x) = argmin_g L(f, g, πx) + Ω(g)
L: 충실도 (원본 모델과 일치도)
πx: 거리 기반 가중치
Ω: 복잡도 페널티
| 데이터 유형 |
LIME 변형 |
| 정형 |
LIME Tabular |
| 텍스트 |
LIME Text |
| 이미지 |
LIME Image (슈퍼픽셀) |
SHAP (SHapley Additive exPlanations)
게임 이론의 Shapley Value 기반
φᵢ = Σ_{S⊆N\{i}} |S|!(|N|-|S|-1)!/|N|! × [f(S∪{i}) - f(S)]
φᵢ: 피처 i의 기여도
S: 피처 부분집합
f(S): S만 사용한 예측
특성:
- 국소 정확성 (Local Accuracy)
- 결측성 (Missingness)
- 일관성 (Consistency)
| SHAP 변형 |
특징 |
| KernelSHAP |
모델 불문, LIME과 유사 |
| TreeSHAP |
트리 모델 최적화, O(TL²) |
| DeepSHAP |
딥러닝, DeepLIFT 결합 |
| GradientSHAP |
그래디언트 기반 |
피처 중요도 (Feature Importance)
Permutation Importance:
1. 기준 성능 계산
2. 각 피처를 셔플 (무작위 배치)
3. 성능 저하량 측정
4. 저하량 = 피처 중요도
모델 내장 중요도:
| 모델 | 방법 |
|------|------|
| 트리 | 분할 기준 개선량 합 |
| 선형 | 계수 절대값 |
| L1 정규화 | 0이 아닌 계수 |
3.3 주의력 기반 설명 (Attention)
Transformer 모델:
Attention(Q, K, V) = softmax(QKᵀ/√dₖ)V
Attention weights로 입력 토큰/영역의 중요도 파악
주의: 항상 설명으로 해석 가능하진 않음 (Jain & Wallace, 2019)
3.4 예시 기반 설명
| 방법 |
설명 |
| Prototype |
클래스 대표 예시 |
| Criticism |
프로토타입과 다른 예시 |
| Counterfactual |
"만약 x가 달랐다면" |
| Influential Instance |
학습에 영향 큰 샘플 |
Counterfactual Explanation:
최소 변경으로 예측 바꾸기
"대출 거절 → 승인을 위해서는
연소득을 $45,000에서 $52,000으로 높이면 됩니다"
3.5 개념 기반 설명
TCAV (Testing with Concept Activation Vectors):
고수준 개념으로 설명
예: "이 이미지가 얼룩말로 분류된 이유는
'줄무늬' 개념이 80% 영향"
CAV: 개념을 나타내는 벡터
TCAV 점수: 개념이 예측에 미치는 영향
4. 실무 적용 사례
4.1 금융: 신용 평가 설명
규제 요구사항:
- 거부 사유 제공 의무
- 공정 대출법 (Fair Lending)
적용 방법:
1. SHAP로 개별 예측 분해
2. 상위 3-5개 부정적 요인 추출
3. 고객 이해 가능한 언어로 변환
예시:
"신용 점수 하락 주요 원인:
1. 높은 신용카드 사용률 (현재 85%)
2. 최근 연체 이력 (2건)
3. 짧은 신용 이력 (2년)"
4.2 의료: 진단 보조
진단 모델 설명:
- 의사의 의사결정 보조
- 환자 설명용
방법:
- 이미지: Grad-CAM으로 주목 영역
- 정형: SHAP 기여도
- 유사 사례 제시
4.3 추천 시스템
추천 이유 제공:
"이 상품을 추천하는 이유:
- 최근 구매한 [A]와 유사
- [B] 카테고리 선호
- 비슷한 고객들의 인기 상품"
4.4 모델 디버깅
SHAP/LIME 활용:
1. 오분류 샘플 분석
2. 예상치 못한 피처 의존 발견
3. 데이터 누수 탐지
4. 편향 식별
예: "모델이 '우편번호'에 과도하게 의존
→ 지역 기반 차별 가능성"
5. 참고 논문/저널
핵심 논문
| 논문 |
저자 |
출처 |
기여 |
| "Why Should I Trust You?: Explaining the Predictions of Any Classifier" |
Ribeiro et al. |
KDD 2016 |
LIME |
| "A Unified Approach to Interpreting Model Predictions" |
Lundberg & Lee |
NeurIPS 2017 |
SHAP |
| "Learning Important Features Through Propagating Activation Differences" |
Shrikumar et al. |
ICML 2017 |
DeepLIFT |
| "Grad-CAM: Visual Explanations from Deep Networks" |
Selvaraju et al. |
ICCV 2017 |
Grad-CAM |
| "Interpretability Beyond Feature Attribution" |
Kim et al. |
ICML 2018 |
TCAV |
| "Attention is not Explanation" |
Jain & Wallace |
NAACL 2019 |
Attention 비판 |
| "Counterfactual Explanations without Opening the Black Box" |
Wachter et al. |
Harvard JLT 2017 |
Counterfactual |
주요 저널/컨퍼런스
| 출처 |
분야 |
| Nature Machine Intelligence |
해석 가능 AI |
| ACM FAccT |
공정성, 책임성, 투명성 |
| AAAI, NeurIPS, ICML |
XAI 연구 |
| IEEE TPAMI |
비전 해석 |
규제 및 가이드라인
| 규제 |
내용 |
| EU GDPR |
자동 결정에 대한 설명 요구 |
| EU AI Act |
고위험 AI 투명성 의무 |
| US ECOA |
신용 거부 사유 |
| FDA |
의료 AI 가이드라인 |
6. 구현 도구
| 도구 |
기능 |
| SHAP |
Shapley 기반 설명 |
| LIME |
국소 선형 근사 |
| InterpretML |
Microsoft XAI 통합 |
| Captum |
PyTorch 설명 |
| Alibi |
다양한 설명 기법 |
| ELI5 |
모델 설명 시각화 |
| Grad-CAM |
CNN 시각화 |
SHAP 사용 예시
import shap
# TreeSHAP
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
# 요약 플롯
shap.summary_plot(shap_values, X)
# 개별 예측 설명
shap.force_plot(explainer.expected_value, shap_values[0], X.iloc[0])
# 의존성 플롯
shap.dependence_plot("feature_name", shap_values, X)
7. XAI의 한계와 고려사항
한계
| 한계 |
설명 |
| 설명의 충실도 |
근사 설명의 정확성 한계 |
| 평가의 어려움 |
좋은 설명의 기준 모호 |
| 조작 가능성 |
의도적 설명 조작 |
| 복잡성 |
비전문가 이해 어려움 |
사용 시 주의점
1. 설명 ≠ 원인: 상관관계와 인과관계 구분
2. 국소 설명의 한계: 전역 행동과 다를 수 있음
3. 피처 의존성: 상관된 피처 해석 주의
4. 대상 고려: 기술자 vs 최종 사용자