NN의 예측값을 설명하기 위한 보통의 방법
= 가장 model의 confidence에 영향을 주는 input feature를 찾아서 설명 (ex. 히트맵 그리기)
그러나 이미지에 pure noise가 있다거나, text에 의미없는 snippet이 숨어있는 등과 같이 input에 결함이 많은 상황인데 Neural Network의 confidence를 측정하고자 한다면 그에 따른 설명력은 강한 설득력을 얻기가 어렵다
이를 해결하기 위해 논문에선 Deep k-Nearest Neighbors를 제안하고
model의 uncertainty를 설명할 수 있는 지표로 conformity를 사용한다.
(train data의 hidden representation과 비교해서 얼마나 test prediction이 지지하는지)
n 개의 단어로 이루어진 input sequence x = <w1,w2, …. wn> 이 있고, 이 input을 classifier에 돌려 나온 class 별 probability는 model confidence를 의미한다.
모델의 예측에 대한 각 단어의 기여도(contribution)은 g(wi | x,y)로 표현할 수 있고 g로 사용할 수 있는 여러 방법론들을 해당 장에서 설명하고 있다.
: input sequence에서 하나의 단어를 빼서 어떻게 결과가 바뀌는지를 확인하는 방법
어떤 단어의 제거가 model의 confidence를 감소(원래 긍정 98%로 분류되었던데 96%로 감소했다면)시켰다면 positive importance value를 가진다.
w_i의 중요도를 미분값을 통해 구하고 이 때 미분값은 워드 임베딩 그 자체값과 class prediction에 대한 임베딩 미분값을 곱한 결과이다.
neural network를 해석하는데 있어 예상치 못한 부정적인 결과들을 여럿 얻을 수 있는데 이는 모델이 지닌 robustness and stability와 같은 uncertainty 요소들 때문이다. 따라서 leave-one-out 혹은 gradient based와 같은 기법에만 의존해서는 안되고 모델의 uncertainty 요소까지 커버를 할 수 있는 기법이 필요하다.
(DkNN을 통해 robust uncertainty를 추정하고 이것으로 모델의 설명력을 찾고자함)
Interpretability of the outcome of each layer is provided by the nearest neighbors. Robustness stems from detecting nonconformal predictions from nearest neighbor labels found for out-of-distribution inputs (e.g., an adversarial panda) across different layers.
각 layer에서의 모든 representation들에 대해 kNN을 진행
DkNN을 통해 conformity score를 얻을 수 있음
= 예측된 클래스와 근접한 이웃의 비율
= 각 layer에서 이웃한 example이 많을 수록 높은 conformity를 보인다
conformity score는 얼마나 training data가 분류 결과를 지지하는지를 잘 나타내준다
DkNN 알고리즘은 fixed-size vector만을 요구로 하기 때문에 RNN의 hidden state를 통일하거나 max pooling을 활용한다.
leave-one-out 방법론을 사용하되 변수를 하나 제거해서 변동되는 confidence (최종 예측 클래스의 변동)을 보는 것이 아니라 conformity(예측된 클래스와 근접한 이웃의 비율) 를 관측한다.
DkNN을 적용하고 6가지 text classifciation task를 돌렸을 때 이전과 유사한 분류 정확도를 유지한 것을 확인하였다.
(이진 감성 분류, 토픽 분류, 극성 분류, 주관-객관 분류, 추론)
Conformity loo (실험군) VS Confidence loo & Gradient (대조군)
⇒ DkNN generates interpretations with higher precision because conformity is robust to irrelevant changes
추론 task 데이터 SNLI에 대해 conformity 방법론으로 saliency map을 그림
댓글 영역