Lecture 12.2 - Neural Subgraph Matching
CS224W Lecture 12.
Lecture 12
Lecture 12.2 - Neural Subgraph Matching
Subgraph Matching
Subgraph matching이란: query 그래프가 target 그래프의 subgraph isomorphism인지 확인하는 task
우리는 다음과 같이 Query와 Target 그래프가 주어졌을때 Query가 Target의 subgraph 인지 판단하기 위해서 embedding space의 geometric shape을 활용하며, 여기서 embedding space의 geometric shape을 구하기 위해서 GNN을 활용합니다.
Node anchor를 활용하여 query의 노드 $v$와 target의 노드 $u$의 임베딩이 동일한지 확인하며, Query의 anchor node가 k-hop을 가질 때 k-hop 내에 있는 이웃노드들의 임베딩 또한 비교한다.
Order Embedding Space
다음과 같이 embedding space 안에 ${\color{red}\square}$과 ${\color{green}\bigcirc}$, ${\color{yellow}\bigcirc}$를 Representation했을 때 ${\color{green}\bigcirc}$은 ${\color{green}\bigcirc}{\color{red}\square}$의 관계를 가지기 때문에 Target의 Subgraph라고 할 수 있다.
그러나 Query2는 ${\color{yellow}\bigcirc}{\color{red}\square}$이기 때문에 Target과 다른 그래프라고 할 수 있다.
Subgraph isomorphism relationship 은 3종류로 다음과 같이 embedding space에 Representation 된다.
Transitivity는 ${\color{yellow}\square}$ $\preccurlyeq$ ${\color{green}\square}$, ${\color{green}\square}$ $\preccurlyeq$ ${\color{red}\square}$ 인 경우 ${\color{yellow}\square}$ $\preccurlyeq$ ${\color{red}\square}$의 관계를 가지는 형태로 ${\color{yellow}\square}$ 은 ${\color{green}\square}$의 Subgraph이고 ${\color{green}\square}$은 ${\color{red}\square}$의 Subgraph이고 ${\color{yellow}\square}$ 은 ${\color{red}\square}$의 Subgraph인 관계이다.
Anti-symmetry는 ${\color{yellow}\square}$ == ${\color{green}\square}$ 의 관계를 가지는 형태로 ${\color{yellow}\square}$ 과 ${\color{green}\square}$이 서로 동일한 그래프인 관계이다.
Closure under intersection은 ${\color{yellow}\square}$ 이 ${\color{red}\square}$과 ${\color{green}\square}$의 부분적인 Subgraph인 관계이며, 음수를 가지는 임베딩은 없으며, 여기서 ${\color{yellow}\square}$ 유효한 값을 가진다.
Loss Function
Subgraph 속성이 순서 임베딩 공간에서 보존되도록 순서 제약 조건을 지정하며, 이를 위해서 max-margin loss를 사용하게되며 이를 GNN에 학습하여 embedding space 구합니다. 해당 loss function은 아래와 같습니다.
위의 수식을 그래프 $G_{q}$와 $G_{t}$ 사이의 “margin”로 정의합니다.
$E\left(G_{q}, G_{t}\right)=0$ (왼쪽 그래프)이면 $G_{q}$ 는 $G_{t}$ 의 Subgraph가 이고 $E\left(G_{q}, G_{t}\right)>0$ (오른쪽 그래프)이면 $G_{q}$ 는 $G_{t}$ 의 Subgraph가 아님을 나타냅니다.
Training
- 학습 데이터셋 $\left(G_{q}, G_{t}\right)$는 $G_{t}$ 의 subgraph인 $G_{q}$가 반, 그렇지 않은 것이 반이 되도록 구성해야 한다.
- Positive sample에 대해서는 $E\left(G_{q}, G_{t}\right)$ 를 최소화하도록 negative smaple에 대해서는 $\max \left(0, \alpha-E\left(G_{q}, G_{t}\right)\right)$ 를 최소화하도록 학습하는데 이는 모델이 임베딩을 너무 멀리 이동시키는 것을 방지하기 위함이다.
- For positive examples: $G_{q}$가 $G_{t}$의 subgraph일 때 $E\left(G_{q}, G_{t}\right)$ 최소화
- For negative examples: $\max \left(0, \alpha-E\left(G_{q}, G_{t}\right)\right)$ 최소화
- 데이터셋 $G$ 로부터 학습을 위한 $G_{T}$ 와 $G_{Q}$ 를 샘플링하는 과정이 필요하다.
- 매번 반복할 때마다 새로운 training pairs을 샘플링한다.
- 이점: 반복할 때마다 모델은 다른 Subgraph example를 볼 수 있다.
- 샘플링되는 Subgraph가 기하급수적으로 많기 때문에 성능은 향상되고, 과적합이 방지된다.
- $G_{T}$는 무작위로 anchor 노드 $v$ 를 뽑은 뒤 거리가 $K$ 인 모든 노드를 포함시켜 만든다.
- Positive example $G_{Q}$는 BFS 샘플링을 거친다.
- 일반적으로 데이터 집합의 크기에 따라 3-5를 사용한다.
- 런타임과 성능을 절출하는 하이퍼파라미터
- $S=v, V=\phi$ 로 초기화한다.
- 매 스텝마다 $S$ 의 모든 이웃 노드 집합 $N(S)$의 $10 \%$ 를 샘플링하여 $S$ 로 업데이트하며 나머지 노드들은 $V$ 로 업데이트 한다.
- $K$ 스텝을 거치면 $G_{Q}$를 얻게 된다.
Negative example은 $G_{Q}$로부터 노드/엣지들은 제거하거나 추가하여 만든다.
Summary
- Neural subgraph matching uses a machine learning based approach to learn the NP-hard problem of subgraph isomorphism (NP-hard 문제인 Subgraph matching를 해결하기 위해서 ML 기반의 접근법을 사용)
- Given query and target graph, it embeds both graphs into an order embedding space (쿼리와 그래프가 주어지면 모두 order embedding space에 포함시킨다.)
- Using these embeddings, it then computes $E\left(G_{q}, G_{t}\right)$ to determine whether query is a subgraph of the target (이러한 임베딩을 사용하여 $E\left(G_{q}, G_{t}\right)$을 계산하여 Subgraph인지 확인한다.)
- Embedding graphs within an order embedding space allows subgraph isomorphism to be efficiently represented and tested by the relative positions of graph embeddings
(order embedding space를 통해 Subgraph를 효율적으로 표현하였으며, graph embedding의 상대적 위치에 의해 테스트 된다.)
—
CS224W: Machine Learning with Graphs 2021 Lecture 12.2 - Neural Subgraph Matching