안녕하세요, 가짜연구소 Groovy Graph 팀의 서호준입니다. 이번 포스트에서는 2018년도에 소개 된 Exploiting Edge Features in Graph Neural Networks 논문에 대해 리뷰해 보도록 하겠습니다.

목차

  1. Abstract
  2. Introduction
  3. Related works
  4. Edge feature enhanced graph neural networks
  5. Experimental results
  6. Conclusions

0. Abstract

  • 많은 사람들이 현재 활발히 사용하고 있는 GCNs와 GAT모델은 edge feature 활용성 면에 대해 제한적인 측면이 있다.
  • 그렇기 때문에 edge feature를 undirected or multi-dimensional edges 측면에서도 더욱 충분히 사용할 수 있는 새로운 프레임워크를 고안해 내었다.
  • 현재 주 모델들에서 사용되고 있는 symmetric normalization 방법이 아닌 doubly stochastic normalization 방법을 제안하였다.
  • 각 레이어에서 새로운 formula를 생성해 내어 multi dimensional edge feature를 사용 할 수 있도록 한다.
  • Edge features가 네트워크 레이어 전반적으로 고루 사용될 수 있다.

1. Introduction

  • 현재 대표적인 GNN 모델로 GCNsGAT 등이 많이 사용되고 있다.
  • GCNsGAT의 본질은 확연히 다르다 → GCNs에서 이웃 노드를 취합하는 것은 Graph Topological Structure에 의해 정의되는 반면 (Node feature와는 무관하게), GAT의 weights는 어텐션 메카니즘에 의해 node feature의 함수로 정의된다. GCNs에서는 오직 one-dimensional real value edge feature를 사용하기 때문에 이 역시 edge information은 그저 edge가 존재 하느냐 마느냐 인 것이기 때문에 edge feature를 제대로 사용하고 발휘하고 있다고 볼 수 없다.
  • GATGCN의 레이어는 node feature를 original adjacency matrix를 인풋으로 사용하는데, 이는 noisy하거나 not optimal할 수 있기 때문에 효과가 제한적일 수 있다고 한다.

옛날에 graph learning에서 그래프 데이터의 복잡한 non-Euclidean structure를 해결하기 위해

  1. Graph-statistics (e.g., degrees)를 추출하거나
  2. Kernel functions을 사용하거나
  3. Hand-crafted features를 고안하였다.

이후에는 data driven embedding approach를 사용하게 되었다.

대표적인 embedding approach들의 한계점은

  1. Low-dimensional vectors를 맵핑하는 function이 linear하거나 너무 간단한 function을 사용하여 복잡한 패턴을 풀어내지 못하였다.
  2. DeepWalk, Node2Vec 등 대부분은 node features를 모델에서 사용하지 않는 문제가 있었다.
  3. 이러한 모델들은 모두 transductive한 문제가 있었다.

이러한 문제점을 풀기위해 이후에는 neural networks가 graph learning에서 사용되기 시작하였다. GCNs와 GAT이 대표적인 예이다.

3. Edge feature enhanced graph neural networks

