Lecture 12


Lecture 12.1 - Fast Neural Subgraph Matching & Counting

Subgraphs와 Motifs는 그래프의 구조적 insights를 제공해주는 중요한 concepts이기 때문에, Subgraphs와 Motifs의 개수를 셈으로써 우리는 노드나 그래프의 features로 사용할 수 있다.

따라서 우리는 Subgraphs와 motifs의 개수를 세는 방법을 이번 목차에 다룰 것이며, Motifs를 Subgraphs에 포함되거나 동일한 개념으로 이해하시면 됩니다.

Subgraphs

Subgraph는 네트워크의 구성 요소이며, 이를 통해서 네트워크를 구성할 수 있기 때문에 building blocks of networks이며, Subgraph를 레고 블럭으로 생각한다면, 레고들이 모여서 큰 레고를 형성하듯이 네트워크를 구성하게 됩니다. 이렇게 레고 블럭과 같이 많은 영역에서 반복되는 구조의 구성요소를 통하여 그래프의 기능 및 동작을 결정합니다.

이러한 Subgraph 구성 기준에 있어 2가지 방법이 있는데, 첫번째는 노드를 중심으로 Subset을 구성하면 “Node-induced subgraph”이며, “induced subgraph”라고 부르기도 합니다.

두번째로 엣지를 중심으로 구성하면 “Edge-induced subgraph”라고 하며, “non-induced subgraph” or just “subgraph”라고 부르기도 합니다.

이러한 두 가지의 구성 기준은 도메인에 따라 두 방식 중 하나가 선택되어 사용되며 예를 들어 chemistry는 노드가 중요하므로 node-induced를 knowledge graph에서는 엣지가 중요하므로 edge-induced를 활용합니다.

Graph에서는 두 개의 그래프가 서로 같은 지를 아는 것이 중요한데, 이러한 문제를 Graph isomorphism problem 라고 하며, 이 문제는 NP-hard입니다.

예를 들어서 위와 같은 그래프가 주어졌을때, 우리는 두 개의 그래프가 완전히 다르다고 말할 수 있을까요? 우리는 대부분 $G_2$ 안 에 $G_1$ 이 포함되어 있다고 말할 것이며, 이러한 그래프의 isomorphism을 조금 더 확실하게 구분하기 위해서는 Node와 Edge를 가지고 서로 두 그래프를 비교해보는 것입니다.

위 처럼 두 그래프는 시각적으로 모두 다른 그래프 처럼 보이지만 첫번째 그래프의 경우에는 각 노드와 연결된 엣지를 기준으로 비교해본다면 서로 같은 그래프이다. 두번째 그래프의 경우 각 노드에 연결된 엣지가 다르니 다른 그래프이다. 이처럼 Node와 Edge를 가지고 서로 두 그래프를 비교하면 두 그래프의 isomorphism 판단할 수 있다.

$G_1$과 $G_2$의 node를 각각 match 시키면 우리는 $G_1$과 $G_2$ 사이에 동일한 subgraph를 가진다는 것을 알 수 있다. 따라서 우리는 $G_1$과 $G_2$는 다른 그래프지만 $G_1$은 $G_2$의 subgraph 라고 할 수 있다.

왼쪽 이미지처럼 그래프의 크기가 같더라도 엣지의 수 및 방향에 따라 다양한 non-isomorphic 그래프가 존재합니다. 왼쪽 그림은 그래프의 크기가 4인 모든 비동형, 연결된 비방향 그래프의 예시이며, 오른쪽은, 크기가 3인 모든 비동형 연결 방향 그래프의 예시입니다.

Network Motifs

Network motifs는 “recurring, significant patterns of interconnections”라고 정의하며 Network Motifs를 정의하기 위해서는 3가지 개념을 알아야 합니다.

1. Pattern: 찾고자 하는 node-induced subgraph로 motif이라고도 부르며, 그림에 Induced subgraph of interest 와 같은 유도될 수 있는 subgraph의 패턴이다.

2. Recurring: pattern이 전체 그래프에서 나타나는 빈도를 의미한다.

3. Significant: real graph와 random으로 생성된 graph를 비교를 통해 랜덤하게 생성된 그래프에서 기대보다 빈번하게 있는가를 의미한다.

Motif가 필요한 이유는 이러한 Motif을 통해 그래프의 작동방식을 이해할 수 있으며 예측하는데 도움이 되며, 예를 들어, feed-forward loop는 noise를 제거하는 용도로 뇌의 뉴런 네트워크에서 흔히 볼 수 있으며, parallel loops는 먹이사슬 관계에서 볼 수 있으며, Single-input module는 유전자 제어 네트워크에서 흔히 볼 수 있다고 합니다.

Subgraph Frequency

왼쪽 이미지처럼 Graph-level에서는 거대 그래프 $G_T$에 포함되는 작은 그래프 $G_Q$의 개수로 빈도를 정의할 수 있으며, 오른쪽 이미지처럼 Node-level에서는 $G_Q$의 anchor 노드를 $v$라 할 때 $G_Q$와 isomorphicg한 $G_T$의 subgraph들 중 $u$로 맵핑되는 노드 $v$의 개수를 빈도로 정의하며, 이러한 방식은 outlier에 더 robust하다고 합니다.

데이터 셋에 여러 개의 그래프가 포함되어 있고 데이터 세트에서 하위 그래프의 빈도를 계산하려는 경우에는 데이터 셋이 여러개의 그래프를 가진다면 연결되지 않은 부분을 가진 하나의 거대 그래프 $G_T$로 보고 빈도를 계산한다고 합니다.

