GNN은 노드(Node), 엣지(Edge)로 구성된 그래프 구조 데이터를 처리하기 위한 딥러닝 모델이다.
기존의 CNN이나 RNN과 달리, 정형화되지 않은 관계형 데이터를 효과적으로 학습할 수 있도록 설계되었다.
(1) 기본 구조 및 작동 원리
GNN은 노드 간 연결 관계(엣지)를 기반으로 정보를 전파한다. 핵심 개념은 메시지 전달(Message Passing)이다.
각 노드는 자신의 이웃 노드로부터 특성(feature)을 수집한다.
수집한 정보를 통합(aggregation)하여 자신의 상태를 업데이트한다.
이 과정을 여러 번 반복하면 멀리 떨어진 노드의 영향까지 반영된다.
(2) 주요 GNN 유형
GCN (Graph Convolutional Network): 그래프 위에서 컨볼루션 연산을 수행하는 구조
GAT (Graph Attention Network): 이웃 노드 간 중요도를 학습하여 가중 평균
GraphSAGE: 대규모 그래프에 대해 샘플링 기반으로 학습
GIN (Graph Isomorphism Network): 이론적 구분력이 강력한 GNN
(3) 응용 분야
GNN은 다양한 영역에서 활용되고 있다.
소셜 네트워크: 친구 추천, 커뮤니티 탐지
추천 시스템: 사용자-아이템 관계 분석
지식 그래프: 개체 간 관계 예측, 지식 추론
화학 및 생명과학: 분자 구조 분석, 약물 상호작용 예측
금융 및 보안: 이상 거래 탐지, 악성 사용자 분류
(4) 장점과 한계
장점
비정형 데이터도 학습 가능 (예: 네트워크, 분자, 트리 구조)
이웃 정보 활용으로 문맥 기반 예측 가능
다양한 응용 분야에서 높은 성능 입증
한계
해석 어려움: 블랙박스 문제로 설명 필요 (→ XAI 중요)
계산 복잡도: 대규모 그래프에서는 학습 비용 증가
과평활(over-smoothing): 반복 연산 시 노드 특징이 유사해지는 문제
그림 1. Comparison of CNN and graph neural network (GNN)
CNN is applied to a graph in Euclidean space while GNN is applied to
a graph in a non-Euclidean space.
The non-Euclidean space indicates a more arbitrary space than
the Euclidean space owing to its arbitrary connections between nodes.
(출처: https://www.researchgate.net/)