2024년 패스트 캠퍼스 챌린지
패스트캠퍼스 환급챌린지 28일차 미션 (2월 28일) : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
조이쓰
2024. 2. 28. 23:54
강의 내용 Review
📍배운내용📍
- GraphSAGE
- GraphSAGE 실습
👉강의내용👈
GraphSAGE
- GCN은 메시지 패싱을 통해 피처 정보와 그래프 구조적인 정보를 노드 임베딩으로 녹일수 있는 알고리즘이지만 그래프 전체 구조가 입력으로 들어가야 하는 단점이 있음
- GraphSAGE는 inductive한 환경에서 GCN을 적용할수있게 만든 방법론이고 샘플링을 통해서 가능함
- SAGE는 sampling와 aggreation의 합성어, 샘플링 한것을 합계함
- 인접행렬을 보지 않고 샘플링으로 이웃 구성, 합계 함수를 잘 정의해서 사용함
- 새로운 노드가 들어와도 전체 노드 말고 이웃 노드만 있으면 됨
- 업데이트 된 정보를 또 합쳐서 노드의 임베딩을 만듬
- 많은 노드중에 샘플링을 통해 전체중에 몇 개만 선정함
- 샘플링&합계, 업데이트 두 단계를 여러 레이어로 쌓음(2개 권장)
- 샘플링은 균일한 확률로 나누면서 타겟이 임베딩을 만드려하는
- 타켓 노드의 정보를 업데이트 하기 위해 주변 노드의 정보를 합함
- min 합계가 직관적인 면이 있어서 많이 사용됨
- 이웃노드로 부터 노드의 피처값을 합치고 이웃으로 부터 값을 합쳐서 업데이트 하는 방식
- 우버이츠의 GraphSAGE사용: A라는 타겟 노드가 있을때 이웃정보를 어떻게 합치나?
- 인풋 데이터 가 있을때 노드 들 간에 연결이 있고 노드를 샘플링하고 다음 레이어에 값들이 전파되고 합쳐지고 업데이트 됨
- 귀납적 추론이 가능한 능력: 새로운 노드가 추가될때 임베딩을 어떻게 나타낼수있는가? 그 능력의 여부 추천 시스템에서는 새로운 메뉴의 추가가 빈번함
- 신규노드가 발생하더라도 그럴듯한 예측을 하도록 함
- 임베딩 자체를 학습하는 것이 아닌 임베딩 정보를 생성하는 함수를 생성 , 보지 못한 노드에서 연결성만 주어지면 됨
- 사람과 가게 음식간에 관계
- 긍정은 실제 주문, 부정은 실제 주문 하지 않음, 주문수가 낮은, 주문 수가 높은 정보도 이용함
- 모델에게 일반화 성능을 갖출수있게 해서 성능을 높임
- 실제 트리기반의 알고리즘에 많이 사용됨
- 추천 시스템 파이프라인
- 1) 많은 데이터 셋에 대해서 하둡, 파티셔닝등 전처리 과정을 진행함, GPU내에서 수행됨
- 2) 임베딩을 테이블로 저장하고, 앱이 실행되고 랭킹 요청이 들어오면 룩업테이블에서 조회되고 코사인 유사도를 구해서 아이템이 추천되도록 함
공부사진


28일차 후기
수식은 잘 모르겠다..
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.