상세 컨텐츠

본문 제목

[논문리뷰] Interpreting Neural Networks with Nearest Neighbors

심화 스터디/논문 리뷰

by 김제성 2022. 11. 24. 19:54

본문

1. Introduction

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이 지지하는지)

  • text classification에 적용!

 

 

 

2. Interpretation Through Feature Attribution

n 개의 단어로 이루어진 input sequence x = <w1,w2, …. wn> 이 있고, 이 input을 classifier에 돌려 나온 class 별 probability는 model confidence를 의미한다.

모델의 예측에 대한 각 단어의 기여도(contribution)은 g(wi | x,y)로 표현할 수 있고 g로 사용할 수 있는 여러 방법론들을 해당 장에서 설명하고 있다.

2.1 Leave-one-out Attribution

: input sequence에서 하나의 단어를 빼서 어떻게 결과가 바뀌는지를 확인하는 방법

어떤 단어의 제거가 model의 confidence를 감소(원래 긍정 98%로 분류되었던데 96%로 감소했다면)시켰다면 positive importance value를 가진다.

2.2 Gradient-Based Feature Attribution

w_i의 중요도를 미분값을 통해 구하고 이 때 미분값은 워드 임베딩 그 자체값과 class prediction에 대한 임베딩 미분값을 곱한 결과이다.

 

 

2.3 Interpretation Method Failures

neural network를 해석하는데 있어 예상치 못한 부정적인 결과들을 여럿 얻을 수 있는데 이는 모델이 지닌 robustness and stability와 같은 uncertainty 요소들 때문이다. 따라서 leave-one-out 혹은 gradient based와 같은 기법에만 의존해서는 안되고 모델의 uncertainty 요소까지 커버를 할 수 있는 기법이 필요하다.

(DkNN을 통해 robust uncertainty를 추정하고 이것으로 모델의 설명력을 찾고자함)

3. Deep k-Nearest Neighbors for Sequential Inputs

3.1 Deep k-Nearest Neighbors

 

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가 분류 결과를 지지하는지를 잘 나타내준다

3.2 Handling Sequences

DkNN 알고리즘은 fixed-size vector만을 요구로 하기 때문에 RNN의 hidden state를 통일하거나 max pooling을 활용한다.

3.3 Conformity leave-one-out

leave-one-out 방법론을 사용하되 변수를 하나 제거해서 변동되는 confidence (최종 예측 클래스의 변동)을 보는 것이 아니라 conformity(예측된 클래스와 근접한 이웃의 비율) 를 관측한다.

4. DkNN Maintains Classification Accuracy

DkNN을 적용하고 6가지 text classifciation task를 돌렸을 때 이전과 유사한 분류 정확도를 유지한 것을 확인하였다.

(이진 감성 분류, 토픽 분류, 극성 분류, 주관-객관 분류, 추론)

5. Interpretation Analysis

Conformity loo (실험군) VS Confidence loo & Gradient (대조군)

  • Result1)
    • conformity는 소수의 input word에만 유의미한 importance value를 부여함
    • 반대로 confidence는 non-zero인 importance value 가지는 word가 대부분일 정도로 그렇게까지 중요하지 않은 input 변화에도 예민하게 반응하는 경향을 보임
  • Result2)
    • 전체 데이터셋에 대해 gradient : 5.23 words, confidence : 5.79 words, conformity : 3.65 words에 대해 highlight를 쳤다
  • Result3)
    • confidence 방법론은 문맥보단 단어가 내재적으로 지니고 있는 감정에 편향을 가진 경향성을 보였다.
    • clash, terribly, unfaithful 단어 자체는 부정적 성격 나타내긴 하지만 위의 문맥에서는 그런 의미로 쓰이진 않았음
    • DkNN에선 conformity 점수 변동에 큰 폭이 없는 것으로 보아 해당 문제를 잘 넘어간 것으로 보임
  • Result4)
    • Conformity가 어떤 단어에도 importance 점수를 부여하지 않은 케이스가 있었음
    • = 이는 문맥 상에서 중복되는 단어들이 많이 포진되어 있었기 때문인데, 예를 들어 영화에 대해 전반적으로 긍정적인 리뷰를 남긴 글에서 긍정 요소가 담긴 단어 하나가 빠졌다고 거기에 confomrity 점수의 변동은 미미했음
    • 반대로 confidence 방법론은 큰 변동폭을 보임

⇒ DkNN generates interpretations with higher precision because conformity is robust to irrelevant changes

 

 

5.2 Analyzing Dataset Annotation Artifacts

추론 task 데이터 SNLI에 대해 conformity 방법론으로 saliency map을 그림

관련글 더보기

댓글 영역