3.1. Architecture overview

  • N개의 nodes가 있을 때, node feature를 X라고 한다면 X는 NxF matrix representation이 된다고 정의한다.
  • · 은 whole range of a dimension을 슬라이스 하는 것을 말한다.
  • 즉, X$_i$,$_j$는 X$i$의 $j$번째 feature를 말하는 것이다.
  • X$_i$·R$^F$ 는 $i$번째 노드의 F dimensional feature를 말하는 것이다.
  • E는 NxNxP 형태의 텐서로서 edge feature를 나타낸다.
  • E$_i$,$_j$·R$^P$ 는 P dimensional feature를 가지고 있고 node $i$에서 node $j$로 이어지는 edge를 말하는 것이다.
  • E$_i$,$_j$· = 0 인 경우는 $i$와 $j$사이에 edge가 존재하지 않는다고 정의한다.
  • $l$을 superscript로 사용하여 lth 레이어임을 표시해 준다.
  • Input은 X$^0$와 E$^0$로 나타낸다.
  • 첫 EGAT레이어를 거치고 나면, X$^0$는 NxF$^1$의 value를 생성해 내고 이는 X$^1$이다.
  • 그 와중에 E$^1$은 E$^0$의 dimension을 모두 preserving 하며 만들어지고, 이 E$^1$는 그 다음 레이어의 edge feature로 사용된다.
  • The node features X$^l$은 F$^l$ 차원공간에서의 노드 엠베딩이다.
  • 노드 분류 문제에서는 각 노드 엠베딩 값 X$^l$,$_i$의 last dimension 값을 softmax를 통과시켜 아웃풋을 얻어낸다.
  • 그래프 prediction 문제(Regression and classification)는 pooling layer가 first dimension에 적용되어 feature matrix가 전체 그래프를 나타내는 single vector embedding로 만들고, 그 후에 fully connected layer를 적용하여 아웃풋을 만들어 이 아웃풋으로 regression을 하던 classification을 진행하던 한다.
  • E$^0$는 pre-normalized되어 있다는 것을 참고하자. (Pre-normalization에 대해서는 뒤에 얘기)
  • 이 논문에서는 EGNN을 EGNN(A), EGNN(C)로 두가지를 제안하여 GAT과 GCNs과 비교한다.

3.2 Doubly stochahstic normalization of edges

                                               Doubly Stochastic Matrix  <img src="/graph/files/posts/Exploiting-Edge-Features-for-Graph-Neural-Networks/Doubly_stochastic.png" width="500px"> 일반적으로 Markov Transition Matrix가 행과 열 모든 곳에서 1.0으로 총합을 이루는 것 Matrix를 Doubly Stochastic Matrix라고 한다.

Doubly Stochastic Normalization

E~$_i$,$_j$,$_p$는 일반적인 E$_i$,$_j$,$_p$를 softmax로 normalizing하는 것이지만 이 논문에서는 이렇게 한번 정규화 시킨 후 다시 한번 더 루프를 돌면서 정규화를 해준다.

즉, source node 측면에서도 합은 1, destination node 측면에서도 합은 1이 되어 doubly stochastic matrix가 된다.

그렇기 때문에 수학적으로,

a stationary finite Markov chain with a doubly stochastic transition matrix will have a uniform stationary distribution 하다

*Stationary Markov Chain은 Mp = M이 되는 matrix이다.

Graph neural networks에서는 edge features가 레이어를 지남에 따라 반복적으로 곱해지는데, 이때 doubly stochastic normalization이 이 프로세스를 안정화 시킬 수 있다고 한다.

B. Wang, A. Pourshafeie, M. Zitnik, J. Zhu, C. D. Bustamante, S. Batzoglou, and J. Leskovec. Network Enhancement: a general method to denoise weighted biological networks.

Doubly Stochastic Matrix의 효과는 위의 논문에서 graph edge denoising측면에서 이미 입증되었다고 한다.

3.3. EGNN(A): Attention based EGNN layer

  • GAT의 경우 edge feature는 그저 이웃노드들이 있는지 없는지의 binary value를 가지고 있을 뿐이다. 즉, weights같은 real value feature는 고려하지 않는다.
  • 이 논문에서는 다양한 edge feature를 같이 사용하는 새로운 어텐션 메카니즘을 제안한다. EGNN(A) layer formula g$^l$-transformation formula

  • g$^l$-transformation은 단순히 이전 레이어의 node embedding을 weight matrix W$%l$$^l$에 행렬곱을 해 주는 operation이다.

요약: g-transformation된 node feature와, p-edge feature와 node feature를 α-transformtion한 값을 곱한 것을 P채널로 concatenation(?)한 값을 non-linear activation을 통과시켜 준다. 그렇게 함으로써 그 다음번 레이어의 node embedding을 구하는데 사용한다.

  • α$_i^l$,$_j$,$_p$값은 $X_i^l$ $^-$ $^1$, X$_j^l$ $^-$ $^1$의 함수이며 α는 우리가 말하는 attention coefficients이다.

    일반적으로 attention mechanism의 attention coefficients는 X$i$,$.$와 X$j$,$.$두 nodes에만 의존하여 계산되지만, 이 논문에서는 그 두 nodes외에 edge features에도 의존하여 계산될 수 있게 하였다.

  • Multi dimensional edge feautures를 위해서 각 feature channel마다 위 공식으로 계산을 한 후 concatenation을 통해 병합하여 계산한다.

