SHAP(SHapley Additive exPlanations)는 머신러닝 모델의 출력을 해석하기 위한 프레임워크입니다. 이는 협동 게임 이론, 특히 Shapley 값의 개념을 기반으로 특정 예측에 대해 각 특성에 중요도 값을 할당합니다. 이 방법은 여러 기존 특성 기여도 기법을 단일 가산 설명 모델로 통합하여, 다양한 입력 특성이 모델 출력에 어떻게 기여하는지 이해하는 이론적으로 근거 있는 방식을 제공합니다.
SHAP의 핵심 아이디어는 예측을 각 특성의 기여도 합과 기본 값(평균 예측)으로 분해하는 것입니다. 이러한 가산 구조는 설명을 직관적으로 만듭니다. 주어진 인스턴스에 대해 예측은 기본 값에 모든 특성의 SHAP 값 합을 더한 것과 같습니다. 이 방법은 국소 정확성(기여도의 합이 예측과 같음), 일관성(모델이 변경되어 특성의 중요도가 높아지면 그 기여도가 감소하지 않음), 결측성(기여도가 없는 특성은 0의 기여도를 받음)과 같은 바람직한 속성을 충족합니다.
기원 및 이론적 기초
SHAP은 2017년 워싱턴 대학의 Scott Lundberg와 Su-In Lee가 발표한 논문에서 소개되었습니다. 이름은 SHapley Additive exPlanations의 약자로, 1950년대 노벨상 수상자 Lloyd Shapley가 개발한 협동 게임 이론의 Shapley 값을 참조합니다. Shapley 값은 연합 게임에서 플레이어 간 총 보상을 그들의 한계 기여도에 기반하여 공정하게 분배하는 방법을 제공합니다. 머신러닝 맥락에서 "플레이어"는 입력 특성이고, "보상"은 모델의 예측입니다.
이론적 기초는 LIME(Local Interpretable Model-agnostic Explanations), DeepLIFT, 계층별 관련성 전파를 포함한 특성 기여도에 대한 초기 연구를 기반으로 합니다. SHAP은 특성 독립성에 대한 다양한 가정 하에 이러한 방법들 중 다수가 Shapley 값의 근사치임을 보여줌으로써 이를 통합합니다. 이러한 통합은 설명 방법을 비교하고 개선하기 위한 원리 있는 프레임워크를 제공합니다.
가산 설명 모델
SHAP은 설명을 가산 특성 기여도 방법으로 정의하며, 여기서 출력 모델은 특성의 존재 여부를 나타내는 이진 변수의 선형 함수입니다. 공식적으로 예측 f(x)에 대해 설명 g(z')은 다음과 같이 정의됩니다:
g(z') = φ0 + Σ φi z'i
여기서 z'은 단순화된 입력 벡터(1은 특성 존재, 0은 부재를 나타냄), φ0는 기본 값(일반적으로 배경 데이터셋의 평균 예측), φi는 각 특성의 SHAP 값입니다. 이 공식은 설명이 국소적으로 정확함을 보장하며, 즉 z'이 실제 입력에 해당할 때 g(z')이 f(x)를 근사합니다.
SHAP 값은 조건부 기대 함수의 Shapley 값으로 계산됩니다. 특성 i의 SHAP 값은 모든 가능한 특성 부분집합에 대한 한계 기여도의 가중 평균이며, 여기서 기여도는 다른 특성을 관측 값으로 유지한 상태에서 특성이 포함된 경우와 제외된 경우의 모델 예측 차이입니다.
계산 방법
정확한 SHAP 값을 계산하는 것은 계산 비용이 많이 들며, 특성 수 M에 대해 2^M개의 부분집합 모두에서 모델을 평가해야 합니다. 이를 해결하기 위해 여러 근사 알고리즘이 개발되었습니다:
- KernelSHAP: 가중 선형 회귀를 사용하여 Shapley 값을 근사하는 모델 비의존적 방법입니다. 모든 모델을 블랙 박스로 취급하여 작동하지만, 대규모 데이터셋에서는 느릴 수 있습니다.
- TreeSHAP: 트리 기반 모델(랜덤 포레스트, 그래디언트 부스팅 등)을 위한 효율적인 알고리즘입니다. 트리 구조를 활용하여 다항 시간에 정확한 SHAP 값을 계산하여 대규모 앙상블에 실용적입니다.
- DeepSHAP: DeepLIFT의 역전파 접근 방식을 기반으로 한 심층 신경망용 적응 방법입니다. 빠른 근사를 제공하지만 정확하지 않을 수 있습니다.
- GradientSHAP: 미분 가능한 모델에 대해 그래디언트를 사용하여 SHAP 값을 근사하며, 계산 효율적인 대안을 제공합니다.
TreeSHAP은 2018년 Lundberg 등의 후속 논문에서 소개되었으며, XGBoost 및 LightGBM과 같은 그래디언트 부스팅 모델의 광범위한 사용으로 인해 특히 인기를 얻었습니다. 이는 O(TLD^2) 시간에 정확한 계산을 가능하게 하며, 여기서 T는 트리 수, L은 리프 수, D는 최대 깊이입니다.
모델 해석에서의 응용
SHAP은 국소 및 전역 해석 가능성 모두에 널리 사용됩니다. 국소 설명의 경우 "모델이 이 인스턴스에 대해 이 특정 예측을 한 이유는 무엇인가?"라는 질문에 답합니다. 이는 신용 평가, 의료 진단, 사기 탐지와 같은 분야에서 개별 결정을 이해하는 것이 신뢰와 규제 준수에 중요하기 때문에 가치가 있습니다.
전역 설명의 경우 SHAP 값은 데이터셋 전체에 걸쳐 집계되어 전반적인 특성 중요도를 보여줄 수 있습니다. 일반적인 시각화는 다음과 같습니다:
- 요약 플롯: 각 특성의 SHAP 값 분포를 보여주며, 특성이 다양한 인스턴스에서 예측에 어떻게 영향을 미치는지 드러냅니다.
- 의존성 플롯: 특성 값과 해당 SHAP 값 간의 관계를 표시하며, 종종 비선형 패턴이나 상호작용을 드러냅니다.
- 포스 플롯: 개별 예측을 기본 값에서 예측을 밀어내는 힘으로 시각화하며, 특성은 기여도에 따라 색상으로 구분됩니다.
이러한 도구는 데이터 과학자가 모델 동작을 주도하는 특성을 식별하고, 잠재적 편향을 감지하며, 모델이 도메인 지식과 일치하는지 검증하는 데 도움을 줍니다.
다른 설명 방법과의 관계
SHAP의 이론적 프레임워크는 여러 다른 해석 가능성 기법과 연결됩니다. 예를 들어 LIME은 특정 가중 커널을 가진 KernelSHAP의 특수 사례로 볼 수 있습니다. DeepLIFT와 계층별 관련성 전파도 관련이 있지만, 특성 독립성에 대해 다른 가정을 합니다. SHAP이 제공하는 통합은 실무자가 다양한 방법의 기반이 되는 가정을 이해하고 사용 사례에 적합한 방법을 선택할 수 있게 합니다.
한 가지 주요 차이점은 모델 비의존적 방법(KernelSHAP 등)과 모델 특정 방법(TreeSHAP 등) 사이입니다. 모델 비의존적 방법은 모델을 블랙 박스로 취급하고 모든 예측 함수에 적용할 수 있는 반면, 모델 특정 방법은 효율성과 정확성을 위해 내부 구조를 활용합니다. SHAP은 두 패러다임을 모두 지원하여 다양한 모델 유형에 걸쳐 다재다능합니다.
한계 및 비판
인기에도 불구하고 SHAP에는 몇 가지 한계가 있습니다. Shapley 값 계산은 조건부 기대 추정 시 특성 독립성을 가정하며, 이는 특성이 상관관계가 있을 때 비현실적인 반사실적 상황을 초래할 수 있습니다. 예를 들어 두 특성이 높은 상관관계를 가질 때, SHAP은 실제로 둘 다 필수적임에도 하나에 중요도를 할당하고 다른 하나를 무시할 수 있습니다.
또 다른 문제는 대규모 모델과 데이터셋에 대한 계산 비용입니다. TreeSHAP은 효율적이지만, KernelSHAP은 많은 특성이나 대규모 배경 데이터셋을 가진 모델에 대해 엄청나게 느릴 수 있습니다. 근사 방법은 분산을 도입하며, 결과는 배경 데이터 선택에 민감할 수 있습니다.
비판자들은 또한 SHAP 값이 기여도를 제공하지만 인과적 설명은 제공하지 않는다고 지적합니다. 이는 특성이 예측과 어떻게 상관관계가 있는지 설명하지만, 특성이 변경될 경우 어떤 일이 발생하는지는 설명하지 않습니다. 이 구분은 인과적 이해가 요구되는 고위험 응용 분야에서 중요합니다.
소프트웨어 구현
여러 소프트웨어 라이브러리가 SHAP을 구현합니다. 주요 라이브러리는 Lundberg가 개발하고 오픈 소스 커뮤니티가 유지 관리하는 shap Python 패키지입니다. 이는 scikit-learn, XGBoost, LightGBM, CatBoost, PyTorch를 포함한 인기 있는 머신러닝 프레임워크와의 통합을 지원합니다. 패키지는 요약 플롯, 의존성 플롯, 포스 플롯을 위한 시각화 함수와 다양한 알고리즘으로 SHAP 값을 계산하는 유틸리티를 제공합니다.
R(예: shapviz 패키지) 및 상용 플랫폼에도 다른 구현이 존재합니다. 많은 클라우드 제공업체, 특히 Amazon Web Services 및 Google Cloud는 머신러닝 서비스에서 SHAP 기반 설명 기능을 제공하여 더 넓은 사용자층이 이 방법에 접근할 수 있게 합니다.
영향 및 향후 방향
SHAP은 Machine learning 커뮤니티에서 모델 해석 가능성을 위한 가장 널리 사용되는 도구 중 하나가 되었습니다. 이론적 근거와 실용적 구현은 전통적인 모델과 Deep learning 시스템을 설명하는 표준 선택이 되게 했습니다. 이 방법은 수천 개의 연구 논문에서 참조되며 많은 프로덕션 파이프라인에 통합되었습니다.
연구는 SHAP의 효율성 개선, 특성 의존성의 더 정확한 처리, Transformer (architecture) 기반 Large language model과 같은 새로운 모델 유형으로의 확장에 계속 초점을 맞추고 있습니다. 최근 작업은 생성 모델 설명 및 개념 드리프트 감지에 SHAP을 사용하는 것을 탐구합니다. AI 투명성에 대한 규제가 강화됨에 따라 SHAP과 같은 방법은 자동화된 의사 결정에서 책임성과 신뢰를 보장하는 데 점점 더 중요한 역할을 할 가능성이 높습니다.