본문 바로가기
Paper Review/Graph Model

[2] GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Models

by ga.0_0.ga 2023. 3. 9.
728x90
반응형

논문 링크 : https://arxiv.org/abs/1802.08773

Github : https://github.com/JiaxuanYou/graph-generation

 

<Introduction>

1. 그래프로부터 그래프 생성방법 직접 학습합니다.

=> 서로 다른 노드 순서로 그래프를 시퀀스로 표현가능

=> 입력노드 순서에 따라 서로 다른 그래프가 생성되는 것이 아닌 동일한 그래프가 생성되도록 회귀모델을 제안

=> 노드와 엣지의 개수가 다양해도 그래프생성 가능

2. 기존 Graph Generation 연구의 문제점은 다음과 같습니다.

- 크고 다양한 output => N개의 노드 -> n^2 개의 output

- 노드의 집합이나 개수가 미리 정해져 있어야 함

- 복잡한 종속성

=> 두 노드가 공통 이웃을 가지면 연결될 가능성 높음

=> 다음 엣지는 이전에 생성된 엣지에 의존

<Model>

전체 구조도

1. Autoregressive(자동회귀) 모델

- 모든 노드와 엣지 사이의 복잡한 결합확률 포착에 용이

- 가변 크기의 그래프 수용

2. 계층적 모델

- Graph-level: 새로운 노드생성, 그래프 유지

- Edge-level: 새로 생성된 노드에 대한 엣지 생성

3. BFS사용

-확장성 향상

4. Input: 인접벡터와 이전 state

5. 입력순서: graph를 BFS순서의 sequence로 나타낸 것

<결론>

- 각 노드와 edge를 생성하기 위해 graph-level RNN과 edge-level RNN을 사용.

=> edge-level RNN: 이전 sequence에서 생성된 노드에 새로운 노드를 연결할지 나타내는 binary sequence를 생성

=> graph-level RNN : 매번 node sequence에 새로운 node를 추가

* GCN과의 차이점*

1. GCN

- 인접행렬 사용

- 입력은 노드의 입력 feature

- 그래프 각 노드의 feature를 학습

2. GraphRNN

- 인접행렬대신 인접벡터 사용, 신경망의 입력으로 사용

- 그래프 생성법 학습

- 노드의 입력은 깊이우선탐색으로..

728x90
반응형

댓글