Motif Significance

Motif Significance는 랜덤으로 생성된 network와 비교하고자 하는 network(real)에서 주어진 motif의 발생 빈도를 비교하여 계산한다.

Random Graphs를 정의하는 방법은 위의 그림 처럼 3가지로 정의가능하며, 첫번째 방법은 Erdős–Rényi random graphs라고 하며, n개의 노드를 정하고 각 노드를 연결하는 엣지를 생성할 확률 p를 정하여 random graph를 생성하는 방법이다.

또 다른 방법은 Configuration model라고 하며, Configuration model은 주어진 degree sequence를 사용하여 random graph를 생성하는 방법이다. 하나의 노드가 주어지면 각 노드는 degree(=spokes)가 존재한다. 이 각 노드에 존재하는 edge의 개수, 즉 degree를 하나의 작은 node로 생각하여 각 노드를 무작위로 연결한다. 이 연결선이 1개 이상 존재하면 마지막과 같이 그래프의 Node를 연결하여 random graph를 생성한다.

또 다른 방법은 Switching이라 하며, Switching은 그림과 같이 A->B / C->D 로 연결되는 edge를 무작위로 선택한 후, 두 edge의 endpoint를 서로 교환하여 A->D / C->B 로 연결되는 edge로 바꾸어 random graph를 생성하는 방법이다. 따라서 Switching은 random으로 생성된 그래프와 비교될 그래프의 node degree가 서로 같다는 특징을 가진다. Configuration model은 node degree가 달라질 수 있다.

Motif Significant를 계산하는 과정은 총 3 Step으로 이루어 진다.

지금까지는 1, 2단계를 다뤘고 이제 각각의 모티브가 통계적으로 얼마나 유의한지에 대하여 측정하는 방법인 3단계를 배울 것임

  • 1단계: 주어진 그래프 $\left(G^{\text {real}}\right)$의 모티프 수
  • 2단계: 유사한 통계(예: 노드 수, 에지 수, 정도 순서)를 가진 랜덤 그래프 생성 및 랜덤 그래프에서 모티브 수 계산
  • 3단계: 통계적 측정을 사용하여 각 모티프가 얼마나 유의한지 평가합니다.
  • Z-점수 사용

Z-score for Statistical Significance

$Z_{i}$는 모티프 $i$의 통계적 중요성을 포착 :

Zi=(Nireal Nˉirand )/std(Nirand )Z_{i}=\left(N_{i}^{\text {real }}-\bar{N}{i}^{\text {rand }}\right) / \operatorname{std}\left(N{i}^{\text {rand }}\right)
  • $N_{i}^{\text {real }}$은 graph $G^{\text {real }}$에서 motif $i$의 수
  • $\bar{N}_{i}^{\text {rand }}$ random graph들의 motif $i$의 수의 평균이다.

Network significance profile (SP):

SPi=Zi/jZj2S P_{i}=Z_{i} / \sqrt{\sum_{j} Z_{j}^{2}}
  • $SP_i$는 정규화된 Z-점수의 벡터이다.
  • $SP_i$의 차원은 motifs의 수가 된다.
  • SP emphasizes relative significance of subgraphs:
    • 크기가 다른 네트워크를 비교하는 데 중요
    • 일반적으로 큰 그래프일 수록 Z-score의 값이 커진다.

Motif Significant는 Z-score와 비슷한 개념이다. 랜덤으로 생성된 network의 motif의 발생 빈도의 평균과 표준편차를 사용하고 여기서 랜덤으로 생성된 network를 모집단으로 사용하여 Z-score를 구하며, 우리는 Network significance profile를 정규화된 Z-score의 벡터로 구할 수 있다. 일반적으로 큰 그래프일 수록 Z-score의 값이 커진다.

우리는 Z-score를 통해서 각 Subgraph에 Significance(음수 값은 표현이 부족함, 양수 값은 과표현)를 분류할 수 있으며, 이를 통해 network significance profile(모든 하위 그래프 유형에 대한 값이 있는 형상 벡터)을 만들 수 있으며, 다음으로는 여러 그래프의 프로파일을 랜덤 그래프와 비교합니다.

  • 규제망(유전자 규제)
  • 뉴런 네트워크(시냅스 연결)
  • 언어 네트워크(단어 인접)
  • 월드 와이드 웹(페이지 간 하이퍼링크)
  • 소셜 네트워크(우정)

비교를 통해 서로 다른 도메인의 network는 서로 다른 network significance profile를 가진다는 것을 알 수 있고 서로 같은 도메인의 network는 서로 같은 network significance profile을 가진다는 것을 확인할 수 있다. 따라서 우리는 network significance profile을 통해서 해당 도메인의 고유한 특성에 대한 insight를 얻을 수 있습니다.

Summary

  • Subgraphs and motifs are the building blocks of graphs (motifs는 graphs의 일부분)
    • Subgraph isomorphism and counting are NP-hard ( isomorphism and counting은 NP-hard 단계의 어려움을 같는다.)
  • Understanding which motifs are frequent or significant in a dataset gives insight into the unique characteristics of that domain (motifs의 significant를 통해서 우리는 해당 도메인의 고유한 특성에 대한 insight를 얻을 수 있음)
  • Use random graphs as null model to evaluate the significance of motif via Z-score (random graphs는 motif의 significance를 평가하기 위한 null model로써 사용됨)

Reference

CS224W: Machine Learning with Graphs 2021 Lecture 12.1-Fast Neural Subgraph Matching & Counting

Lecture 12. Frequent Subgraph Mining with GNNs

12. Frequent Subgraph Mining with GNNs