Explainable AI
와 관련이 있는 Shapley Value
에 대해서 간단하게 알아보겠다.
우리가 흔히 알고있는 뉴럴네트워크 모델의 구조는 위와 같다.
Input layer와 Hidden layer의 가중치들이 복합적인 계산을 통해서 Output layer의 결과로 나온다.
우리는 위의 구조를 통해서 Output을 도출할 수 있지만 왜 이러한 Output이 나왔는지는 알 수 없다.
Input의 어떤 부분들이 크게 반영되어서 Output이 이렇게 나왔는지를 알 수 없다는 점 때문에 그런 것들을 알 수 있게 해주는 Explainable AI
라는 개념이 도입되었다.
오늘 알아볼 Shapley Value
도 Explainable AI
의 한 예이다.
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
는 위와 같은 장점과 단점을 지닌다.
오늘은 Explainable AI
와 Shapley Value
에 대해서 간단하게 알아보았다.
또한 필자는 고려대학교 김성범 교수님이 운영하시는 유튜브 채널을 보고 공부한 내용을 포스팅 하였으므로 아래 출처를 남긴다.
https://www.youtube.com/@user-yu5qs4ct2b