콘텐츠로 이동
Data Prep
상세

설명 가능한 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 최종 사용자