본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작

강의 종료

강의장

학습 인증샷

학습후기
Chapter 01. 그래프 기반
ch01-02. 그래프데이터의이해
그래프의 구성 요소
구성요소 설명 예시
| Node (정점) | 개체 (사람, 아이템 등) | 유저, 영화, 상품 등 |
| Edge (간선) | 개체 간 관계 | 유저가 영화를 평가함, 친구 관계 등 |
| 속성 (Feature) | 노드 또는 엣지에 부여된 부가정보 | 유저 나이, 아이템 카테고리 등 |
| 가중치 (Weight) | 관계의 강도나 중요도 | 좋아요 수, 시청 시간 등 |
그래프 데이터는 왜 쓰는거지?
유저 A → 친구 B → 상품 C → 카테고리 D → 인기 상품 E
이러한 유저 A에게 인기상품 E를 추천하는 연결 경로를 표현하기 위해 그래프 데이터 형식을 사용한다.
테이블에서는 스키마 변경이 어렵지만
그래프에서는 새로운 노드나 관계를 추가하기 쉽다.
표현이 좋다는건 이해했다.
그렇다면 연산이나 모델 학습에서는 속도와 성능에서 정형 데이터에 비해 어떤 차이가 있지?
연산 속도
| 항목 | 정형 데이터 | 그래프 데이터 |
| 입력 구조 | 고정 크기 텐서 | 비정형(연결 기반), 구조마다 다름 |
| 배치 처리 | 쉽고 효율적 | 어려움 (이웃 노드마다 다 달라서) |
| GPU 최적화 | 매우 잘됨 | 특수 라이브러리 필요 (DGL, PyG 등) |
| 학습 시간 | 상대적으로 빠름 | 노드 이웃 집계 때문에 느릴 수 있음 |
- 정형 데이터는 한 번에 수천 개 샘플을 병렬 처리(batch) 하기 쉬움
- 그래프 데이터는 각 노드가 연결된 이웃 정보에 따라 동적으로 처리해야 해서
→ 메모리 복잡도↑, 처리 속도↓
모델 성능
| 항목 | 정형 데이터 | 그래프 기반 모델 |
| 관계 정보 활용 | 직접 연결만 가능 | 간접 연결까지 모두 활용 |
| 희소성 문제 해결 | Cold start에 약함 | 이웃 노드로 정보 보완 가능 |
| 문맥 이해력 | 제한적 (개별 유저/아이템만 봄) | 구조 전체를 고려한 예측 가능 |
| 복잡한 패턴 학습 | 어려움 | 더 깊은 의미 관계 포착 가능 |
따라서 그래프 데이터는 속도는 느리지만 복잡한 관계를 표현하기에 용이하다.
복잡한 관계를 학습하고 싶으면 빠르게 학습 가능한 정형데이터에 딥러닝 모델을 쓰면 안되나? 꼭 그래프까지 가야 돼?
=>
가능은 하지만 정형 데이터에 딥러닝을 적용해도 일정 수준 이상의 복잡한 관계는 학습 가능하다.
하지만 관계의 구조 자체를 직접 모델링하고 학습하려면 그래프가 적합하다.
명시된 관계는 정형데이터에서 학습할 수 있지만
간접적인 관계는 표현하기 힘듦
ex) 친구의 친구가 구매한 상품, 같은 브랜드인데 다른 카테고리에서 인기 있는 상품
-> 이런 경로 기반 관계는 딥러닝만으로 표현이 힘들고, 설계자가 일일이 피처를 만들어야 함
그래프 기반 모델에서는 관계가 feature가 아니라 구조 안에 표현되어 있음
유저 A —[구매]→ 상품 B
유저 A —[팔로우]→ 유저 C —[구매]→ 상품 D
→ 이런 간접 관계도 모델이 직접 탐색하며 학습할 수 있음
관계를 직접 인코딩하지 않아도,
모델이 이웃 노드를 통해 구조를 자동으로 이해함
'패스트캠퍼스' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 15일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.04.15 |
|---|---|
| 패스트캠퍼스 환급챌린지 14일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.04.14 |
| 패스트캠퍼스 환급챌린지 12일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.04.12 |
| 패스트캠퍼스 환급챌린지 11일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.04.11 |
| 패스트캠퍼스 환급챌린지 10일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.04.10 |