Explainable AI: SHAP vs LIME 모델 해석 기법 심층 분석
딥러닝, 앙상블 모델 등 복잡한 머신러닝 기법들이 발전하면서 높은 정확도를 달성하는 모델은 많아졌지만, 반대로 **“왜 이런 예측을 했는가?”**라는 질문에 답하기는 점점 어려워졌습니다. 이처럼 복잡하고 불투명한 모델을 해석 가능한 형태로 바꾸기 위한 분야가 바로 **XAI(Explainable AI, 설명 가능한 인공지능)**입니다.
이번 글에서는 XAI의 대표적인 해석 도구인 SHAP와 LIME을 비교하고, 각각의 작동 원리와 사용 사례, 그리고 실제 상황에서 어떤 방식이 더 적합한지를 중심으로 깊이 있게 분석합니다.
1. 설명 가능한 인공지능(Explainable AI, XAI)의 필요성
머신러닝 모델의 해석 가능성은 다음과 같은 이유로 매우 중요합니다:
- 의료, 금융, 법률 등 고위험 분야에서의 신뢰 확보
- 모델의 편향(Bias) 또는 오류 탐지
- 규제 및 감사 대응 (AI 규제 프레임워크 등)
- 비즈니스적 의사 결정 지원
특히 Random Forest, XGBoost, Neural Network 등 블랙박스 모델은 고성능이지만 해석이 어렵기 때문에, SHAP과 LIME 같은 도구들이 널리 사용되고 있습니다.
2. LIME: Local Interpretable Model-agnostic Explanations
**LIME(Local Interpretable Model-agnostic Explanations)**은 “특정 예측 결과”가 왜 그렇게 나왔는지를 국소적(local)으로 해석해주는 방식입니다.
작동 방식 요약
- 해석하고 싶은 샘플을 기준으로 주변 데이터를 샘플링
- 해당 데이터에 대해 모델 예측값 계산
- 간단한 선형 모델로 근사화
- 각 피처의 기여도를 선형 회귀 계수로 해석
장점
- 모델 불문: 어떤 머신러닝 모델에도 적용 가능 (model-agnostic)
- 빠른 계산 속도
- 국소적인 해석에 최적
단점
- 근사 모델이 원래 모델을 잘 반영하지 못할 수 있음
- 해석 결과가 일관되지 않을 수 있음
- 샘플링 기반이라 재현성이 낮은 경우 있음
사용 예시 (Python)
import lime
from lime.lime_tabular import LimeTabularExplainer
explainer = LimeTabularExplainer(X_train.values, feature_names=features, class_names=['No', 'Yes'], discretize_continuous=True)
exp = explainer.explain_instance(X_test[0], model.predict_proba, num_features=5)
exp.show_in_notebook()
3. SHAP: SHapley Additive exPlanations
**SHAP(SHapley Additive exPlanations)**은 게임 이론의 Shapley Value 개념에 기반하여 각 피처가 모델 예측에 기여한 정도를 계산하는 방식입니다.
작동 방식 요약
- 피처를 “협력 게임”의 참여자라고 가정
- 모든 피처 조합에 대해 기여도를 평균적으로 계산
- 전역(global) 및 국소(local) 해석 모두 가능
장점
- 수학적으로 일관된 기여도 계산
- 전역/국소 해석 모두 가능
- 시각화 도구 풍부 (force plot, summary plot 등)
단점
- 계산량이 매우 많음 (대규모 데이터에 비효율적)
- 복잡한 모델일수록 계산 시간이 증가
사용 예시 (Python)
import shap
explainer = shap.Explainer(model, X_train)
shap_values = explainer(X_test)
shap.plots.waterfall(shap_values[0])
4. SHAP vs LIME 비교 요약
항목 | LIME | SHAP |
기반 이론 | 국소적 선형 회귀 | 게임 이론(Shapley Value) |
해석 범위 | 특정 샘플에 대한 국소 해석 | 국소 + 전역 해석 모두 |
모델 독립성 | O (Model-agnostic) | 대부분 O, 일부 모델은 최적화 제공 |
일관성 | 낮음 (샘플링 기반) | 높음 (수학적 일관성) |
계산 속도 | 빠름 | 느림 |
시각화 지원 | 기본 수준 | 다양하고 정교함 |
사용 사례 | 모델 디버깅, 빠른 분석 | 고신뢰 해석, 보고서 작성 등 |
한 줄 요약:
- 빠르게 결과를 확인하거나 실험 중에 사용할 땐 LIME
- 중요한 의사결정, 리포트용, 신뢰성 요구 시에는 SHAP
5. 실제 산업 적용 사례
SHAP
- 의료: 환자의 질병 예측 모델에서, 어떤 요인이 예측에 영향을 미쳤는지 설명 (예: 심장질환 리스크 예측)
- 금융: 대출 승인 모델에서, 어떤 변수(소득, 신용 점수 등)가 얼마나 영향을 줬는지 설명
LIME
- 이커머스: 사용자 행동 기반 추천 모델 해석
- 고객 이탈 예측: 특정 고객이 왜 이탈할 가능성이 높은지 빠르게 확인
6. XAI 적용 시 고려사항
- 비즈니스 맥락에 맞는 해석 수준 요구 분석
- 모델 해석 결과의 시각화 및 커뮤니케이션 수단 고려
- 모델 성능과 해석 가능성의 균형 유지
- 해석 도구의 성능 부담 고려 (대규모 모델은 병렬 처리 필요)
7. 마무리
SHAP과 LIME은 각각 다른 방식으로 모델의 ‘설명’을 도와주는 도구입니다. 둘 다 머신러닝의 신뢰성과 투명성을 확보하는 핵심 기술로, 사용자의 목적과 상황에 맞춰 선택해야 합니다.
- LIME은 빠르고 가벼운 국소 해석에 적합하고,
- SHAP은 깊이 있고 신뢰도 높은 분석을 위한 강력한 도구입니다.
앞으로 인공지능이 다양한 분야에 확산됨에 따라, 설명 가능한 AI 기술의 필요성은 더욱 커질 것입니다. 지금이 바로 XAI 도구를 실무에 도입하고, 보다 투명한 AI 시스템을 만드는 첫걸음을 뗄 때입니다.
'IT개발' 카테고리의 다른 글
대규모 LLM 서비스 운영을 위한 Retrieval-Augmented Generation(RAG) 패턴 (0) | 2025.05.04 |
---|---|
Federated Learning 아키텍처: 통신 효율화 및 보안 강화 (0) | 2025.05.04 |
Feature Store 설계와 Feast·Tecton 사용 사례 (0) | 2025.05.04 |
MLOps 파이프라인: MLflow vs Kubeflow 비교 및 실전 구축 (0) | 2025.05.04 |
AI·ML 워크로드용 쿠버네티스 리소스 할당 및 GPU 스케줄링 (0) | 2025.05.01 |