본문 바로가기
스터디/인공지능, 딥러닝, 머신러닝

[CS224w] Motivation of Heterogeneous Graphs

by 궁금한 준이 2023. 8. 8.
728x90
반응형
반응형

 

Motivation

지금까지 살펴본 GCN, GraphSAGE, GAT, GIN 모두 노드의 성질(property)이 같은 그래프이다.

node feature가 차원이 커도 모든 노드들의 차원이 같기 때문이다.

 

그러나 실제 그래프 데이터 구조에서 노트 성질, 엣지 성질 등이 다양하기 때문에 앞에서 살펴본 homogeneouse graph로는 충분하지 않다.

 



노드의 성질이 2개인 경우
예: Paper node, Author node



엣지의 성질이 다양한 경우
예: Cite, Link

하나의 그래프 내에서, 노드와 엣지의 성질이 모두 다양한 경우도 가능하다

2개의 노드와 2개의 엣지가 있다면, 2*2*2=8가지 가능한 relation이 존재한다.

보다시피 relation type은 (node_start, edge, node_end) 처럼 구성할 수 있다.

그리고 이렇게 정의된 relation type은 node와 edge간의 관계를 더 잘 포착할 수 있다.

 

Heterogeneous Graphs

(한글 번역으로는 이종그래프인데, 더 이상한것 같다)

\[ G = (V, E, \tau, \phi ) \]

  • Node ($v \in V$)
    • $\tau$: node type 함수. 노드 $v$의 type은 $\tau(v)$ 로 표기한다.
  • Edge ($(u, v) \in E$)
    • $\phi$: edge type 함수. edge ($u, v$)의 type은 $\phi(u, v)$ 로 표기한다.
    • relation type은 튜플로 구성한다. $r(u, v) = \left( \tau(u), \phi(u, v), \tau(v) \right) $

Many Graphs are Heterogeneous Graph

간단히 그림으로 이해하도록 하자


Node Type: Drug, Disease, Adverse Event, Protein, Pathways
Edge Type: Causes, is_a, has_func, etc.
Relation: (fulvestrant, Treats, Breast Neoplasms)

When do we need a heterogeneouse graph?

일반적으로, node/edge type을 feature로 간주할 수 있다. 간단하게는 one-hot encoding을 통해 node/edge의 type을 feature로 삼아서 GCN과 같은 homogeneous (standard) graph에 적용할 수 있다.

그렇다면, 언제 heterogeneous graph가 적절할까?

  1. Node/Edge Type이 서로 다른 feature shape을 갖는 경우
    1. Author node는 4차원 feature인데 paper node는 5차원 feature인 경우, standard graph에 적용할 수 없다.
  2. 다른 relation type이 다른 상호작용을 의미하는 경우
    1. Standard graph의 경우, (영어, 번역, 프랑스어)와 (영어, 번역, 중국어)는 같은 모델로 학습할 수 없다.

결국, heterogeneous graph는 그래프를 표현하는데 있어서 굉장히 풍부하다고 할 수 있다.

 

그러나 계산, 메모리 비용이 많이 들고 구현하기도 어렵다.

heterogeneous graph를 이용하기 전에, standard graph로 바꾸어서 적용하는것도 고려사항이다.

728x90
반응형