본문 바로가기
  • CobsLab upgrades your company value by AI technology
펀디멘탈 논문

GCN의 결정에 대한 설명 가능성 방법- Explainability Methods for Graph Convolutional Neural Networks

by dmkdmk 2022. 11. 19.

안녕하세요 콥스랩(COBS LAB)입니다.

오늘 소개해 드릴 논문은 ‘Explainability Methods for Graph Convolutional Neural Networks’입니다. 이 논문은 2019년 CVPR에서 발표가 되었습니다.

해당 내용은 유튜브 ‘딥러닝 논문 읽기 모임' 중 ‘Explainability Methods for Graph Convolutional Neural Networks’ 영상 스크립트를 편집한 내용으로, 영상으로도 확인하실 수 있습니다. (영상링크:https://youtu.be/DJfbq_Ifnj8)

 

발표 순서는 논문 순서와 동일하며 GCN의 설명 가능성에 대한 Motivation에 대해 소개를 하고 관련 연구로 Interpretability와 GCN에 대해 간략히 설명드리겠습니다. 그다음 기존 CNN 기법들을 GCN에 적용하는 방법에 대해 설명을 한 뒤 성능 평가를 하고 결론을 맺겠습니다.

 

CNN은 object recognition, detection 등 다양한 Computer Vision task들에서 좋은 성능을 보여주고 있습니다. 이런 end-to-end learning strategy는 CNN을 대규모 visual data corpus에서 학습하기 위한 강력한 data-driven tools로 변화시켰지만 CNN 모델로부터 나온 결정에 explainability와 interpretability를 방해합니다. 따라서 최근 CNN은 내부 작동 방식을 연구하고 이러한 네트워크에 의해 결정된 사항을 설명하는 연구가 증가하고 있습니다.

GCN는 node classification, Graph classification, link prediction과 같은 다양한 Graph 데이터 테스크들에 성공적으로 적용되고 있습니다. 따라서 Graph가 왜 이런 prediction을 했고 classification을 했는가에 대한 연구의 필요성이 대두되며 비교적 최근에 진행되고 있어 내부 논리와 의사 결정 과정에 대해서는 아직 제한된 이해만 갖고 있습니다.

 

CNN XAI는 현재 많이 연구된 분야이지만 CNN의 Convolution이 순수화된 요소를 가진 입력을 위해 Euclid 공간에 정의된 작업이기 때문에 이미지와 같은 Euclid 공간에 grid structured data를 위해 설계되어 해당 형태의 데이터에만 사용이 가능합니다. 하지만 실제로는 CNN을 직접 사용할 수 없는 Graph manifold와 같은 다른 구조에 정의된 데이터를 처리해야 합니다.

따라서 본 논문의 저자들은 CNN에 대한 설명 가능성을 위해 설계된 CG, CAM, 그리고 EB를 확장시켜 GCN의 결정에 대한 설명 가능성 방법을 소개합니다

 

interpretability와 explainability 용어의 차이를 먼저 살펴보면 interpretability는 시스템 내에서 원인과 결과를 관찰할 수 있는 정도에 관한 것입니다. 다시 말해서 입력 또는 알고리즘 매개 변수가 변경되면 어떤 일이 일어날지 예측할 수 있는 정도입니다. 한편 explainability는 기계나 deep learning 시스템의 내부 역학을 인간의 용어로 설명할 수 있는 수준이며 실제로 일어나고 있는 일을 말 그대로 설명할 수 있는 것입니다.

 

이러한 방법을 사용하면 CNN에서 테스크에 대한 결정을 위해 중요한 입력 데이터의 sub structure를 식별할 수 있으며, 이는 explanatory tool로 사용하거나 데이터에서 알려지지 않은 기본 하위 구조를 발견하는 tool로 사용될 수 있습니다. 예를 들어 의료 영상 영역에서는 입력 영상을 분류하기 위한 추론을 제공할 수 있습니다.

 

CNN XAI에서 주로 사용되는 기법은 4가지입니다. 입력 데이터에 대한 sensitivity map을 생성하는 가장 간단한 접근법은 각 네트워크의 가중치의 입력에 대한 gradient vector에 norm을 고려해서 layer 내에서 gradient map을 계산하는 것입니다. 그러나 gradient map은 노이즈가 심하며 이러한 map을 스무딩 하는 것이 필요로 할 수 있기 때문에 CAM, Grad CAM, EB는 일부 context의 notion을 고려해서 gradient map을 개선시키고 있습니다.

Graph STRUCTURE 데이터에 대한 learning을 수행하려면 일반적으로 node feature와 Graph 구조에서 representation을 추출해야 합니다. 이를 위해 GNN은 neighbor의 feature vector와 representation을 종합하여 각 node에 대한 새로운 representation을 계산합니다. 컴퓨터 비전에 성공적으로 사용되고 있는 CNN에서 영감을 받아 연구자들은 re aggregation방법으로 Graph의 Convolution operation을 확장하기 시작하였습니다.

 

