<aside> 💡 GNN의 Key idea node의 local neighborhood로부터 신경망으로 정보를 aggregation하여 embedding을 생성

</aside>

Untitled

How powerful are GNNs?

  1. GNN 모델들(GCN, GAT, GraphSAGE 등)의 강력한 표현력(그래프 구조를 구분할 수 있는 능력)은 어디서 기인하는지?
  2. GNN의 표현력을 극대화할 수 있는 방안은 어떤 것 일지?

GNN 모델 예시: GCN (mean-pool) & GraphSAGE (max-pool)

GCN

GCN

GraphSAGE

GraphSAGE

Local Neighborhood Structure

Untitled

<aside> 💡 Q. GNN은 어떻게 그래프 구조를 구분할까? A) 위 그래프처럼, 모든 node의 feature가 동일한 경우가 있을 수 있으므로, local neighborhood 구조를 이용하여 node를 구분하는 방법을 생각해볼 수 있다.

</aside>

(idea) node degree를 이용

node 1과 node 4는 같은 node degree를 갖기 때문에, node degree 만으로는 node의 구분이 어려움 ⇒ node의 이웃 node의 degree까지 고려 ⇒ “Computation graph”

Untitled

2-hop degree까지의 각 node에 대한 computational graph(rooted subtree structure)를 그려보았을 때, 1, 3, 4, 5번 node는 구분이 가능함

그러나, GNN은 색깔로 구분되는 feature만을 고려하므로, node 1과 node 2을 구분할 수 없다.

⇒ node 1과 node 2에 대해서 같은 embeding을 생성함

Untitled

<aside> 💡 Q. GNN의 표현력을 극대화할 수 있는 방안은 어떤 것 일지? A. aggregation 함수가 injective 해야함
(subtree A ≠ subtree B $\xrightarrow{aggregation}{}$ embedding of subtree A ≠ embedding of subtree B)

</aside>

Untitled