작성자 : 이예진
이번 시간에는 GNNExplainer: Generating Explanations for Graph Neural Networks 를 리뷰해보겠습니다. Graph Neural Networks를 설명할 수 있는 방법을 소개한 대표적인 논문입니다. (논문 흐름대로 리뷰되었으며 Graph에 대해서 공부한적이 없는 초심자를 위해서 작성되었습니다.)
Contents
0. Intro: Machine Learning with Graph
1. GNNExplainer의 이유
2. GNNExplainer Overview
3. GNNEXplainer explanations
4. Experiments & Conclusion
그래프를 설명하는 법을 배우기 전에, 기본적으로 machine learning with graph에 대해서 간단히 알아보겠습니다.
Networks 분석은 크게 4가지로 나뉘어집니다.
Network 분석이 사용되는 예시로는 Social Circle Detection, Infrastructure, Knowledge, Link Prediction(reccomendation system), Embedding Nodes, Online Media, Polarization on Twitter, Misinformation, Predicting Virality, Product Adoption, Biomedicine, Side Effect 등이 있었습니다
추천시스템에서 콘텐츠 추천에 graph를 이용한 link prediction이 사용됩니다.
부작용 탐색에 네트워크(그래프)가 사용됩니다. 많은 약을 한꺼번에 섭취했을 때 나타나는 부작용에 대한 예측은 실제로 많은 실험을 해보는 것이 불가능하기 때문에 서로다른 graph를 만들고 link를 예측하는 방법으로 side effect를 탐색합니다.
기존의 XAI 방법론들은 그래프에 적용될 수 없습니다. 기존의 방법들은 그래프 특성상 그래프 구조와 노드 정보를 동시에 고려하지 못하기 때문입니다.
그래프 모델의 예측을 이해할 수 있게 하는 것은 3가지 관점에서 의의가 있습니다.
노드 v의 클래스()를 예측할 때, GNNExplainer의 목적은 다음과 같습니다.
(A) v노드 예측에 필요한 features set이나 pathway set을 찾는 것 (필요한 잉이웃 찾기)
(B) v노드 예측에 필요한 node feature 찾기 (d-dimension vector 중 필요한 정보만 사용하기)
처음부터 끝까지의 과정은 위와 같이 진행됩니다.
(1)
Gs의 MI(mutual information)을 최대화시키는 방법은 위와 같은 엔트로피간의 차이를 이용해서 구합니다.
예를 들어서 그래프에서 노드 i에 대한 node classification을 수행중인데 근처 이웃 노드 j를 제거하면 예측값 y (노드i의) 을 예측 확률을 감소시키는 경우, 노드 j는 노드 i의 node classification을 위해서 중요한 노드라고 판단됩니다. 따라서 이러한 차이를 극대화하는 Gs를 구할 수록 전체 그래프에서 중요한 Gs를 구할 수 있게 됩니다.
(2)
그리고 결국 MI를 극대화 시키는 식은 조건부 엔트로피 부분을 최소화하는 문제로 바꿀 수 있습니다.
그런데 이때, 그래프 가 수많은 서브그래프를 가지기 때문에 모든 서브그래프에 대해서 구해보는 것은 불가능하고, 에 대한 variational approximation of distribution of subgraphs를 사용합니다.
그리고 개별적 의 Entropy 기댓값 대신에 에 대한 기댓값을 사용합니다.
또한 완벽하게 수렴시킬 수는 없고 실험적으로 minimizing 합니다.
결과적으로 trained model이 특정 클래스를 예측을 왜 했는지, 어떻게 했는지 구하기 위해서는 수식 (5)와 같은 cross entropy를 구하게됩니다.
Graph structure 와 node feature information의 joint learning을 보겠습니다.
3-1 에서 Single-instance explanations에서는 node feature의 선택에 대해서는 논하지 않았습니다. 따라서 이번에는 feature selector F가 선택한 정보에 대해서만 subgraph의 node feature을 사용하는 과정에 대해서 설명합니다.
수식 (1) -> 수식 (7)
GNN을 사용한 node classification 및 graph classification task에 대해서 실험했고, 두 가지 부류의 데이터셋을 사용했습니다.
GNNExplainer와 성능을 비교한 base 모델은 Grad 와 ATT입니다.
evaluation 에서 주목해서 봐야하는 것은 다음과 같이 정리됩니다.
GNNExplainer: Generating Explanations for Graph Neural Networks
(Rex Ying, Dylan Bourgeois, Jiaxuan You, Marinka Zitnik, Jure Leskovec)
Explainability in Graph Neural Networks: A Taxonomic Survey
(Hao Yuan, Haiyang Yu, Shurui Gui, Shuiwang Ji)
Graph Attention Networks
(Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Liò, Yoshua Bengio)
Stanford CS224W 2019 리뷰
[Paper Review] GNNExplainer: Generating Explanations for Graph Neural Networks
https://cinnamonai.medium.com/digging-for-trusts-revolutionary-trustable-information-extraction-system-4a376d7b86e1