본문 바로가기

Machine Learning

[ML] XAI, Model Interpretability

XAI ?

기계학습 모델은 대부분이 Black-Box이기 때문에 성능이 아무리 좋아도 비즈니스 환경(혹은 군사, 의료영역과 같이 Critical한 영역)에서 모델이 내린 의사결정에 대해 설명할 수 없어 확장, 보급이 어려웠다. 하지만 최근 몇년전부터 미국DARPA 기관에 의해 XAI라는 프로젝트를 통해 XAI가 알려지기 시작하면서 짧은 기간내에 수많은 연구가 이루어지고 있다. 

XAI의 목적은 예측에 영향을 미친 변수를 확인하고 모델이 내린 의사결정을 파악하여 신뢰성을 제고시키고 모델에 설명력을 부여한다. 

 

 

해석 접근 방법

- Global & Local

- Model Specific & Model Agnostic

 

[Global interpretability]
- 모델의 로직 바탕으로 모든 예측과 결과 설명
- 각 구성(weight, structure)을 전체적인 관점으로 모델이 의사결정 한 것을 이해

- 어떤특징(변수)가 모델에서 중요한 역할을 하는지 파악
- Intrinsic 모델은 Global 해석 가능(ex. Decision Tree, Linear Model)
- Global 해석은 이상적이지만, Black Box 모델을 Global post hoc 해석은 매우 까다로움 (모든 예측에 대해서 일정한 설명력을 가질 수 있지만, 개별 예측의 특징에 대한 설명 능력은 다소 떨어짐)

 

[Local interpretability]
- 특정 예측결과에 대한 모델의 의사결정에 대해 설명(혹은 특정 조건이나 구간)
- 설명이 필요한 구간에 대해서만 관찰할 수 있기 때문에 Global 보다 실용적
- 하나의 변수가 선형적인 작용을 할 때, 증가 혹은 감소하면 예측이 어떻게 변하는지 시뮬레이션을 통해 확인 가능

 

Model 해석 방법, 알고리즘 종류

- Feature Importance

- Permutation Importance

- PDP/ICE (Partial Dependence Plot/ Individual Conditional Expectation)

- LIME ( Local Interpretable Model-agnostic Explanation )

- SHAP (SHapley Additive exPlanations)

- Grad CAM (Gradient-weighted Class Activation Map) - for CNN

 

SHAP Value 

- 학습데이터와 학습모델로 설명모델(Surrogate)을 생성하고, 새로운입력에 대해 shapley value 계산
- 입력변수가 학습된 모델 출력에 대해 어떠한 공헌도를 가지는지 설명하는 "Model Agnostic" 방법

 

*개인적으로, Sklearn 에서 MLP모델에 Kernel SHAP 적용하려니, 시간도 오래걸리고 전체 데이터가 아닌 Sampling을 해서 관찰 해야 했음(메모리,연산량 등등의 문제로) -Deep Explainer는 tensor나 keras지원

*반면에 LGBM이나 XGBoost같은 모델에서 TreeExplainer 적용하기 편리했음 (전체 샘플수 6만개정도 사용했을 때, 문제없이 빠르게 연산)

 

Grad CAM

- 기존 CAM의 구조상 한계를 개선한 방법

- CNN에서 weight를 saliency map과 같은 방식으로 시각화하여 모델을 설명

 

 

 

Christoph Molnar, "Interpretable Machine Learning", christophm.github.io/interpretable-ml-book/
 

Interpretable Machine Learning

Machine learning algorithms usually operate as black boxes and it is unclear how they derived a certain decision. This book is a guide for practitioners to make machine learning decisions interpretable.

christophm.github.io

JINHYO AI Blog,[딥러닝] 설명가능 인공지능이란? (A Survey on XAI)
 

[딥러닝] 설명가능 인공지능이란? (A Survey on XAI)

1. 등장배경 요즘 가장 각광받고 있는 AI(인공지능)은 단연 Neural Network(신경망)이다. 원래는 AI가 더 큰 의미를 지닌 단어이지만 근래에는 인기에 힘입어 AI가 Neural Network라는 뜻으로 통용되기도 한

realblack0.github.io

https://jsideas.net/grad_cam/

 

Grad-CAM: 대선주자 얼굴 위치 추적기

a novice's journey into data science

jsideas.net

 

'Machine Learning' 카테고리의 다른 글

Tensorflow CNN  (0) 2023.04.26
[ML] Deep SHAP (DeepLIFT를 중심으로)  (0) 2021.04.15
[ML] Data shuffling Effects  (0) 2020.12.23