- 관계의 전환 - 속성(Attribute)에서 연결(Network)
- Network는 새로운 관점을 제시
- Link 중심의 접근법은 데이터 사이언스 관점에서 완전히 새로운 결과를 만들어 냄

그래프 기반 학습의 필요성
기존 데이터마이닝이나 머신러닝은 주로 개별 객체의 속성(attribute) 만 활용하지만 실제 데이터는 객체 간의 연결 관계(link/network) 도 중요한 정보를 담고 있음
예) SNS 친구 관계, 추천 시스템, 논문 인용 관계, 거래 네트워크
즉, 단순 속성 데이터뿐 아니라 네트워크 구조 자체를 함께 고려하면 새로운 패턴과 의미를 발견할 수 있음
Netflix 추천 시스템 사례
Netflix는 사용자 추천 시 나이, 성별, 지역 같은 전통적 속성을 거의 사용하지 않음
- 어떤 콘텐츠를 시청했는가(과거의 연결)
- 어떤 콘텐츠에 관심을 보였는가(현재의 연결)
- 다른 사용자와의 유사한 소비 패턴
등의 연결 관계 기반 정보를 활용
“비슷한 콘텐츠를 소비한 사용자끼리는 서로 유사할 가능성이 높다.”
즉, 추천 시스템은 대표적인 그래프 학습(Graph Learning) 문제임
기존 딥러닝 CNN/RNN의 구조적 한계
- 현실 세계의 복잡한 Graph - structured data를 기존의 신경망 아키테거로 다루기는 매우 용이하지 않음
- 기존 딥러닝 구조는 비교적 단순하고 규칙적인 구조를 가진 데이터를 처리

- CNN → 이미지(격자 구조)
- RNN → 순차 데이터(시계열)
그래프 데이터는 노드 개수가 가변적, 연결 구조가 불규칙, 순서 개념이 없음
기존 CNN/RNN만으로는 처리하기 어려움
Graph Neural Network(GNN)의 등장
그래프에도 딥러닝을 적용하고자 등장한 것이 GNN
“한 노드는 주변 이웃(neighbor)의 영향을 받는다.”
자신의 특성, 연결된 이웃 노드의 특성, 주변 구조 정보를 함께 학습
그래프에서 할 수 있는 주요 학습 문제
그래프 학습의 대표 문제 3가지
1) Node Classification - 노드 분류
- 노드의 클래스를 예측, 연결된 이웃 정보를 활용하면 더 정확한 분류 가능
예) SNS 사용자 성향 분류, 논문 분야 분류
2) Link Prediction - 링크 예측
예) 친구 추천, 추천 시스템, 사기 탐지
3) Community Detection - 비슷한 노드 집단(커뮤니티) 탐지
예) SNS 그룹 탐색, 고객 세분화

- 연결된 노드의 정보를 활용한다면 단일 노드만 분석할 때보다 훨씬 더 정확한 예측과 분류가 가능해짐

- 단순한 접근 실패 : 네트워크의 방대한 크기와 노드 순서의 불규칙성(Permutation) 때문에 다층 퍼셉트론 구조로는
그래프의 본질을 학습할 수 없음
Node Embedding 개념

- GNN에서는 노드를 벡터 공간으로 변환함
- 특징으로는 유사한(Similar) 노드는 가까운 위치에 임베딩됨, 그래프 구조 정보가 벡터에 반영됨
예) 같은 취향 사용자끼리 가까운 벡터, 같은 연구 분야 논문끼리 가까운 벡터
그래프 학습의 기본 입력
그래프 학습은 보통 다음 두 정보를 입력으로 사용
1) Adjacency Matrix(인접행렬) - 노드 간 연결 정보

2) Node Features - 각 노드의 속성 정보
예) 사용자 나이, 영화 장르, 논문 키워드
Original GNN 구조

- 초기 GNN(Scarselli et al., 2009)은 다음 정보를 이용해 노드 상태를 업데이트함
. 자신의 feature, edge feature, 이웃 노드 hidden state, 이웃 노드 feature
- “노드 표현은 자신의 특성과 이웃의 특성을 결합하여 정보를 반복적으로 집계하면서 생성된다.”
- 업데이트 식

GCN(Graph Convolutional Network)
- GCN은 GNN을 보다 단순하고 효율적으로 개선한 모델
- 대표 논문 : Kipf & Welling (2016)
- 그래프에서도 CNN처럼 주변 정보를 convolution 방식으로 집계하자
- 업데이트 식

GCN의 핵심 요소
1) Self-loop 추가 - 자기 자신 정보도 포함하기 위해

2) Degree Normalization - 노드 연결 수 차이를 보정

효과 - 학습 안정화, 기울기 폭주/소실 완화

왜 GCN은 보통 2-layer인가?

- 그래프에서는 layer가 깊어질수록 너무 먼 노드 정보까지 섞임, 노드 표현이 서로 비슷해짐, Over-smoothing 발생
- 보통 2~3 layer 이상은 큰 의미가 없어질 수 있음 → 실무에서도 2-layer GCN, shallow GNN 구조가 많이 사용
| 개념 | 핵심 내용 |
| Graph Learning | 연결 관계까지 학습 |
| GNN | 이웃 정보를 활용해 노드 표현 학습 |
| Node Embedding | 노드를 벡터 공간으로 변환 |
| Node Classification | 노드 분류 |
| Link Prediction | 연결 예측 |
| Community Detection | 집단 탐지 |
| GCN | 그래프용 convolution |
| Normalization | 학습 안정화 |
| Deep GCN 한계 | Over-smoothing 발생 |
GNN/GCN은 그래프의 연결 구조와 노드 속성을 함께 학습하여 기존 딥러닝이 처리하기 어려웠던 네트워크 데이터를 효과적으로 분석하는 딥러닝 기법

그래프 데이터 학습은 알고리즘의 변화가 아닌 데이터를 바라보는 차원의 확장을 의미
'[Industry Knowledge Sharing] > Graduate' 카테고리의 다른 글
| 분산분석(ANOVA, ANalysis Of VAriance) (0) | 2026.05.18 |
|---|---|
| Social Network Analysis Python (0) | 2026.05.17 |
| 10. 상관분석에서 다중회귀분석까지 관계의 발견과 인과관계 (3) | 2026.05.05 |
| Social Network Analysis (0) | 2026.05.02 |
| 복잡한 통계 계산 문제 시각화로 끝내는 이해 가이드 (0) | 2026.04.28 |