[DL] Shapley Value

박건·2023년 10월 16일
0

[DL] Deep Learning

목록 보기
4/6

0. 들어가며


Explainable AI와 관련이 있는 Shapley Value에 대해서 간단하게 알아보겠다.

1. Explainable AI


우리가 흔히 알고있는 뉴럴네트워크 모델의 구조는 위와 같다.

Input layer와 Hidden layer의 가중치들이 복합적인 계산을 통해서 Output layer의 결과로 나온다.

우리는 위의 구조를 통해서 Output을 도출할 수 있지만 왜 이러한 Output이 나왔는지는 알 수 없다.

Input의 어떤 부분들이 크게 반영되어서 Output이 이렇게 나왔는지를 알 수 없다는 점 때문에 그런 것들을 알 수 있게 해주는 Explainable AI라는 개념이 도입되었다.

오늘 알아볼 Shapley ValueExplainable AI의 한 예이다.

2. Shapley Value


Shapley Value의 개념은 기본적으로 game theory에서 비롯되었다. 그러나 game theory에 대해서 구체적으로 알아야할 필요는 없다고 한다.

위 사진의 예제문제에 대한 답을 구하면 아마 민철이일 것이다.
민철이가 빠졌을 때의 시험 점수 차이가 가장 크게 벌어졌기 때문이다.

이렇듯, 어떤 변수가 결과에 얼마만큼의 영향을 주었는지를 계산할 수 있다면 Explainable AI의 목적을 달성할 수 있을 것이다.

위의 예제를 보면 입력 변수는 X1, X2, X3 총 3가지이고, 변수가 3개이므로 case는 총 8개가 나옴을 확인할 수 있다.
또한 각 case별로 예측 값이 나와있다.
이러한 예제 데이터에서 Shapley Value의 계산과정을 알아보자.

우선 X1 변수의 Shapley Value부터 계산을 해볼 것이다.
위 그림을 보면 각 case별로 예측 값을 빼준 값들이 적혀있다.

각각의 값들은 자세히 보면 X1 사용여부는 다르고, X2와 X3의 사용여부는 같은 것들의 차임을 알 수 있다.

변수 1개만 사용하는 경우는 위와 같이 총 3가지 경우이다.
그 중 X1을 제거 가능한 경우는 case 2, 1가지이므로 가중치는 1/3로 나타낼 수 있다.
(cf. X1의 Shapley Value를 구하는 것이므로 X1을 기준으로 보는중)

변수 2개만 사용하는 경우는 위와 같이 총 3가지이다.
두 변수 중 한 변수를 제외하는 경우는 총 6가지이다.

그 중, X1 X2는 사용하면서 X1을 제외할 수 있는 경우는 1가지이므로 그때의 가중치는 1/6로 나타낼 수 있다.

마찬가지로 X1, X3는 사용하면서 X1을 제외할 수 있는 경우는 1가지이므로 그때의 가중치는 1/6으로 나타낼 수 있다.

마지막으로 변수 3개를 사용하는 경우는 1가지이다.
세 변수 중 한 변수를 제외하는 경우는 3가지이다.
그 중 X1을 제외할 수 있는 경우는 1가지이므로 그때의 가중치는 1/3으로 나타낼 수 있다.

따라서 X1의 Shapley Value는 각 예측값의 차에서 가중치를 곱해준 것들의 합으로 나타낼 수 있고, 위 예제에서는 3으로 값이 나왔다.

위의 과정을 X2와 X3에 대해서도 진행하면 각 변수의 Shapley Value는 위처럼 나타낼 수 있다.

이때, 특수한 점은 모든 Shapley Value의 합을 구하면 7이다. 이는 (case 8 예측값 - case 1 예측값)과 동일하다.

방금까지는 예시 데이터로 값을 구한 것이고, 실제 논문에서의 수식은 위와 같이 나타난다.
관심 관측치마다 위와 같은 계산이 필요하기에 많은 연산량이 소요된다.

Shapley Value를 이용하여 데이터 해석은 위처럼 할 수 있다.

이러한 Shapley Value는 위와 같은 장점과 단점을 지닌다.

3. 마치며


오늘은 Explainable AIShapley Value에 대해서 간단하게 알아보았다.

또한 필자는 고려대학교 김성범 교수님이 운영하시는 유튜브 채널을 보고 공부한 내용을 포스팅 하였으므로 아래 출처를 남긴다.
https://www.youtube.com/@user-yu5qs4ct2b

profile
예비대학원생

0개의 댓글