본문 바로가기
Explainable AI (XAI)

Explainable AI(XAI), SHAP [3]

by 햇농nongnong 2024. 12. 13.

 

이 글은 서울대학교 '최신 인공지능 기술' 강의 중 곽노준 교수님의 'Explainable & Responsible AI' 강의를 듣고 정리한 글입니다.

 

 

SHAP (SHapley Additive exPlanations; NeurlPS'17)

  • 성능도 좋고, 사람들이 많이 사용하는 방법.

https://github.com/shap/shap

 

  • iput이 age, sex, bp, bmi 4개가 있고, output이 0.4일 때..
    ex) 당뇨라고 하면, 각각의 요소가 중요한 정도가 age는 base 기준, +0.4만큼 contribution 한 것. 
          당뇨의 경우, 여성의 경우 -0.3.. 여성은 좀 덜 걸린다.. 이런 느낌..
  • 이런걸 어떻게 설명?
  • Shapley 라는 노벨 경제학상 받은 분 - SHAP의 A는 "Additive" 니까 서로 cooperative한 영향. 그 사람이 얼마나 영향을 미쳤는지..

Shapley value

 

https://velog.io/@jbeen2/XAI-SHAP-SHapley-Additive-exPlanation

 

 

  • 3 sellers sold 10K units
  • expected marginal contribution
  • 3명이 만개의 빵을 팔았다면, 각각 기여도를 구하기 위해, 모두가 함께 판 경우 Cabc는 만개, a빼고 b,c만 판 경우 Cbc는 5000개 .. Cab=7500, Cac=7500 일 때 a가 빠졌을 때 가장 못팔았으니 직관적으로 a의 영향력이 큼.
  • 이런식으로 Cabc-Cbc, Cab-Cb.. 등등 linear combination으로 expected marginal contribution 구할 수 있음.
  • 어떻게 구하느냐.. --> 수열을 구하는 것임. A, B , C 세 사람이니 3*2*1 = 6개의 수열(ordered list).
  • abc, acb, bac, bca, cab, cba 6개의 수열. 근본적인 가정은 모든 수열은 같은 확률로 있을 것이다라는 가정.

A의 기여도 구하기

  • A의 기여도 4가지 케이스 : 1) abc 세 명 같이 할 때  bc 같이 할 때 뺀 것, 2) ab 만 같이 할 때, b 혼자 할 때 뺀 것, 3) ac만 같이 할 때, c 혼자 할 때 뺀 것, 4) a만 혼자 할 때.
  • Expected Marjinal Contribution 중
  • 첫 번째, 다 같이 일한 것 중에 a 의 기여도 = 다같이 - a빼고 b,c 같이 할 때
    Cabc-Cbc : 
    Cbc는 a가 맨 나중에 있는 것 (=bca, cba) = 두 가지 케이스 / 6 = 1/3
    따라서 Cabc-Cbc의 차이인 5000에다가 1/3을 곱하게 됨.
  • 두 번째, Cab-Cb의 경우는 c 가 빠진 경우니까, c가 맨 뒤에 있고, a가 중간에 있는 것만 찾으면 됨 (=bac). --> 1가지 케이스 = 1/6
  • Cac-Cc의 경우는 b 가 빠진 경우니까, b가 맨 뒤에 있고, a가 두번째에 있는 것. --> cab 1가지 케이스 = 1/6
  • Ca-C0의 경우는 a가 맨 앞에 있고, 아무것도 없는 것 = abc, acb = 2/6 = 1/3
  • 수열 6개는 모두 다 한번씩 들어가게 됨. 다 합치면 1이 됨. 그래서 expected marginal contribution이라고 부름.
  • 즉, 위 계산 결과, A라는 사람의 expected marginal contribution은 5000이다 라고 할 수 있음. 
  • B, C 도 각각 구해보면 A가 contribution이 가장 큰 것을 알 수 있음.
    B : Cabc-Cac(2500)*1/3 + Cab-Ca(2500)*1/6   + Cbc-Cc(0)*1/6+ Cb-C0(5000)*1/3 = 2917
    C : Cabc-Cab(2500)*1/3 + Cac-Ca(2500)*1/6 + Cbc-Cb(0)*1/6 + Cc-C0(5000)*1/3 = 2917

 

더 case 가 많아지면, 아래와 같은 꼴로 일반화 할 수 있음.

https://velog.io/@jbeen2/XAI-SHAP-SHapley-Additive-exPlanation 하

  • 하나의 특성에 대한 중요도를 알기 위해, 여러 특성들의 조합을 구성하고, 해당 특성의 유무에 따른 평균적인 변화를 통해 값 계산.
  • 5개 데이터 중 세 번째 데이터에 대한 Shapley Value 구한다고 하면, i=3, S는 0, 1, 2, 4번째 데이터에 대한 부분 집합, F는 5!

Shapley Value의 단점

  • binary 밖에 안됨. 일을 하고 / 안하고. 중간에 50 % 일하고 이런 식은 안됨.
  • 모든 permutation이 확률이 다 똑같다고 가정한 것이 단점. A,B,C가 동시에 일 하는 확률이 사실 훨씬 높을 것임. 각자가 아파서 못 나오는 것 보다.. 그런데 이런 것 가중치 없이 고려 못함.. 이런 단점이 있지만 그래도 수학적으로 background가 탄탄한 방법임.

 

Additive Feature Attribution Methods

 

 

https://velog.io/@jbeen2/XAI-SHAP-SHapley-Additive-exPlanation

 

  • Additive Feature Attribution Methods 는 binary 인풋을 다루는 explanation 모델이 개별적으로 있는 방법론. LIME, Shapley Value 등이 해당됨.
  • z'은 binarize 못하는것을 어떻게든 binary로 만듦. input x' 이 binary 가 아니라면 어떻게든 binary인 z'로 바꿈.
  • g라는 네트워크와는 다른 explanation model이 별도로 있어야 함.

 

 

 

 

 

 

 

 Reference 

  • Explainable & Responsible AI  - Prof. Nojun Kwak, Seoul National University

 

댓글