1. GNN이란?
- 정의: 노드(Node)와 엣지(Edge)로 구성된 그래프 데이터를 처리하는 신경망.
- 차이점: CNN → 이미지, RNN → 시퀀스, GNN → 그래프 구조 데이터에 특화.
- 장점: 데이터 간 관계와 구조적 패턴을 학습 가능.
2. 왜 필요한가?
- 전통적인 딥러닝 모델은 고정 구조(격자 형태) 데이터를 전제로 함.
- 그래프 데이터는 비정형적, 노드 개수/연결 관계가 가변적 → 기존 CNN/RNN으로 직접 처리 불가.
- GNN은 그래프 구조 자체를 활용해 관계 중심의 표현 학습 가능.
- 응용 사례:
- 소셜 네트워크 분석 (친구 추천, 영향력 분석)
- 추천 시스템 (사용자-상품 관계)
- 지식 그래프 (엔티티 간 관계 추론)
- 생물학 네트워크 (단백질-단백질 상호작용 예측)
3. 그래프 구성 요소
- 노드(Node): 개체 (예: 사람, 제품, 논문)
- 엣지(Edge): 개체 간 관계 (예: 친구 관계, 구매 이력, 인용 관계)
- 특성 벡터(Node/Edge Features): 각 노드·엣지에 대한 속성 정보(연령, 카테고리, 연결 강도 등)
4. GNN의 핵심 원리 – Message Passing
- Aggregation(집계):
- 각 노드가 이웃 노드들의 특성을 모음.
- 예: 평균, 합, 최대값 또는 Attention 기반 가중합.
- Update(갱신):
- 집계된 이웃 정보와 자기 자신의 특성을 결합해 새로운 특성 벡터로 업데이트.
- 이 과정을 여러 레이어에 반복 → 멀리 떨어진 노드의 정보까지 전달.
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) 등도 많이 사용.
'Data Analysis Study' 카테고리의 다른 글
| TensorFlow Self-Attention 미니 데모 (4토큰) (5) | 2025.08.11 |
|---|---|
| TensorFlow로 구현한 Self-Attention 미니 트랜스포머 실습 (9) | 2025.08.11 |
| Transformer 자연어 처리 모델 개념 및 원리 (3) | 2025.08.03 |
| RNN, LSTM, GRU 모델 성능 비교 | 하이퍼파라미터 구조 튜닝 및 피처 엔지니어링 (기상청 데이터) (3) | 2025.07.30 |
| LSTM모델을 이용한 삼성전자 주가 예측 (시계열 예측) (3) | 2025.07.30 |