내가 공부한 내용들을 남겨놓고 싶어서 작성한다.
LIME
Local Interpretable Model-agnostic Explanations
Local: 일부 예측 결과에 대해서만 설명
Model-agnostic: 모델을 설명하기 위해 모델 밖에서 근거를 찾는다. 모델에 상관없이 적용가능하다 (surrogate 모델..)
즉, LIME이란 대체 모델을 사용하여 일부 예측 결과에 대해 설명하는 기법을 말한다.
Surrogate model
아래 슬라이드에서 model-agnostic 기법 중 하나인 surrogate 모델에 대해 알아본다.
대리 모델(surrogate model)을 만들어서 original 모델을 설명하는 기법이다.
즉, surrogate 모델이 original 모델의 예측값을 정답으로 삼아 학습을 한다.
이때, surrogate 모델로는 decision tree, linear model과 같은 구조가 단순하고 모델 자체로도 해석력을 확보한 모델을 사용한다.
이게 잘될까 싶었지만.. 모델 학습에 중요한 변수는 어떤 모델을 쓰나 중요하게 쓰일 것이라는 직관으로 이해할 수 있을 것 같긴 하다.
다시, LIME 기법
- Local surrogate model을 생성하기 위해 제안된 방법론이다.
- LIME의 핵심 가정: 비선형적인 패턴을 학습한 머신러닝 모델이라도 국소적으로 보면 선형 모형으로 설명할 수 있다.
- 관측치 x를 잘 해석하는 모델을 찾는 것이 목표다!
- Surrogate 모델은 블랙박스 모델의 예측을 "근사"하도록 학습된다.
- 다만, global(전역적) surrogate model을 학습하기보단 개별 예측을 설명하기 위해 local surrogate model을 학습하는 데 집중한다.
- 기존과 달리, 성능을 높이려고 하는 것이 아니라 왜 모델이 특정한 결과값을 반환하였는지 살펴보는 데에 집중한다.
- LIME은 입력 데이터에 변형(perturb)을 가했을 때 모델 예측에 어떠한 변화가 일어나는지 테스트한다.
LIME 과정
LIME을 통해 개별 관측값을 구하는 과정은 다음과 같다.
개구리 그림으로 예를 들면,
먼저 해석을 하고 싶은 관측값으로 개구리 그림을 골랐다.
그 그림을 변형시켜서 아래 그림 중 노란색으로 나뉘어져있는 Interpretable Components 그림처럼 자른다. Super pixels라고 한다.
이때 자른 요소를 랜덤으로 off하여 샘플 데이터 셋을 만든다. (off = masking = 회색)
새로 만들어진 데이터를 해석하고자 하는 original 모델에 넣어 예측값을 얻는다.
그리고 관심있는 관측값과의 근접도에 따라 샘플 데이터 각각에 가중치를 부여한다.
→ 원래 예측값과 샘플 데이터 셋을 original 모델에 넣었을 때의 예측값이 얼마나 다르냐에 따라 feature의 중요도를 알 수 있다.
예측값이 원래랑 많이 변하면 그 부분이 예측에 있어서 중요한 부분이었구나~
예측값이 별로 안 변하면 그 부분이 필요없는 부분이구나~
예를 들면, 아래 그림에서 파란색 표에서 첫 번째 변형을 original 모델에 넣으니 0.85라는 예측값을 얻었다.
이를 통해 사진에서 남은 부분이 개구리라고 예측하는 데 중요한 요소라는 것을 알 수 있다.
반면, 두 번째 변형처럼 가렸더니 개구리일 확률이 0.00001로 낮아졌다.
그러면 방금 가린 부분이 개구리라고 판단하는 데 중요한 요소였다는 것을 알 수 있다.
가중치가 적용된 해석 가능한 모델을 샘플 데이터셋 (변형된 샘플-x, original 모델에 넣어 얻은 예측값-y)에 대해 학습시킨다.
가중치가 높은, 설명하는 양이 큰 super pixel을 제외한 나머지를 회색으로 칠하고 해석 결과를 제시한다.
사실 관심있는 관측값과의 근접도에 따라 샘플 데이터 각각에 가중치를 부여한다는 말이 정확하게는 이해가 안간다..
나중에 알게되면 다시 적어놔야겠다ㅎㅎ
출처
[1] https://velog.io/@tobigs_xai/1%EC%A3%BC%EC%B0%A8-%EB%8C%80%EB%A6%AC%EB%B6%84%EC%84%9DLIME
'Deep Learning > XAI' 카테고리의 다른 글
[XAI] CAM, GradCAM (작성중) (0) | 2022.03.28 |
---|---|
[XAI] LRP (0) | 2022.03.28 |
[XAI] SHAP (0) | 2022.03.28 |
댓글