최근 구조적인 Inductive Bias 개념을 NLP 모델에 적용하는 것이 인기가 많아지고 있다. 그런데 그래프의 어떤 부분이 예측에 기여하는지 해석에 대한 부분에는 아직 관심이 연구가 부족한 현황이다. 따라서 본 논문에서는 GNN의 예측을 해석함에 있어서 불필요한 edge를 식별하는 사후 방법에 대해 소개하고자 한다.
본 논문에서 우리가 원하는 방법이 가져야 하는 목표는 그래프의 어떤 Edge에 GNN 모델이 의존하고 그들이 어떤 Layer에서 사용되는지 식별하는 것이다.
즉, 목표를 정리하면 3가지로 정리된다.
모델 예측에 영향을 주지 않고 완전히 제거될 수 있는 최대한의 특징을 찾아 해석을 돕는 방법
→ 1,3번 만족하는데 2번 만족 x → NLP 모델에 적용하기 어려움
→ GraphMask의 목표 : Erasure Search와 같은 이익을 취하면서 1~3번 조건 만족시키는 것
앞에서 얘기했듯이 이 방법의 목표는 모델 예측에 영향을 주지 않으면서 Layer k의 어떤 edge가 무시될 수 있는지 찾는거다.
Point ① GNN 모델에서의 문제 → d(v) >> n인 그래프에서 train된 GNN이 d(v)<<n에 적용되었을때 불안정할 수 있음, 많은 edge가 불필요할 수 있음
→ 단순히 drop될 수 있는 edge를 찾는 것으로 불충분할 수 있기에 Binary choice 를 이용해 학습된 로 대체되는 edge를 찾을 거임
Point ② Erasure Search에서의 문제 → 버려질 수 있는 모든 가능한 지원자들에 대해 검색하기에 다루기 쉽지 않음, 각각의 예시들에 대해 하나하나 검색이 이루어지기에 Hindsight bias의 위험이 있음
→ 앞에서 언급한 를 다음과 같이 계산할거임
: 각각의 Prediction에서 하나하나 계산 → 대응하는 GNN message(layer k에서의 노드 상태)를 계산할 때, Original Model에 이용 가능한 정보에만 의존
변수는 학습단계에서 보이지 않는 예시들에서의 예측을 설명하는데 사용 (Hoxy... Inductive Bias...?)
g가 학습된 이후, original 모델을 실행해서 ,,를 얻음.
첫번째 layer - 는 equation 3으로 계산
→ 0과 1의 값을 가지는 를 통해 Edge가 예측에 영향을 미치는지에 따라 사용할지를 선택
이후 layer - Equation 2를 이용해 를 계산
목표
문제점
제안 (2가지 개념)
실용적인 방안
함수 로 예측되는 영이 아닌 값들의 수를 최소화시키려면 'norm'을 최소화하는게 실용적**
→ Objective function을 정의
: Divergence와 Tolerance Level이 반영된 부분에 대해 얼마나 사용할지 결정
문제
해결 방안
Objective를 기댓값으로 다룸
→ 이전에 다루었던 여러 논문에서도 Objective function이 미분불가능해 기댓값을 이용했음
Score function으로 3가지 방법 중 선택
사용자의 질의에 관련된 문서를 검색하는 후보검색 단계 (candidate retrieval phase)
검색된 문서 내에서 정답을 생성하는 정답추출 단계 (answer extraction phase)
사용자의 질의에 대한 답변이 될 수 있는 정답을 문서 집합내에서 탐색하여 사용자에게 제시해주는 시스템 (Wiki)
주어진 질문 문장과 문서에서 그 질문에 가장 맞는 Entity를 문맥에서 찾는 것 (Paper)
Edge Type (추측...)
결과 (사실 이 부분은 제대로 이해하지 못했음, NLP는 어렵다... → 추후에 기회가 되면 제대로 다시 이해해보기)
어떤 Layer에서 어떤 edge가 사용되는지 분석 결과
Layer가 거칠수록 질문에 대한 Edge 수가 극적으로 증가함
정의
결과
각 Edge Type별로 어떤 Edge가 남았는지 (불필요하지 않은지)
→ 이 부분도 자세하게 다루지는 않겠음 → 추후에 자세하게 다루어보겠음...