[3] Learning Deep Generative Models of Graphs

2023. 3. 9. 22:39·Paper Review/Graph Model
728x90
반응형

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

참고 자료 : https://qdata.github.io/deep2Read//MoreTalksTeam18/Arsh18-DGenerateGraph.pdf

​

 

* 논문의 대략적인 내용만 이해하고 작성하였습니다. 틀린 내용이 있을 수도 있으니 세부적인 내용은 원논문을 참고해주세요! *

​

<Introduction>

이 논문에 대해서 간략히 설명하면 현재의 그래프에서 입력으로 들어온 새로운 노드를 추가할 것인지 결정하여 새로운 상태의 그래프를 생성하는 문제에 대한 논문입니다. 노드를 추가할지 결정할 때는 당연히 그래프의 전체적 구조와 노드의 속성을 고려하여 결정하게 되고 입력으로 들어오는 노드의 순서도 고려할 수 있다고 합니다.

​

​

<Process>

프로세스

위 그림은 전체 프로세스를 나타내는 그림입니다. 노드가 들어오면 노드를 추가할지 결정하고 추가하기로 결정되었다면 엣지를 연결할지도 결정합니다.

연결하기로 결정되면 어떤 노드와 연결할 것인지도 결정해줘야 합니다. 인풋으로 들어오는 모든 노드들에 대해서 위 과정을 반복하게 됩니다.

아래 그림은 위의 그림을 스테이트 머신으로 간략히 표현한 그림입니다.

state machine

앞의 프로세스를 좀 더 구체적으로 세단계로 나누어 보면 다음과 같습니다.

​

​

Step 1) 먼저 각 노드들의 상태를 구합니다.

=> 각 노드 v와 이웃한 노드들의 임베딩 값, 그리고 엣지 feature를 이용하여 v라는 노드는 연결된 다른 노드들로 부터 정보를 받습니다. 이 값을 논문에서는 메시지라고합니다.

각 노드의 이전 state값과 메시지를 이용해서 각 노드의 상태값을 업데이트 합니다. 이 과정은 모든 노드에 대해 이루어지는 과정입니다.

​

​

Step 2) Step 1에서 구한 노드들의 상태를 이용해 전체 그래프의 feature를 구합니다.

=> 전체 그래프 feature를 구해야 하는데 여기서는 앞서 구한 각 노드의 값을 이용합니다. 각 노드 값을 한번 더 임베딩 시키고 모두 더하거나 평균을 구하는 과정을 거칩니다. 그렇게 얻어진 h_G가 그래프의 feature가 됩니다. 여기서 f는 fcn이나 rnn을 이용한다고 합니다.

​

​

Step 3) 마지막으로 앞서 구한 값들을 이용해 차례대로 노드를 추가할 것인지, 엣지를 추가할 것인지 결정하고 각 노드를 scoring하는 단계까지 거치게됩니다.

=> 노드와 엣지의 추가여부를 결정하는 단계입니다.

노드 추가 여부를 결정하기 위해서는 전체 그래프 feature를 이용합니다. 만약 여기서 추가하지 않기로 결정되면 밑의 두 연산은 수행되지않습니다.

그 다음 엣지 추가 여부를 결정하기 위해 전체 그래프 feature와 각 노드 feature를 이용합니다. 노드와 연결될 노드를 결정하기 위해서 인풋 노드의 값과 현재 그래프에 있는 노드들의 값을 이용하여 모든 노드에 대해 scoring하고 이 값을 softmax에 넣어서 정규화 시킨 후 가장 값이 크게 나오는 노드와 입력으로 들어온 노드를 연결합니다.

 

​

​

​

<Visualization>

- Drug Design에 활용한 모습입니다. 이 그림은 이 모델을 이용한 분자 생성과정을 나타내는 그림입니다.

=> 이 과정을 통해 완성된 분자 구조가 독성을 갖는지 등의 여부를 판별할 수 있습니다.

​

​

- 사용 코드: https://docs.dgl.ai/tutorials/models/3_generative_model/5_dgmg.html#sphx-glr-tutorials-models-3-generative-model-5-dgmg-py

 

728x90
반응형
저작자표시 (새창열림)

'Paper Review > Graph Model' 카테고리의 다른 글

[5] Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition  (0) 2023.03.09
[4] Temporal Graph Networks for Deep Learning on Dynamic Graphs  (0) 2023.03.09
[2] GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Models  (0) 2023.03.09
[1] Semi-Supervised Classification with Graph Convolutional Networks(+GCN 설명)  (0) 2023.03.09
'Paper Review/Graph Model' 카테고리의 다른 글
  • [5] Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
  • [4] Temporal Graph Networks for Deep Learning on Dynamic Graphs
  • [2] GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Models
  • [1] Semi-Supervised Classification with Graph Convolutional Networks(+GCN 설명)
ga.0_0.ga
ga.0_0.ga
    반응형
    250x250
  • ga.0_0.ga
    ##뚝딱뚝딱 딥러닝##
    ga.0_0.ga
  • 전체
    오늘
    어제
    • 분류 전체보기 (181)
      • Paper Review (51)
        • Video Scene Graph Generation (6)
        • Image Scene Graph Generation (18)
        • Graph Model (5)
        • Key Information Extraction (4)
        • Fake Detection (2)
        • Text to Image (1)
        • Diffusion Personalization (4)
        • etc (11)
      • AI Research (49)
        • Deep Learning (30)
        • Artificial Intelligence (15)
        • Data Analysis (4)
      • Pytorch (10)
      • ONNX (5)
      • OpenCV (2)
      • Error Note (34)
      • Linux (2)
      • Docker (3)
      • Etc (7)
      • My Study (16)
        • Algorithm (10)
        • Project (4)
        • Interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    tensorflow
    linear regression
    dataloader
    GCN
    Activation Function
    fine tuning
    정규화
    그래프신경망
    i3d
    오차 역전파
    JNI
    차원의 저주
    알고리즘
    Inductive bias
    dataset
    Logistic regression
    TypeError
    활성화 함수
    ONNX
    RuntimeError
    transformer
    나이브 베이즈 분류
    pytorch
    HRNet
    pandas
    torch.nn
    forch.nn.functional
    3dinput
    permute
    contiguous
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ga.0_0.ga
[3] Learning Deep Generative Models of Graphs
상단으로

티스토리툴바