특정 edge feature channel을 위해 이 논문의 attention function을 요약해보면 다음과 같다.

DS: Doubly Stochastic Normalization

f$^l$: Scalar value로 아웃풋을 나타내는 아무 attention function을 말한다.

이 논문에서는 아래 공식 (11)과 같이 linear function을 사용하였다고 한다.

아래 공식 (12)에서 볼 수 있듯이 attention coefficients가 다음 레이어에서 edge features로 사용된다고 한다.

3.4 EGNN(C): Convultion based EGNN layer

EGNN(C)와 EGNN(A)의 차이는 attention coefficients를 사용하는가 adjacency matrix를 사용하는지이다. 그러므로 이 논문에서 α..$_p$대신 E..$_p$를 사용하는 차이가 있다.

3.5. Edge features for directed graph

이 논문에서는 edges의 방향성이 representation expressiveness에 중요하기 때문에 direction을 잃지 않는 것이 중요하다고 하였다. 그래서 directed E$_i$,$_j$,$_p$가 아래와 같이 표현되도록 하였다.

이렇게 모든 directed channel들은 3개의 channels로 증강된다. 이렇게 증강된 3개의 채널은 3타입의 이웃을 정의한다 (Forward, Backward and Undirected).

4. Experimental results

4.1. Citation networks

  1. 텐서플로우 sparse tensor functionality를 사용하여 아주 효율적으로 메모리를 줄이고 복잡한 계산을 할 수 있었다고 한다 (On Nvidia Tesla K40 with 12G graphics memory)
  2. Cora, Citeseer 그리고 Pubmed 데이터 셋을 사용하였다.
  3. 일반적으로 이 데이터들은 edge direction을 버리는 pre-processing을 거친 것이기 때문에 오리지널 데이터를 가져와서 edge direction을 참고했다.
  4. Activation Function으로 ELU를 사용했다.
  5. 20번씩 모든 버전의 알고리즘을 돌려봤다. 그 후 classification accuracies의 mean과 standard deviation기록하였다.
  6. 데이터들의 Class distribution이 다 imbalanced하기 때문에 이를 테스트 하기 위해 unweighted와 weighted losses를 둘 다 테스트해서 퍼포먼스를 보았다. Class k에 속하는 노드의 weight를 계산하기 위해 아래 공식이 사용 되었다.

K: class의 갯수

n$_k$: Training se 에서 k-class에 속하는 nodes.

즉, 숫자가 적은 소수 클래스에 있는 nodes는 더 큰 weights를 가지고 그에 따라 loss계산 시 더 penalized된다.

성능 결과는 아래와 같다.

EGNN(C)-M* or EGNN(C)-D*은 GCN이랑 비슷하거나 조금 더 나쁜 성능을 보여준다. 그러나 EGNN(C)는 훨씬 좋은 성능을 보인다. Multi-dimensional edeg features와 doubly stochastic normalization이 같이 사용되었을 때 확연히 좋은 성능을 보이는 것이 감지되었다.

4.2. Molecular analysis

  • 분자 구조 분석 태스크에서는 Whole graph prediction을 하게 되는 경우가 대부분이다.
  • 데이터는 Tox21(multi-label classification problem) , Lipo 그리고 Freesolv(regression tasks)를 사용하였다.
  • 이 실험에서 2 graph processing layers를 사용하였고, a gloabal max-pooling layer와 a fully connected layer를 사용하였다고 한다.

성능 결과는 아래와 같다.

5. Conclusions

  • 그래프 인공 신경망에서 현존하는 문제점들을 풀어내기 위한 새로운 프레임워크를 제안하였다.
  • Multi-dimensional edge features를 활용하였다.
  • Doubly Stochastic Normalization을 사용하였다.
Hojun.Seo's profile image

Hojun.Seo

2022-07-23 13:37

Read more posts by this author