그래프 신경망(GNN, Graph Neural Network)을 설명하시오.
출제 의도 분석
소셜 네트워크·지식 그래프·분자 구조처럼 비유클리드(Non-Euclidean) 구조 데이터에 딥러닝을 적용하는 기술입니다. 전통 CNN은 격자(이미지)에 최적화되어 있어 그래프 데이터에 직접 적용할 수 없다는 한계를 GNN이 해결합니다.
1. 개념
GNN(Graph Neural Network)이란 노드(Node)·엣지(Edge)·전체 그래프로 구성된 데이터에서 이웃 노드의 정보를 반복적으로 집계하는 메시지 패싱(Message Passing) 메커니즘으로 노드·그래프 레벨의 표현(임베딩)을 학습하는 신경망입니다.
2. 메시지 패싱 메커니즘
각 노드는 이웃 노드의 특성 정보를 수집(Aggregate)하고 자신의 정보와 결합(Update)하여 새로운 표현을 생성합니다. 이 과정을 여러 레이어에 걸쳐 반복하면 k-hop 이웃의 구조 정보가 반영됩니다.
h_v: 노드 v의 임베딩, N(v): v의 이웃 집합
3. 주요 GNN 모델 비교
| 모델 | 집계 방식 | 특징 |
|---|---|---|
| GCN | 정규화된 인접행렬 곱 | 구조 단순·연산 효율적. 전이 학습 어려움 |
| GAT | 어텐션 가중 집계 | 이웃 중요도 차별화. 해석 가능성 우수 |
| GraphSAGE | 샘플링 후 집계 | 대규모 그래프 귀납적 학습(Inductive) 가능 |
| GIN | 단사(Injective) 함수 | 그래프 동형(Isomorphism) 구별 능력 최강 |
4. 활용 분야
- 추천 시스템: Pinterest PinSage — 사용자·핀 이분 그래프에서 개인화 추천 (GraphSAGE 기반)
- 신약 개발: 분자 그래프에서 약물 독성·효능 예측. DeepMind AlphaFold 단백질 구조 예측
- 사기 탐지: 금융 거래 그래프에서 이상 패턴 탐지 (PayPal, Alipay 활용)
- 지식 그래프: 엔티티 관계 추론, 질의응답 시스템 강화
그래프 신경망이 잘 맞는 문제와 한계
표 형태 데이터는 행끼리 독립이라고 가정하지만, 소셜 네트워크, 분자 구조, 거래 관계는 연결 구조 자체가 정보입니다. GNN은 각 노드가 이웃 노드의 정보를 모아 자신의 표현을 갱신하는 메시지 패싱을 여러 층 반복해 이 구조를 학습합니다.
대표 모델은 GCN(이웃 평균 집계), GraphSAGE(샘플링 기반 대규모 확장), GAT(이웃별 가중치를 어텐션으로 학습)입니다. 층을 깊게 쌓으면 노드 표현이 서로 비슷해지는 과평활화(over-smoothing) 문제가 있습니다.
- 활용: 사기 거래 탐지, 추천 시스템, 신약 후보 분자 성질 예측, 지식 그래프 보강.
- 태스크 유형: 노드 분류, 링크 예측, 그래프 분류.
- 한계: 대규모 그래프의 메모리·계산 비용, 과평활화, 동적으로 변하는 그래프 처리.
- 실무 팁: 먼저 그래프 특징을 사용한 전통 모델(그래디언트 부스팅)을 기준선으로 두고 개선 폭을 비교합니다.
메시지 패싱의 원리와 대표 모델, 그리고 과평활화 한계를 함께 쓰면 단답형이 알차집니다.
※ 이 글은 학습·참고용 정리입니다. 제품 사양과 표준 개정 사항은 공식 문서에서 최신 내용을 확인하세요.