Deep SHAP (DeepLIFT + Shapley Value)
: Lundberg와 Lee (2016)가 제안한 SHAP에서 신경망 구조를 가진 모델을 설명하는 방법
필자가 이해한 바를 한마디로 정리하자면 "DeepLIFT를 Shapley value계산하는 방식으로 적용했다" 이다.
DeepLIFT와 Shapley Value를 어떻게 결합했는지 DeepLIFT를 중점으로 이해한 내용을 설명한다.
DeepLIFT(Deep Learning Important FeaTures)
Author : Shrikumar, Avanti, Peyton Greenside, and Anshul Kundaje
배경 : Gradients * Input을 통해 특징의 중요도를 책정하는 방법인 Gradients 기반의 방법을 '참조' 에 대한 변화양 개념을 도입해서 한계점을 개선
*Gradients 기반 방법의 한계점 (Figure 2)
1. Input의 변화에 따라 Output의 변화가 있어도 Gradient가 0이면 input의 기여도가 0으로 책정됨
2. 불연속지점에 대한 측정 불가
여기에서 말하는 참조활성값 t0을 SHAP에서는 기준값(baseline)으로 해석할 수 있는 듯 하다. 논문에서 말하는 sum(C∆xi∆t) = ∆t 이 식은 SHAP에서 Predictions = Base value + Sum(Contributions) 과 일맥상통하게 된다.
또한 Output 변화량에 대한 Input 변화의 기여도는 선형모델일 때, gradient와 같아진다.
저자는 gradient가 0이라도 C는 0이 되지 않기 때문에 gradient 기반의 설명 방법의 단점을 개선했다 라고 한다.
DeepLIFT와 Shapley value의 관계
DeepLIFT는 one-pass 역전파를 통해 예측값에 대한 입력값의 효과를 계산하고, Shapley Value는 기여도 책정할 특징 i(x = {x1, ... , xi, ... , xn})를 포함할 때와, 나머지 특징들(x = {x1, ... ,xi-1, xi+1, ... , xn})의 가능한 모든 조합으로 예측한 값과 차이를 통해 입력값의 효과를 계산한다.
DeepSHAP는 가능한 모든 하위 집합에 대한 예측치를 구하는 식에 DeepLIFT 방법을 사용하여 각 특징의 기여도를 측정하는 방법이다.
'Machine Learning' 카테고리의 다른 글
Tensorflow CNN (0) | 2023.04.26 |
---|---|
[ML] Data shuffling Effects (0) | 2020.12.23 |
[ML] XAI, Model Interpretability (0) | 2020.11.27 |