GNN, MPNN

정우현·2024년 7월 24일

ML 공부

목록 보기
8/16
  • GNN(Graph Neural Network)


Feature Vector: 노드 안에 들어있는 정보

GNN을 통해 biology를 표현하는게 유용해짐
원자/분자를 노드로, 결합을 엣지로, 원자/분자의 특징을 Feature로 생각
=> 학습된 내용을 통해, 새 물질이 들어왔을 때 어떤 특징을 가질지 예측 가능(Classification)

Graph representation learning

  • 수많은 데이터가 흩뿌려져 있음 -> 이를 어떻게 다룰 것이냐
    => 어떤 식으로든 데이터들을 표현해야함 -> 카테고리 별로 분류를 해야함
    => 많은 데이터들을 low dimensional space(=embedding space)로 summarizing 하는 것
    => 아주 복잡한 그래프를, low dimensinal space로 embedding 하는 것을 node embedding 이라 함(=encoding)
  • 궁극적으로 할 것, 노드 사이의 관계를 node embedding을 통해 학습시킨 후,
    노드 사이의 새로운 관계를 input 했을 때, 그 관계를 예측할 수 있느냐
  • Node embedding => 1. Shallow embedding method 2. Neural Network-based Method
  • Shallow embedding method
  1. similarity preservation:
    두 노드가 원래 그래프에서 가까웠다면, embedding된 space에서도 거리가 충분히 가까워야 한다
  2. Scalability issue가 있음
    => 노드 개수가 많아지면, encode vector도 linear하게 커짐
  3. Generalization issue가 있음
    => 노드 개수가 달라지면 적용이 안됨
  4. similarity metrix를 정하는 기준 모호
  • Neural Network-based Methods => Message passing GNN(MPNN)

  • MPNN(Messge passing GNN)
    메시지(information)를 어떻게 전달하게 할 것인가
    Message passing 이라고 불리는 이유
    => Target Node 주변의 노드에서 정보를 받아, Target Node의 Feature를 결정하는 것이라

    Aggregate: 주변의 정보들을 가지고, 정보를 어떤 식으로 합칠지 결정하는 function
    update: target node의 정보와, aggregate된 정보를 합쳐 어떤식으로 업데이트 할 것인지 function
    hv: Target Node의 Neighborhood들

hu -> Target Node의 Feature
W -> Weight
hu(k-1) -> Target Node의 전 Feature
sum -> Aggregation을 위해 정보들을 더함
Attention 기법(알파u,v) -> Neighborhood의 component 들을 aggregation 할 때, 어떤 Weight을 줘서 합칠 것인가

  • GCN(Graph Convolutional Network)
    CNN은 space location 기반으로 특징을 추출하는 것(convolution)
    GCN은 node 기반으로 neighborhood(엣지로 연결된 곳) 정보들로만 특징을 추출

  • Point cloud
    point들의 집합을 여러 개의 노드로 인식하여 전체에 대한 이해를 함
    => GNN을 이용하여 각 Point를 인식하고, 그 Point들의 집합을 통해 전체를 이해함

profile
Protein Design Lab Researcher, Seoul National University

0개의 댓글