강의 및 자료 : 서울대 DSBA 연구실 (https://youtu.be/8xhQ4oIBAnY?si=8dBSApHsTiceYSvP)
📌 XAI : Additive Feature Attribution Methods (SHAP & Shapley Value) 정리
이번 강의에서는 SHAP(Shapley Additive Explanations)과 그 핵심 개념인 Shapley Value를 중심으로 XAI 기법을 다룬다. 이를 이해하기 위해 협력적 게임 이론(Cooperative Game Theory)을 기반으로 한 설명 방법과 머신러닝 모델에서의 적용 방식도 함께 살펴본다.
1️⃣ 배경 설명: 협력적 게임 이론과 Shapley Value
- Shapley Value는 협력적 게임 이론에서 각 플레이어(변수)가 게임(예측)에 기여한 정도를 공정하게 배분하는 방법론
- 협력적 게임 이론 개념:
- 참가자(플레이어) 집합: 예측 모델에서는 변수(feature)에 해당
- 협력체(Coalition): 특정 변수들의 조합이 모델의 예측에 미치는 영향을 측정
- 가치 함수(Value Function): 특정 변수 조합이 모델 예측에 기여하는 정도를 나타냄
- 분배 과정(Allocation Process): 변수별 기여도를 공정하게 배분하는 과정
- Shapley Value의 핵심 성질:
- 효율성(Efficiency): 기여도의 총합이 전체 모델 예측값과 같아야 함
- 위장 플레이어(Dummy Player): 기여도가 없는 변수는 0의 기여도를 가짐 (무임승차 방지)
- 대칭성(Symmetry): 동일한 기여도를 가지는 변수는 동일한 값을 가져야 함
- 강한 단조성(Strong Monotonicity): 기여도가 더 높은 변수는 더 큰 값을 받아야 함
- 가산성(Additivity): 개별 모델에서 기여한 값을 합산하여 전체 모델 기여도로 활용 가능
2️⃣ SHAP(Shapley Additive Explanations) 개념
- Shapley Value를 확장한 방법론으로 변수의 중요도를 설명하는 대표적인 XAI 기법
- 기존 XAI 기법(LIME, DeepLIFT 등)과 달리 Additive Feature Attribution을 기반으로 모델-불가지론(Model-agnostic) 방식으로 작동
- SHAP의 목표는 각 변수의 중요도를 계산하여 모델 예측에 대한 설명을 제공하는 것
- SHAP과 기존 XAI 기법 비교:
- LIME: 특정 데이터 포인트 주변에서 선형 모델을 학습해 기여도를 추정
- DeepLIFT: 신경망 모델의 뉴런 활성화 차이를 기반으로 기여도를 평가
- SHAP: Shapley Value를 기반으로 한 기여도 평가, 가장 이론적으로 타당한 방식
3️⃣ 머신러닝에서 Shapley Value 적용
- 게임(Game) ↔ 머신러닝 예측 문제(Precision Task)
- 플레이어(Player) ↔ 머신러닝 모델의 변수(Feature)
- 가치 함수(Value Function) ↔ 머신러닝 예측 함수(Prediction Model)
- SHAP의 주요 특징:
- 로컬 설명(Local Explanation): 개별 샘플에 대한 예측 기여도를 설명
- 모델-불가지론(Model-Agnostic): 선형 모델, 트리 모델, 신경망 등 다양한 모델에서 활용 가능
- Shapley Value의 공정성 유지: 앞서 설명한 5가지 성질을 만족
- SHAP의 수식적 정의:
- 각 변수의 기여도를 계산하는 방식은 Shapley Value 공식과 유사
- 모든 변수 조합을 고려하여 각 변수의 기여도를 평균적으로 계산
4️⃣ SHAP의 계산 방식 및 한계
- Shapley Value 계산 시 문제점:
- 변수 개수가 많아질수록 조합의 개수(순열의 경우의 수)가 급격히 증가 → 계산 부담이 큼
- 이를 해결하기 위해 Shapley Sampling Value(샘플링 기반 방법) 사용
- 기본적으로 몬테카를로 샘플링을 활용하여 일부 변수 조합만 선택하여 근사치 계산
- Kernel SHAP:
- LIME과 SHAP을 결합한 방법론
- 모델의 예측값과 변수 기여도를 선형 회귀 모델로 근사
- 가중치를 적용하여 변수의 중요도를 계산
5️⃣ SHAP의 시각화 및 실험 결과
1. Tabular 데이터셋 분석 (Regression Task)
- SHAP을 이용한 변수 중요도 분석:
- SHAP을 이용해 개별 변수의 기여도를 확인 가능
- 변수를 추가하면서 모델의 예측값 변화 분석
- 절댓값 평균을 통해 전체 변수 중요도 확인
2. 이미지 분류(Image Classification)
- MNIST 데이터셋을 이용한 CNN 모델 분석:
- SHAP을 활용하여 이미지 픽셀별 중요도를 시각화
- 숫자 ‘8’은 ‘3’과 비슷한 형태를 가지며, 모델도 유사한 특징을 인식하는 경향 확인
- 픽셀 단위에서 모델이 어느 부분을 집중적으로 학습했는지 시각적으로 분석 가능
6️⃣ SHAP의 실무 적용 및 활용 가이드
- SHAP을 사용하는 이유:
- 모델의 투명성 및 신뢰성 향상: XAI 연구에서 가장 강력한 방법론 중 하나
- 변수 중요도 분석: AI 모델의 의사결정 과정을 이해하는 데 필수적
- 특정 모델에 종속되지 않음: 모델에 의존하지 않는 일반적인 설명 방법
- SHAP을 적용할 때 고려해야 할 사항:
- Tabular 데이터 분석: 모델이 변수들을 어떻게 사용하고 있는지 파악
- 이미지 및 텍스트 데이터 분석: 픽셀 및 단어 수준에서 모델의 의사결정 과정 분석 가능
- 컴퓨팅 리소스 문제: 변수 수가 많으면 계산량이 급증할 수 있음 → 샘플링 기법 활용
- LIME과 비교 시: Kernel SHAP이 LIME보다 더 안정적인 결과를 제공
7️⃣ 결론 및 시사점
- SHAP은 가장 이론적으로 공정한(XAI 평가 기준을 충족하는) 설명 방법론
- Shapley Value의 공정한 배분 원칙을 머신러닝 변수 중요도 평가에 적용
- LIME, DeepLIFT 등과 비교해도 이론적 근거가 확실하고, 모델 독립적으로 사용 가능
- 다만, 계산량이 많아지는 문제를 해결하기 위한 최적화 방법이 필요
- 추천 사항:
- 머신러닝 모델을 분석할 때 Kernel SHAP 사용 추천
- 딥러닝 모델에는 Deep SHAP(DeepLIFT 기반) 적용 가능
- LIME보다는 SHAP을 사용하는 것이 더 일반적으로 추천됨
SHAP은 XAI 기법 중에서도 가장 이론적으로 정교하며, Shapley Value를 기반으로 모델 예측을 설명하는 강력한 방법론임을 알 수 있었다. 협력적 게임 이론의 개념을 머신러닝에 적용하여 공정한 변수 기여도를 계산하는 점이 인상적이었다. 하지만, 변수 수가 많아지면 계산량이 기하급수적으로 증가한다는 한계가 있다. 이를 극복하기 위해 샘플링 기법, Kernel SHAP, Deep SHAP 등이 활용되고 있다.
'XAI' 카테고리의 다른 글
XAI : Introduction - Part 2 (4) # Software Packages and Limitations, Future Directions (0) | 2025.02.23 |
---|---|
XAI : Introduction - Part 2 (3) # Evaluation Metrics (0) | 2025.02.21 |
XAI : Introduction - Part 2 (2) # Evaluation (0) | 2025.02.21 |
XAI : Introduction - Part 2 (1) # Usage (0) | 2025.02.21 |
XAI : Introduction - Part 1 (2) (0) | 2025.02.20 |