본문 바로가기
AI-driven Methodology/XAI (eXplainable AI)

[eXplainable AI] XAI method : LIME

by goatlab 2022. 2. 10.
728x90
반응형
SMALL

LIME

 

LIME (Local Interpretable Model-agnostic Explanations)은 블랙박스 ML 모델의 개별 예측을 설명하는 데 쓰이는 해석 가능한 (interpretable) 모델이다.

 

Surrogate Model

 

Surrogate란, 본래 기능을 흉내내는 대체재를 만들어 프로토타입이 동작하는지 판단하는 분석 방법이다. XAI에서도 원래 AI 모델이 너무 복잡하여, 연산적인 제약으로 분석이 불가할 때 유사한 기능을 흉내내는 AI 모델 여러 개를 만들어 분석하는 것을 말한다.

 

https://www.semanticscholar.org/paper/Surrogate-modeling-for-large-scale-black-box-Liem/891e42ad00fc693b2641b97a2b0539a4f18900ef

 

분석해야 하는 모델을 f라고 할 때, 이를 흉내내는 모델 g를 만드는 것이 surrogate 분석이다. 이때 모델 g의 학습 방식은 f와 같을 수도, 다를 수도 있다.

 

모델 g의 조건

- 모델 f보다 학습하기 쉽다. 

- 설명 가능하다. 

- 모델 f를 유사하게 흉내낼 수 있다.

- 학습 데이터 전부를 사용한다.

- 데이터 label 별로 혹은 데이터 일부만 사용한다.

 

원본 모델을 흉내낸 모델 g는 정확도가 떨어지지만 모델 f를 설명할 수 있는 장점이 있다. 학습 데이터 (일부 혹은 전체)를 사용해 surrogate 모델을 구축하는 것을 global surrogate analysis라 하고, 학습 데이터 하나하나를 해석하는 과정을 local surrogate analysis라고 한다.

 

LIME은 local surrogate model을 구체적으로 구현한 방법이다. Surrogate 모델은 기저에 있는 블랙박스 모델의 예측을 근사하도록 학습된다. 전역적 (global) surrogate model을 학습하기보단 개별 예측을 설명하기 위해 local surrogate model을 학습하는 데 집중한다. 

 

LIME은 입력 데이터의 변형을 가했을 때 모델 예측에 어떠한 변화가 일어나는지 테스트한다. 교란된 (perturbed) 샘플과 이에 대응하는 black box 모델의 예측값들로 이루어진 새로운 데이터셋을 생성한다. 이러한 기반에서 관심있는 관측치 (인스턴스)에 대한 샘플링된 관측치의 근접성 (proximity)에 의해 weight가 부여된 해석 가능한 모델을 학습한다.

 

이때 학습된 모델은 국소적으로 모델의 예측을 잘 근사해야 하지만, 전역적으로 근사가 잘 될 필요는 없다. 이 정확도는 국소적 정확도 (local fidelity)라고도 불린다.

 

LIME for Text

 

텍스트 데이터는 테이블, 이미지 데이터와 다른 방식으로 변형이 이루어진다. 새로운 텍스트는 원래 텍스트에서 임의로 단어를 제거하여 만들어진다. 데이터셋은 각 단어에 대해 이진 변수로 표현되는데, 단어가 변수에 포함되면 1, 제거되면 0의 값을 지닌다.

 

LIME for Images

 

이미지 데이터에 대한 LIME은 테이블이나 텍스트 데이터와는 다르게 작동한다. 하나 이상의 pixel이 하나의 class에 기여하므로 단일 pixel을 perturb하는 것은 적절하지 않다. 개별 pixel을 바꿔도 모델의 예측에 별다른 영향을 미치지 않을 것이다. 

 

따라서 슈퍼픽셀 분할 (segmentation) 및 마스킹 과정을 통해 이미지의 변형이 일어난다. 슈퍼픽셀은 유사한 색상의 pixel을 연결한 것으로 사용자가 제공한 색상 (회색 등)으로 각 pixel을 교체하여 끌 수 있다. 사용자는 또한 각 샘플 permutation (변형)에서 슈퍼픽셀을 끌 확률을 정할 수 있다.

 

LIME for Tabular Data

 

LIME 샘플링은 관심있는 관측치 주변에서 이루어지는 것이 아니라 학습 데이터의 중심에서 수행된다. 샘플링 과정에서는 관심있는 데이터 포인트에 대한 정보가 전혀 사용되지 않는다. 관심있는 데이터 포인트의 "이웃" 개념이 도입된 것은 커널 함수를 사용하여 샘플링된 데이터 포인트들과 관심있는 데이터 포인트 사이의 거리에 따라 weight를 다르게 준 이후이다.

 

Conclusion

 

- LIME은 기반이 되는 머신러닝 모델을 바꾸더라도 동일하게 사용하여 설명할 수 있다. 

- LASSO나 얕은 의사결정나무를 사용할 때 결과에 대한 설명은 짧고 대비되는 결과를 잘 보여줄 수 있다. (인과관계를 완전히 설명하기에 충분하지 않기 때문에 복잡한 시나리오에는 LIME을 사용하지 않는다.) 

- 테이블, 텍스트, 이미지 데이터에 모두 사용할 수 있는 방법이다.

- 테이블 데이터에 LIME을 사용할 때 이웃 영역 (neighborhood)을 올바르게 정의하는 것은 큰 문제지만, 아직까지 해결되지 않았다. 최적의 커널 너비는 heuristics하게 찾아야 한다. 

- LIME은 샘플링 (변수 간 상관관계는 무시한 채 정규분포로부터)을 통해 결정 경계를 확정짓기 때문에 코드를 실행할 때마다 다른 결과를 보일 수 있다. 이를 non-deterministic하다고 표현한다.

 

728x90
반응형
LIST