오늘 리뷰해볼 논문은 Classifier의 예측을설명할 수 있는 기법을 소개한 논문이고,
블랙박스에 해당하는 머신러닝/딥러닝 모델을 interpret하려는 시도의 첫 스타트를 끊었다고 한다.
1. Introduction
trust에는 크게 두 가지 종류가 있다. $\text{trusting a prediction}$과 $\text{trusting a model}$
전자는 모델의 예측을 믿고 이를 바탕으로 의사결정을 하는 것, 후자는 모델 전반에 대한 신뢰를 의미한다.
전자를 위해 논문의 저자들은 LIME 알고리즘, 후자를 위해 SP-LIME 알고리즘을 제시하고 있다. 뭐 이에 대해서는
뒤에서 천천히 알아보도록 하자..
2. The Case for Explanations
내용이 많지만, 이 목차에서 핵심적인 내용은 Explainers가 가져야 하는 특성이다.
interpretable - 당연히 해석이 가능해야한다. 이때 실제로 쓰이는 피쳐와 해석에 쓰이는 변수는 다를 수 있다.
local fidelity - 딥러닝과 같은 복잡한 모델에서 global한 시각을 갖는 것은 무리고, 그렇다면
각 트레이닝 인스턴스의 주변(local)에서 신뢰가 가야한다.
model-agnostic - 원래의 모델은 블랙박스로 취급하여 어떤 모델에 있어서도 설명이 가능해야 한다.
3. Local Interpretable Model-Agnostic Explanations
3.1 Interpretable Data Representations
모델에 쓰이는 피쳐와 interpretable data representation을 분리한다.
모델에 쓰이는 피쳐를 $x \in \mathbf{R}^{d}$, 후자를 $x' \in \{0, 1\}^{d'}$
예를 들어 워드 임베딩과 워드 카운트 벡터(또는 원핫인코딩)이 될 수 있다.
3.2 Fidelity-Interpretabiliby Trade-off
해석 가능한 모델(선형회귀, 의사결정나무 등)의 집합을 $G$, 그 중의 하나를 $g$라고 정의한다.
$g$의 도메인은 $x' \in \{0, 1\}^{d'}$이 된다.
$\Omega(g)$는 모델의 복잡성을 측정하는 지표로 트리의 깊이나 선형회귀 같은 경우
변수의 개수 정도가 될 수 있을 것이다.
우리가 설명하려는 모델을 $f$라고 하면 $f(x)$는 인스턴스가 특정한 클래스에 속할 확률(예측값)이
된다.
$\pi_{x}(z)$는 $x, z$의 거리를 나타내는 지표로 로컬리티를 의미한다.
마지막으로, $L(f, g, \pi_{x})$를 unfaithfulness로 정의하면 우리가 최적화 할 식은 다음과 같다.

3.3 Sampling for Local Exploration
설명하고자하는 인스턴스 $x$의 $x'$에서 uniform distribution을 이용하여 샘플링을 하고,
이를 perturbed sample $z'$로 명명한다. 이를 다시 $x$와 같은 차원인 $z$로 바꿔준다.
이때 샘플링은 $x'$의 주변과 멀리 떨어진 곳 모두에서 일어날 수 있으므로 거리를 나타내는 측도인
$\pi_{x}$를 이용하여 weighting을 해준다.
그런데 사실 내 생각으로는 이 샘플링의 방법이 무궁무진할 것 같은데, 뭔가 이거에 대한 부가적인
설명이 부족한 느낌이다. 비모수적 local kernel을 이용할 수도 있고 분포를 가정하고 랜덤
샘플링을 할 수도 있고 트레이닝 인스턴스 중에서도 샘플링을 할 수 있을 것 같은데...ㅎㅎ;;
3.4 Sparse Linear Explanations
이 목차에서는 설명가능한 representations을 어떻게 고를지 변수선택을 하는 과정을
설명한다.

뭔가 특별히 어려운 건 없는 것 같아서... $d'$개의 $z'_{i}$ 중에서 $K$개를 라쏘 회귀를 통해 고르는 과정이다.
라쏘 회귀는 L1 based penalized linear regression으로 그 자체로 차원을 축소하는 기능을 가진다.
(중요하지 않은 피쳐에 대해서는 회귀계수가 0이 된다) 더 궁금하신 분들은 찾아보면 많은 소스가 있을듯..
similarity kernel은 $exp(-\frac{D(x, z)^{2}}{\sigma^{2}})$를 사용했고
$D$는 distance 함수로 텍스트 일때는 코사인 유사도/거리가 될 수 있을 것이다.
또 loss 함수로는 L2-loss를 사용했고 $\Omega$로는 K-Lasso penalized term이 들어간다.
수식은 복잡해서 생략하지만 라쏘 회귀에서 들어가는 penalized term과 사실은 동일하다.
4. Submodular Pick For Explaining Models
지금까지는 하나의 예측에 대한 신뢰를 보기 위한 것이었다면, 이제는 모델 자체의
신뢰를 보기 위해 대표적인 인스턴스를 선택하는 과정이다.

저번째 for loop에서 LIME을 활용하여 explain을 하여 $W \in \mathbf{R}^{i * d'}$ 행렬을 채워준다.
이 행렬은 변수 중요도를 가지고 있는 행렬로 i번째 인스턴스에 대한 $d'$개의 변수 중요도를
가지고 있다. 이 루프가 끝나면 $z'$에 대해서 각각 피쳐 임포턴스를
계산하고, 허락된 예산 $B$안에서 중요한 피쳐를 많이 가진 인스턴스를 중요한 인스턴스라고 보고
$V$를 확장한다.
뒤에는 여러 예시들이랑 pros and cons가 나오는데, 워낙 많아서 생략했다.
이 논문에 대한 전체적인 느낌은 아이디어가 정말 좋고 활용도가 높지만 sampling을 어떻게 하냐에 따라서
결과가 좌지우지되고 역변환에 의한 시간이 많이 걸릴 것 같다..
또한 sampling을 제대로 하기 위해선 density를 추정해야 하는데 그것까지는 다루지 않아서
아쉽다.
지적, 질문 모두 환영합니다! :)
이 글에서 쓰인 모든 이미지는 원본 논문에서 캡처한 것이며, 원본 논문의 링크는 우측에 있습니다. [링크]
'ML, DL > 논문 리뷰' 카테고리의 다른 글
| Generative Adversarial Nets 리뷰 (0) | 2020.11.20 |
|---|---|
| Auto-Encoding Variational Bayes 리뷰 (0) | 2020.11.09 |
| GPT-1 리뷰: Improving Language Understanding by Generative Pre-training (0) | 2020.09.30 |
| Empricial Evaluation of Gated Recurrent Neural Networks On Sequence Modeling 리뷰 (0) | 2020.09.17 |
| Transformer-XL 리뷰 (0) | 2020.09.14 |