패스트캠퍼스 환급챌린지 16일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작
강의 종료
강의장
학습 인증샷
학습후기
ch01-09. GraphSAGE - Sampling and Aggregation
전체 인접행렬을 보지 않고 sampling을 통해 이웃을 구성하고
agg function을 학습함으로써 scalable한 학습을 가능케한 방법론
따라서 큰 그래프에서는 메모리에 올릴 수조차 없는 경우에 강점을 가짐
그리고 부분 그래프만 보고도 학습이 가능해진다.
scalable 하다는것은 의도한 부분 그래프의 크기를 수정하며 학습이 가능
기존 GCN은 agg 함수가 고정되어 있지만
GrapgSAGE는 다양한 agg 삼수를 자체 학습 가능하다.
GrapgSAGE에 사용하는 agg의 종류는 무엇이 있고 어떤 경우에 사용하지?
종류 | 설명 | 특징 |
Mean Aggregator | 이웃 노드 임베딩의 평균 | 간단, 빠름, GCN과 유사 |
LSTM Aggregator | 이웃 노드를 순서 있게 LSTM에 통과시켜 집계 | 순서를 학습에 반영할 수 있음 |
Pooling Aggregator | 각 이웃을 MLP에 통과시킨 후 max 또는 mean pooling | 이웃의 개별 표현 강조 |
GCN-style Aggregator | 자기 자신 포함한 이웃의 평균 → 선형변환 | 기존 GCN과 유사한 형태 |
Mean Aggregator
사용하는 상황: 노드마다 이웃 수가 많거나, 그래프 구조가 고르게 분포된 경우
기대 효과: 전체 이웃의 정보를 고르게 반영하여, 일반적인 패턴을 잘 학습할 수 있다.
LSTM Aggregator
사용하는 상황: 시간 순서가 중요하거나, 이웃 노드 간의 순차적 의미가 있는 경우 (예: 세션 기반 추천, 대화 흐름 등)
기대 효과: 이웃 간의 순서를 고려한 정교한 표현 학습. 복잡한 패턴을 학습할 수 있다.
Pooling Aggregator
사용하는 상황: 이웃 수가 많고, 그 중 일부만 의미 있는 정보를 가질 때 (예: 잡음이 많은 그래프, 중요 노드 소수 존재)
기대 효과: 중요한 이웃의 정보를 더 강하게 반영하여, 불필요한 정보는 줄이고 핵심 패턴만 학습할 수 있다.
GCN-style Aggregator
사용하는 상황: 단순한 비교 실험, 또는 전체 이웃을 평균해서 처리해도 문제가 없는 경우
기대 효과: GCN에서 얻을 수 있는 기본적인 성능을 유지하면서도 GraphSAGE 구조로 확장 가능하다.