Graph의 상태, Graph의 정보를 결정하는 것은 각 node에 담긴 value, node 형태를 바꾸지 않으면서 각각의 node 정보만 바뀌기 때문에 그 정보들이 Graph가 나타내는 상태가 무엇이고 Graph가 담고 있는 정보가 무엇인지 알 수 있게 됩니다.

따라서 Graph Convolutional layer가 layer를 거치면 어떤 node의 정보 즉, node feature 매트릭스 안에 있는 value가 업데이트되도록 한다고 생각할 수 있습니다. GCN는 super pixel 분류, citation 네트워크에 따른 논문 분류, 유기 분자의 화학적 특성 예측 등 최근 다양한 응용 분야에 적용되고 있습니다.

 

본 논문에서는 scene graph classification 및 molecule classification에 대한 GCN에 대한 설명 가능 방법에 중점을 두고 있습니다

CNN XAI에서 가장 간단한 접근법은 Contrastive gradient-based saliency maps입니다. 이 방법에서는 단순히 모델 입력과 관련해서 모델의 출력을 미분해서 입력 변수에 대한 gradient norm의 상대적 중요성을 나타내는 Heatmap을 생성합니다.

입력 스페이스 포인트의 결과 gradient는 모델 출력 변화의 maximum positive rate에 해당하는 방향을 가리킵니다. 다시 말해 gradient 음수 값은 솔루션을 긍정적으로 기여하는 입력 부분만 유지시키기 위해서 제거됩니다.

 

수식에서 x는 인풋이며 yc는 소프트맥스 레이어를 거치기 전 class c의 스코어입니다. 해당 방법은 계산과 해석이 쉽지만 salience map은 일반적으로 뒤에 나올 CAM, EB와 같은 새로운 기술보다 성능이 떨어지며 시그널보다는 노이즈를 나타내는 경향이 있습니다.

Class Activation Map은 CNN의 마지막 Convolutional layer에서 중요한 class별 특징들을 식별하여 GCN을 포함한 Convolution 신경망에 대한 saliency maps보다 개선됩니다. CAM의 단점은 Gap layer가 반드시 필요하여 소프트맥스 레이어 이전에 여러 개의 fully connected layer가 있는 것과 같이 복잡한 네트워크를 사용할 수 없다는 점입니다.

 

좌측은 CAM을 계산하는 수식입니다. 우선 첫 번째 수식에서 Fk는 소프트맥스 레이어 앞에 있는 Convolution 레이어의 K 번째 feature map을 의미하며 Fk의 Gap은 다음과 같이 계산됩니다. 주어진 class 스코어 yc는 두 번째 수식과 같으며 weight는 네트워크에 인풋 아웃풋으로부터 학습되는 값입니다. weight는 class c를 예측하기 위한 feature k의 중요성을 나타냅니다. pooling 레이어의 효과를 줄이기 위해 각 feature map의 Input 이미지 크기로 up scaling 함으로써 pixel 스페이스의 class specific heat map은 마지막 수식과 같이 정의됩니다.

 

우측은 Grad CAM 방법입니다. Grad CAM은 back propagated gradient에 기반한 feature map 웨이트를 사용해서 CAM을 계산합니다. Grad CAM은 다음과 같이 가중치를 정의하게 됩니다. CAM과 유사하게 Grad CAM에 따른 pixel space의 Heat map은 화면의 수식과 같이 계산되며 여기서 Relu 함수는 class prediction에 positive 영향을 미치는 기능을 보장하고 있습니다.

Excitation back propagation은 간단하지만 효과적인 설명 방법입니다.

여러 논문들에서 네트워크를 통과하는 backward pass의 nonlinearities를 무시하는 EB와 같은 설명 가능성 접근법이 특정 class를 예측하는 네트워크에 conserve evidence를 보여주는 Heat map을 잘 생성할 수 있다고 실험적으로 입증되었습니다.

 

수식에서 a i l은 neural 네트워크의 l번째 레이어의 i번째 뉴런을 의미하며 뉴런 aj -1이 뉴런 ai l에 activation y il에 미치는 relative influence probability distribution은 위 식과 같이 정의됩니다. 해당 수식에서 condition probability는 다음과 같으며 모든 수식을 더하면 1이 되도록 normalization factor z을 설정하였습니다.

 

주어진 입력에 대해 EB는 아웃풋 레이어에서 모든 확률 값은 1로 시작하고 수식 7을 재귀적으로 적용해서 pixel 스페이스에서 class c에 대한 heat map을 생성합니다.

좌측 그림은 GAP 레이어가 포함된 GCN의 모델 아키텍처와 본 논문에서 사용한 BBBP 데이터셋에서의 샘플 molecule에 대한 인풋 feature Adjacency 매트릭스를 시각화한 그림입니다.

 

