본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2025-1] 정유림 - GNN (GCN, GraphSAGE, GAT)

by urmu 2025. 3. 16.

 

 

Paper

 

1. 그래프 데이터 기본 개념

그래프는 노드(Vertex)와 엣지(Edge) 로 이루어지며, 이를 수학적으로 다음과 같이 표현합니다.

  • 인접 행렬 (Adjacency Matrix), 노드 간 연결 관계를 나타냄.

  • 노드의 특징 행렬 (Feature Matrix), 각 노드의 feature 값을 포함. (초기 Feature가 GNN을 거치면서 학습되고, 최종적으로 Embedding이 됩니다.)

 

 

2. 그래프로 표현할 수 있는 데이터 예시

  • 분자 구조: 원자들이 노드, 결합이 엣지로 표현됨.
  • 소셜 네트워크: 사람 간 관계를 그래프로 표현 (예: 가라테 클럽 데이터).
  • 논문 인용 네트워크: 논문이 노드, 인용 관계가 엣지.
  • 생물학적 네트워크: 단백질 상호작용(PPI), 유전자 네트워크.
  • 추천 시스템: 사용자와 아이템의 관계를 그래프로 표현.

3. 일반적인 GNN의 framewor

  • GNN Layer = Message + Aggregation
  • GCN, GraphSAGE, GAT는 Aggregation 방식이 다름
  • GCN은 평균을 사용하지만, GraphSAGE는 샘플링 후 Aggregation, GAT는 Attention 기반 Aggregation
  • Activation Function을 통해 비선형성을 추가함

4. GNN의 주요 모델

  • Graph Convolutional Networks (GCN, 2017)
  • GraphSAGE (2017)
  • Graph Attention Networks (GAT, 2018)

4-1. GCN

  • GCN은 인접 행렬 A를 정규화하여 사용합니다.
  • 정규화 과정: self-loop을 추가하고, 노드의 연결 개수(Degree)에 따라 정규화.
  • 모든 노드가 동일한 방식으로 업데이트됨 (모든 이웃을 동일한 중요도로 반영).

4-2. GraphSAGE

  • GraphSAGE는 모든 이웃을 고려하지 않고, 일부만 샘플링하여 학습.
    • GCN은 모든 노드의 이웃을 동일한 가중치로 반영하지만, GraphSAGE는 샘플링된 이웃만 반영.
    • 샘플링한 이웃끼리는 같은 W를 사용하여 독립적인 학습이 가능.즉, A의 일부 행만 샘플링하여 사용.

  • Aggregation 방식을 선택할 수 있어 유연함.
    1. Mean Aggregation: GCN과 유사하게 이웃 노드의 평균을 계산
    2. LSTM Aggregation: LSTM을 이용해 이웃 정보를 순서에 따라 학습
    3. Pooling Aggregation: 각 이웃 노드 임베딩에 MLP를 적용 후 최대값을 선택

 

4-3. GAT

  • GAT는 인접 행렬을 직접 사용하지 않고, Attention Score를 통해 조정된 가중치를 활용. (여기서 αij는 Softmax를 사용한 Attention 가중치)
  • 즉, 단순히 인접 노드의 정보를 평균 내는 것이 아니라, 각 노드의 중요도를 학습하여 동적으로 가중치를 조정.
    • 이웃 노드마다 중요도를 다르게 부여할 수 있음
    • Multi-head Attention을 통해 다양한 관계를 학습 가능
     

 

 

5. GNN 모델 비교 요약

GCN (Graph Convolutional Network) 2017 - 스펙트럴 그래프 컨볼루션을 활용
- 라플라시안 행렬을 근사하여 계산 비용 절감
- 전체 그래프를 필요로 하며 대규모 그래프 확장 어려움
- 이웃 노드의 중요도를 동일하게 가정
GraphSAGE 2017 - 이웃 노드를 샘플링하여 메시지 전달
- 다양한 Aggregation 함수 (Mean, LSTM, Pooling 등) 활용
- 이웃 샘플링 방식에 따라 성능 차이가 존재
- 단순한 Aggregation이 구조적 정보를 충분히 반영하지 못할 수도 있음
GAT (Graph Attention Network) 2018 - 어텐션 메커니즘을 활용하여 가중치를 학습적으로 부여
- 각 노드가 이웃 노드의 중요도를 다르게 반영 가능
- 그래프 크기가 커질수록 계산량 증가
- 스파스한 그래프에서의 효과적이지 않을 수도 있음