LIME을 같이 다뤘었는데, (블로그 이전 글 참조) LIME의 slight modification인 MPS-LIME이 재미있어 보여서 가지고 왔다.
원문링크:
https://arxiv.org/abs/2002.07434
A Modified Perturbed Sampling Method for Local Interpretable Model-agnostic Explanation
Explainability is a gateway between Artificial Intelligence and society as the current popular deep learning models are generally weak in explaining the reasoning process and prediction results. Local Interpretable Model-agnostic Explanation (LIME) is a re
arxiv.org
문제제기
기존 LIME의 문제점들 중 하나는, superpixel을 통한 perturbed image의 형성 방식이다.
기존 LIME에서는, superpixel들을 랜덤하게 끄거나 켜는 (0 / 1) 식으로 image를 perturb했다.
(sampling nonzero elements of the interpretable binary vector uniformly)
여기서 문제가 발생하는데, 자연의 사물들은 보통 인접한 영역에서도 뭔가의 correlation이 있기 마련인데 (위치가 가까우면 관련성이 높아질 수 있음), 0과 1로 인접한 것들이 뚝뚝 끊길 수 있다는 것이다.
이렇게 얻은 이미지 perterbation들은 "Unrealistic Local Sample"로 이어지게 되고, 이는 poorly fitting local model로 이어지게 된다.
MPS-LIME은 바로 이 부분, superpixel들을 0과 1로 끄면서 image sample을 만들지 말고, 차라리 superpixel들을 그래프로 표현하는 것은 어떤가? 라는 의견을 제시하는 paper인 것이다.
이에 대해서 저자들은 논문 원문에서 다음과 같이 말한다.
MPS-LIME과 기존 LIME의 차이점
기존 LIME에서 perterbated image를 샘플링할 때는, superpixel들의 "끄고 켬" 이 내포되어있는 binary vector를 베르누이 분포에서 샘플링하는 과정을 거친다.
MPS-LIME에서는, 나오는 결과물은 binary vector로 똑같지만, 0과 1의 표현방식에 "근접성" 이라는 제한을 두는 것이다.
무슨 소리인지 잘 이해해보자.
어떤 이미지가 superpixel 3개로 이루어져있다고 예시를 들어보자.
SP1, SP2, SP3
그리고 SP1과 SP2가 인접하고, SP2와 SP3이 인접한다고 해보자.
각 superpixel이 그래프의 노드라고 생각하고, 인접한 superpixel들을 간선으로 이어줄 것이다.
기존 LIME은 각각의 superpixel을 끄고 켜는 것이 따로따로이다. 하지만 MPS-LIME에서는 인접한 superpixel끼리는 하나의 "clique"이라고 칭하고, 하나로 묶어서 취급할 것이다. 인접한 superpixel 몇 개까지 하나로 볼 지는 clique의 수를 정해주면 된다.
예시로 간단히 살펴보면,
사이즈가 1인 clique으로는 SP1, SP2, SP3이 있을 것이고,
사이즈가 2인 clique으로는 연결된 (SP1 SP 2), 그리고 (SP2, SP3)이 있을 것이다.
사이즈가 3인 clique은, 3개가 연결된 부분이 없기 때문에 존재하지 않는다.
그 상태에서 각 superpixel의 활성화를 결정해보면 위의 사진과 같다.
MPS-LIME에서는 이렇게 밖에 활성화 경우의 수가 없는데,
기존 LIME에서는 각각의 superpixel이 따로따로이기 때문에, [1, 0, 1]이나 [1,1,1] 같은 경우의 수(sp1, sp3 활성화 또는 sp1, 2, 3모두 활성화)와 같은 경우의 수도 있을 수 있다.
이게 바로 MPS-LIME과 LIME의 차이점이다. MPS-LIME에서는 위의 binary vector를 만들 때 부터 인접성을 고려하고, 인접한 애들끼리만 활성화될 수 있도록 경우의 수를 좀 더 제한해주는 것이다.
MPS-LIME의 Method
우선은, 이미지를 받아서 superpixel들로 segmentation 해줄 것이다.
그 다음에 이미지를, superpixel들의 연결을 표현할 수 있는 umdirected graph로 표현할 수 있다.
그다음, DFS를 호출하는데, customized DFS이다. 그래프의 노드만을 하나씩 전부 방문하는게 아니라, 사이즈 3까지의 small, fully-connected subgraph를 모두 방문하는 것이다.
DFS 과정
다음과 같은 그래프가 있다고 해보자.
저자들의 DFS 알고리즘은 다음과 같다.
SP1을 시작 노드로 하는, size 3의 clique을 모두 찾아보는 과정을 보자.
옆에서 뭘 하는지는 그렇다치고, 옆의 clique 결과물을 보면, 인접성이 반영된, size 3의 clique들을 찾아내는 걸 볼 수 있다. 현재 시작 노드 = SP1로 지정해놓고 찾은 것이므로, 이를 SP2, SP3, SP4에 대해서도 다 수행해준다.
그리고 clique 사이즈 1, 2인 상태에 대해서도 다 수행해준다.
최종 결과물로는, 우리는 9개의 "인접성을 반영한" binary mask를 얻게 될 것이다.
결론
MPS-LIME과 그냥 LIME의 차이점은, 위와 같은 superpixel들의 binary vector를 어떻게 얻느냐이다. superpixel들을 각각 독립적으로 생각하고 랜덤 샘플링해버리면 기존 LIME, MPS-LIME은 인접성 관계를 고려하여 그래프 순회를 통해 "chunk"들을 찾아내어 샘플링 하는 것이다.
Local explainer를 찾아서 설명을 시도하는 후반부 부분은 같다. 하지만 기존의 LIME의 independent bernoulli sampling 보다는 경우의 수가 적으므로 적은 샘플링으로 인한 효율적인 설명이 가능하고, fidelity(모델의 예측결과와 실제결과의 일치 정도)가 높고, spatial coherence를 존중한다는 점에서 장점을 가지고 있다.