Paper review/Graph Mining

Simplifying Graph Convolutional Networks (PMLR'19)

언킴 2022. 7. 19. 18:23
반응형

 

 

Abstract

GCN과 GCN을 변형한 다양한 모델들은 상당한 주목을 받아왔으며, 사실상(de facto) Graph Representation을 학습할 때 가장 좋다고 알려진 방법이다. GCN은 CNN을 기반으로 진행되는데, 이 방식은 불필요한 복잡성과 중복된 계산이 요구된다. 따라서, 본 논문에서는 비선형성을 제거하고, Layer 사이의 Weight Matrix를 축소함으로써 GCN이 가지고 있는 과도한 복잡성을 줄였다. 복잡도는 줄였지만 많은 다운스트림 태스크에서 정확도에 부정적인 영향을 주지 않는다는 것을 검증하였다. 또한, 더 큰 데이터셋으로 확장이 가능하고 해석 가능성이 높아지며, FastGCN에 비해 속도는 최대 2배 가량 향상되었다. 

 

Introduction

Simplifying Graph Convolutional Networks (ICML'19)는 이후 LightGCN의 기반이 되는 논문 중 하나이다. 기존에 다양한 GCN 관련 논문들이 제안 되었으나 반복적인 non-linear를 통해 복잡한 구조를 가지고 있었다. 머신러닝에서도 처음에는 선형성을 기반으로 MLP 등과 같이 복잡한 비선형성을 가진 모델을 가지고 성능을 개선시켰으나, non-linear 모델은 linear 모델에 비해 설명력이 떨어진다. 본 논문에서는 non-linear를 제거하고 linear transformation를 사용하는 Simple Graph Convolution (SGC)를 제안하였으며, SGC는 기존에 제안된 GCN 논문들에 비해 간단하면서도 동등하거나 혹은 그 이상의 성능을 발휘하는 것을 증명하였다. 또한, 기존의 non-linear 구조를 가진 GCN 과는 달리 직관적으로 해석이 가능하며 Graph Convolution 관점에서 이론적 분석을 제공한다. 

 

Schematic layout of a GCN and SGC

Simple Graph Convolution (SGC)

본 논문에서는 Kipf & Welling (2017)이 제안한 GCN을 기반으로 node classification에서의 SGC를 소개한다. 또한, 본 논문에서 제안한 renormalization trick 방법이 얼마나 효과적으로 Graph spectral domain을 축소하고  SGC에서 어떻게 low-pass-type filter가 되는지 보여준다. 

 

본 논문에서 사용하는 기호들의 설명은 다음과 같다. 

  • Graph: G=(V,A)
  • set of nodes: V={v1,...,vn}
  • symmetric adjacency matrix: A
  • attribute in A: aij between node vi and vj
  • degree matrix: D=diag(d1,...,dn)
  • di=jaij
  • feature vector: xiRd
  • entire feature matrix: XRn×d, X=[x1,...,xn]T
  • one-hot vector of classes: yi{0,1}C

 

 

 

Graph Convolutional Networks

CNN과 MLP와 유사하게 GCNs도 multi-layer를 통해 각 node의 feature xi를 위한 새로운 feature representation을 학습한 결과를 linear classifier의 입력으로 사용한다. kth Conv Layer의 경우 모든 node의 representation을 H(k1)로 표현하고 출력되는 node의 representation은 H(k)로 표현한다. 첫 번째 node representation은 input feature가 되며 아래와 같이 표기한다.

H(0)=X

해당 값이 GCN layer의 첫 번째 input으로 사용된다. K-layer GCN은 K-layer MLP를 그래프의 각 node feature vector xi에 적용하는 것과 동일하며, 각 노드의 hidden representation은 layer의 시작 부분에서 node의 이웃과 평균을 낸 값이다. 각각의 Graph Conv Layer는 node representation을 업데이트하기 위해 Feature propagation, Feature transformation, nonlinear transition, 총 3가지 단계로 구성된다. 

 

Feature propagation

해당 부분이 MLP와 GCN을 구별할 수 있는 부분이며, 각 Layer의 시작 부분에서 각 node vi의 feature hi는 주변 이웃 노드 feature vector의 평균을 통해 계산된다. 

h¯i(k)1di+1hi(k1)+j=1naij(di+1)(dj+1)hj(k+1)

위 수식에서 self-loop를 포함한, 즉, 'normalized'한 수식과 이를 행렬식으로 간단하게 표현하면 수식은 아래와 같다. 

S=D~12A~D~12

H¯(k)SH(k1)

이 과정을 통해 node의 hidden representation을 smooth하게 만든다. 

 

Feature Transformation and nonlinear transition

smoothing을 한 후, GCN Layer는 MLP Layer와 동일한 형태로 진행된다. 각각의 Layer는 Weight Matrix Θ(k)로 연결되어 있으며, Layer의 값과 Weight Matrix를 곱함으로써 선형 변환을 한다. 

H(k)ReLU(H¯(k)Θ(k))

 

Classifier

마지막으로 Classifier를 통과해 node classification을 수행한다. 이때 Softmax classifier를 사용하며, node의 수가 n인 경우에는 Y^Rn×C가 된다. 

Y^GCN=softmax(SH(K1)Θ(K))

softmax(x)=exp(x)/c=1Cexp(xc)를 의미한다. 

 

Simple Graph Convolution

전통적인 MLP는 Layer를 거칠수록 보다 고차원의 데이터를 얻을 수 있다. 반면에, GCN는 Layer를 거치면 다음 hop의 정보를 얻는다. 이 효과는 receptive field를 증가시키는 Conv Layer와 유사한 구조를 띄고 있다. Conv Layer의 경우 VGG나 ResNet만 보더라도 Layer를 깊게 쌓을수록 우수한 성능을 발휘하는 반면, MLP의 경우에는 3, 4 Layer를 넘어가면 별다른 이점이 존재하지 않는다. 

 

Linearization

GCN은 MLP와도 유사하고 CNN과도 유사하다. 기존의 GCN은 CNN과 같은 형태로 Layer를 쌓는 구조를 띄었으나 Layer를 쌓을수록 성능이 저하되는 것을 확인할 수 있다. 따라서, 본 논문에서는 non-linear이 그다지 중요하지 않다는 것을 가정으로 한다. 그러나, 대부분의 benefit은 local averaging에서 발생하기 때문에, Layer 사이의 non-linear는 삭제하고 마지막 softmax 함수는 살려둔다. 

Y^=softmax(S...SSXΘ(1)Θ(2)...Θ(K))

K-th normalized matrix SSK로 표현하고, Θ=Θ(1)Θ(2)...Θ(K)로 표현하면 최종 수식은 아래와 같이 표현된다. 

Y^SGC=softmax(SKXΘ)

 

Logistic regression

X¯=SKX로 표현하면, Y^=softmax(X¯Θ)X¯에 대한 Weight를 계산할 필요가 없기 때문에 multi-class Logistic Regression으로 축소할 수 있다. 

 

Spectral Analysis

이번 장에서는 SGC를 Graph Convolution 관점에서 다룬다. 본 연구에서는 SGC가 Spectral domain의 fixed filter에 해당하는 것을 검증하였다. 이때, SGC는 그래프에서 low-pass filter의 역할을 어떻게 수행하는지 알아보자.

 

Preliminaries on Graph Convolutions

Graph Fourier analysis는 Euclidean domain과 유사하게 Spectral decomposition (Graph Laplacian)에 의존한다. Graph Laplacian은 Δ=DA로 정의되며, normalized versiond은 Δsym=D1/2ΔD1/2로 표현한다. 이때 Δ=UΛUT는 양의 준정부호 대칭 행렬을 의미한다. 이때 x의 Fourier Transform은 UTx^ 로 표현할 수 있으며, 역변환은 x=Ux^로 표현할 수 있다. 따라서, Graph Convolution Operation은 아래와 같이 표현할 수 있다. 

g * x=U((Ug)(UTx))=UG^UTx

위 수식을 k-th order polynomial(Chebyshev)로 변형하면 아래와 같은 수식으로 표현이 된다. 

 g * x=θ(I+D1/2AD1/2)x

최종 설계된 모형은 기존의 GCN 논문에서 제안된 renormalized trick을 사용한 모델이다. 이와 같이 일반화 함으로써 Layer를 여러 층으로 쌓을 수 있게 되었다. 

 

SGC and Low-Pass Filtering

본 논문에서는 SGC가 GCN의 Low Pass Filtering임을 보여준다. 이때 Loss Pass Filtering은 말그대로 낮은 주파수만 통과한다는 것을 의미한다. 이때의 낮은 주파수는 eigenvalue가 낮은 것을 의미한다. 먼저 initial first-order Chebyshev filter는 GCN으로 파생되었기 때문에 propagation matrix는 S1-order=I+D1/2AD1/2가 된다.

 

Δsym=ID1/2AD1/2이기 때문에 이를 이전 수식에 대입하면 S1-order=2IΔsym이 된다. 그러므로, S1-orderK이면 filter coefficient는 g^i=g^(λi)=(2λi)K가 된다. 아래의 그림에서 관찰되는 바와 같이 First-Order Chebyshev는 eigenvalue가 1보다 작을 때 필요 이상으로 신호를 증폭시킨다는 문제점이 존재한다. 이와 같은 문제를 해결하기 위해 기존의 GCN은 renormalized trick을 사용하였다.

 

renormalized trick은 모든 노드에 대한 self-loop를 normalized adjacency matrix에 더해주는 것을 의미한다. S~adj=D~1/2A~D~1/2가 되며, ~는 self-loop를 더해준 것을 의미한다. 즉, A~=A+I,D~=D+I를 의미한다. 이때는 이전과는 달리 g^(λ~i)=(1λ~i)K가 된다. renormalized trick을 사용하면 Spectral Coefficient를 축소시킬 수 있는 것을 확인할 수 있다. 

 

 

마지막 그림의 Augmented Normalized Adj.는 S~adj=D~1/2A~D~1/2를 의미한다. 원래의 spectral 의 범위는 [0,2]를 가진다. 이때 λi가 1보다 큰 경우에 차수가 홀수가 되면 (1λi)K 홀수 차수일 때마다 음수의 값을 도출한다. 이때 self-loop를 더해준 S~adj는 가장 큰 고유값이 2에서 1.5로 줄어들기 때문에 음의 계수의 영향력이 줄어든다. 나아가, 이처럼 스케일링 된 spectrum은 S~adj로 정의된 필터가 low-pass-filer로 작동하는 것으로 이해할 수 있다.