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일차 후기


수식은 잘 모르겠다..

 

 

 

 

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