Graph의 node를 n개로 정의하고 node feature 매트릭스는 X, Adjacency 매트릭스는 A라고 할 때 Graph Convolutional 레이어는 adjacency 매트릭스를 곱해 주어 connectivity가 있는 node들에 정보만을 받아 weight sharing에서 고차원적인 정보를 업데이트하며 아래 수식과 같이 정의됩니다.

 

GCN에 대한 자세한 설명은 ‘딥러닝 논문 읽기’에서 발표된 GCN LRP explanation을 참고해주시면 감사하겠습니다.

 

molecule classification의 경우 각 분자는 속성 Graph Gi는 xi와 ai로 나타낼 수 있으며 여기서 node feature는 atom type 등이 될 수 있고, Adjacency matrix는 원자 결합을 인코드 하고 전체 molecule의 connectivity를 보여줍니다. label은 blood brain barrier penetrability와 같은 특정 chemical property가 될 수 있습니다.

본 논문에서는 potential different number of node로 개별 Graph 즉, 분자를 분류하는 것이기 때문에 분자와 같은 Graph node에 걸쳐 여러 레이어의 Graph Convolutional 레이어를 사용한 다음에 Gap layer를 거쳤으며 이 경우 모든 Graph는 고정 크기 vector로 표시됩니다.

 

마지막으로 GAP feature은 classifier에 넣어지게 되는데 본 논문에서는 계층 뒤에 softmax classifier를 사용하였습니다. L번째 레이어에서 k번째 Graph Convolutional feature map은 다음과 같이 정의될 수 있으며 w k l은 wl의 k번째 컬럼을 나타냅니다.

 

그리고 마지막 Convolutional 레이어 이후 gap feature L은 위 수식과 같이 정의되는데 위의 수식을 이용해서 Explainability method를 다음과 같이 GCN으로 확장합니다.

 

Gradient based CAM 그리고 Grad CAM에 대한 확장 수식을 앞에서 설명드린 CNN의 gradient based CAM 그리고 Grad CAM 수식과 비교해 보면은 단순히 CNN에 적용된 수식에서 node feature 매트릭스와 adjacency 매트릭스를 포함한 feature map을 사용했다는 점만 변경되었습니다.

Grad CAM을 사용하면 네트워크에 다른 레이어에 대한 Heat Map도 생성할 수 있습니다. GCN에 대한 excitation back propagation의 heat map은 소프트맥스 classifier GAP 레이어 및 여러 Graph Convolutional 레이어를 통한 backward pass를 통해 계산됩니다. 소프트맥스 classifier와 gap 레이어를 통과하는 backward pass의 수식은 다음과 같습니다. 여기서 관심 class인 경우 pc는 1이고 아닌 경우 0으로 설정합니다.

 

Graph Convolutional 레이어를 통과하는 backward pass는 Convolutional 레이어보다 더 복잡하기 때문에 이를 간략히 하기 위해서 Graph Convolutional operatiion을 수식 18과 같이 분해하였습니다. 수식 18의 첫 번째 방정식은 vn, m이 0보다 크거나 같은 상황에서 원자의 극소 평균이고 두 번째 방정식은 각 원자에 적용되는 고정 퍼셉트론입니다.

두 함수에 대응되는 backward pass는 수식 19와 같이 정의될 수 있으며 마지막으로 네트워크를 통해 재귀적으로 back propagation 하고 이렇게 back propagate 된 probability를 평균하여 입력 레이어에 대한 heat map을 생성합니다.

본 논문에서는 GCN XAI를 visual scene Graph와 molecule 이 두 가지 도메인에서 확인했습니다. 먼저 visual scene Graph에서는 visual Genome 데이터를 사용하였으며 scene Graph Classification을 위해 GCN을 훈련하고 그 결과에 대해서 제안된 설명하는 방법을 사용하였습니다.

 

Scene Graph는 node가 Scene의 object이고 엣지가 object 사이의 관계를 나타내는 Graph structure 데이터입니다. 실험을 위해서 Scene Graph를 "country", "urban", 그리고 "Indoor", "outdoor"라는 두 가지 이진 분류 작업을 수행하였습니다.

각 데이터셋에 대한 class 비율은 표와 같습니다. 본 실험에서는 Inception V3 네트워크를 사용했으며 Scene Graph의 모든 node에 대해 바운딩 박스에 대한 underlying image에 deep feature를 추출합니다.

 

마지막으로 pooling 레이어는 visual feature로 사용되었으며 여기서 각 crop은 고정된 크기의 0으로 패딩 되었습니다. 아래 그림을 보면 시각데이터로 Scene Graph를 구성하면 이러한 Scene Graph들을 "urban", "country", "Indoor", "outdoor"으로 분류합니다.

