Data Analysis Study

Graph Neural Networks (GNN) 핵심 요약

Solbi Lee 2025. 8. 12. 00:00

1. GNN이란?

  • 정의: 노드(Node)와 엣지(Edge)로 구성된 그래프 데이터를 처리하는 신경망.
  • 차이점: CNN → 이미지, RNN → 시퀀스, GNN → 그래프 구조 데이터에 특화.
  • 장점: 데이터 간 관계구조적 패턴을 학습 가능.

2. 왜 필요한가?

  • 전통적인 딥러닝 모델은 고정 구조(격자 형태) 데이터를 전제로 함.
  • 그래프 데이터는 비정형적, 노드 개수/연결 관계가 가변적 → 기존 CNN/RNN으로 직접 처리 불가.
  • GNN은 그래프 구조 자체를 활용해 관계 중심의 표현 학습 가능.
  • 응용 사례:
    • 소셜 네트워크 분석 (친구 추천, 영향력 분석)
    • 추천 시스템 (사용자-상품 관계)
    • 지식 그래프 (엔티티 간 관계 추론)
    • 생물학 네트워크 (단백질-단백질 상호작용 예측)

3. 그래프 구성 요소

  • 노드(Node): 개체 (예: 사람, 제품, 논문)
  • 엣지(Edge): 개체 간 관계 (예: 친구 관계, 구매 이력, 인용 관계)
  • 특성 벡터(Node/Edge Features): 각 노드·엣지에 대한 속성 정보(연령, 카테고리, 연결 강도 등)

4. GNN의 핵심 원리 – Message Passing

  1. Aggregation(집계):
    • 각 노드가 이웃 노드들의 특성을 모음.
    • 예: 평균, 합, 최대값 또는 Attention 기반 가중합.
  2. Update(갱신):
    • 집계된 이웃 정보와 자기 자신의 특성을 결합해 새로운 특성 벡터로 업데이트.
  3. 이 과정을 여러 레이어에 반복 → 멀리 떨어진 노드의 정보까지 전달.

 

5. 대표적인 GNN 모델

1) GCN (Graph Convolutional Network, 2017, Kipf & Welling)

  • CNN의 컨볼루션 개념을 그래프에 확장.
  • 각 노드의 새로운 표현 = 자신 + 인접 노드의 특성을 평균/정규화해 집계.

2) GAT (Graph Attention Network)

  • 어텐션 메커니즘 사용:
    • 모든 이웃의 정보를 똑같이 쓰지 않고, 중요도에 따라 가중치 부여.
    • 주변 노드 중 중요한 노드의 정보를 더 많이 반영.

6. 핵심 이해 포인트

  • GNN은 **구조(그래프)**와 **특성(노드/엣지 정보)**를 동시에 학습.
  • GCN은 균등 집계, GAT는 가중 집계.
  • Message Passing은 GNN의 필수 기반 메커니즘.
  • 실무에서는 GraphSAGE, Graph Isomorphism Network(GIN) 등도 많이 사용.