visual G는 데이터셋에 대한 결과입니다. 모든 샘플 boundingbox가 인풋 컬럼에 표시됩니다. 박스의 색깔에 따라 salience 밸류가 달라지는데 빨간색은 낮고 초록색은 높다는 것을 표현하고 있습니다. class 0은 "country" 혹은 "outdoor"이며 class 1은 "urban"이나 "Indoor"입니다.

 

Contrastivity는 각각의 방법에 대한 class 간의 영역을 비교해서 확인할 수 있습니다. 예를 들어 gradient 방법은 두 class에 대한 동일한 feature를 강조하는 경향이 있는 반면에 CAM , Grad CAM은 다른 feature를 강조하는 경향이 있습니다.

molecule Graph에 대한 explainability를 위해서는 BBBP, BACE 그리고 TOX21의 NR, ER데이터를 사용하였습니다. 각 데이터셋에는 실험에 의해 결정된 작은 organic molecule의 binary 클래시 피케이션이 포함되어 있습니다. BBBP 데이터는 분자가 인간의 혈액 뇌 장벽에 침투한 지 여부에 대한 측정이 포함되어 있으며 BACE 데이터셋에서는 human인자인 베타, 세크라 테스를 억제하는지 여부에 대한 측정값, TOX21에서는 여러 독성 표적에 대한 분자 측정값이 포함되어 있습니다. 앞선 데이터와 다르게 molecule Graph의 데이터는 불균형적입니다.

각 분자 데이터셋에 대한 설명 결과입니다. 그림에서 진한 파란색은 기본 class에 대한 relevance가 더 높다는 것을 나타냅니다. 예를 들어 EB에서 Sparsity는 다른 방법보다 적은 수의 원자가 강조된다는 점에서 확인할 수 있습니다.

또한 본 논문의 저자들은 다양한 XAI 기법들을 Fidelity, Contrastivity, Sparsity라는 세 가지 정량적 지표를 통해 분석합니다. 먼저 fidelity는 설명을 통해 식별된 salience feature의 occlusion이 분류 정확도를 떨어뜨린다는 직관을 위해 계산되었습니다.

 

논문의 저자들은 fidelity를 0.01보다 큰 salience value를 가진 모든 node를 occlude 해서 얻은 정확도 차이로 정의하였습니다. 다음 각 방법에 대한 class 전체의 fidelity 점수를 평균하였으며 Contrastive gradient method가 가장 높은 fidelity를 보였습니다.

 

다음으로 Contrastivity는 설명 방법에 의해 강조되는 class 별 특징이 class마다 달라져야 한다는 직관을 위해 설계되었습니다.

 

저자들은 Contrastivity를 binary heat map 사이에 Hamming distance ratop로 정리합니다. 이 지표에서는 Grad CAM이 가장 좋은 성능을 보였습니다. 마지막으로 Sparsity는 설명의 localization을 측정하기 위해서 설계되었습니다. Sparse explanations은 모든 node에 대한 manual inspection이 불가능한 Large Graph를 연구하는데 특히 유용합니다. C EB 방법이 가장 Sparse 한 activation을 보여주었습니다.

 

 

결론입니다.

  1. Grad CAM이 가장 contrastive 하고 두 번째로 높은 fidelity를 가지지만 sparsity는 낮습니다. 따라서 Grad CAM은 일반적으로는 적합하지만 Large Graph에서는 문제가 될 수 있습니다.
  2. C EB는 가장 sparse 하지만 fidelity는 낮고 Contrastivity가 두 번째로 높기 때문에 낮은 fidelity를 희생해서 Large Graph를 분석하는데 가장 적합하다고 결론지었습니다.
  3. CG는 가장 높은 fidelity를 가지지만 낮은 sparsitiy와 contrastivity를 갖기 때문에 즉, contrastivity가 부족하기 때문에 CG 같은 경우에는 class specific Explanation에 적합하지 않습니다. 본 연구에서는 CNN을 위해 설계된 설명하는 방법을 GCN으로 확장하고 이러한 방법을 qualitatively , quantitatively 하게 비교하였습니다.

논문의 저자들은 visual Scene Graph와 molecule Graph라는 두 가지 응용 영역에서 확장된 방법을 시연하고 CG, CAM, EB 각 방법으로 얻은 설명을 fidelity, Contrastivity, sparsity의 세 가지 지표로 캐릭터를 저자들은 Contrastivity가 가장 중요한 지표라고 판단하여 Grad CAM이 모델 사이즈의 Graph에 대한 설명을 위해 연구된 방법 중 가장 적합하다는 결론을 내렸습니다.

하지만 각 방법이 가지고 있는 특징이 있기 때문에 본인의 방법에 맞게 사용하는 것이 중요하다고 추가로 언급하고 있습니다.

댓글