유튜브 추천 시스템 모델 논문 리뷰

Gamchan Kang·2024년 7월 15일
0

ML/DL

목록 보기
9/13

포트폴리오를 정리하면서 기존에 진행했던 프로젝트를 리뷰했다.
그 중 음악 추천 모델 설계 프로젝트가 있었는데 지금 보니 내용이 매우 빈약했다.
추천 시스템 설계가 어떻게 이루어지는지 궁금증이 생겨서 논문을 리뷰한다.

해당 논문은 16년도에 구글에서 나온 논문이다. 8년 가까이 지난 논문이다보니 유튜브 추천 시스템이 이렇게 동작한다고 확정짓기보다는 추천 모델에서 필요한 개념을 배우는 기분으로 리뷰한다.

Abstract

본 논문은 Information Retrieval을 두가지로 나눠 제시함

  • deep candidate generation model
  • deep ranking model

Introduction

유튜브 영상 추천 작업은 3가지를 고려해야 한다.

  • Scale: 기존 추천 알고리즘은 youtube 스케일에서 실패함
  • Freshness: 새로운 비디오가 매초마다 업로드 되므로 기존 비디오와 새로운 비디오 사이에 균형을 맞춰야 함
  • Noise: 유튜브 사용자 행동 특성은 매우 다양한 요인에 의해 결정됨 → 이러한 요인은 노이즈로 작용함
    십억개의 파라미터, 1조개의 예제를 통한 학습

System Overview

Candidate generation network

  • 사용자의 활동 기록을 입력으로 함
  • corpus에서 subset 형성 &rarr사용자와 연관있음(relevant to the user with high precision)
  • Collaborative filtering을 통해 개인에게 적합하게 적용됨(personalization)
  • 사용자 사이 유사도는 거시적인 데이터로 결정: 비디오 시청 ID, 검색 단어(search query token), 인구학적 특성

Ranking network

  • 사용자와 비디오의 다양한 특성을 이용해서 점수를 매김
  • 높은 점수 비디오가 사용자에게 제공됨

two-stage 접근(candidate → ranking)의 장점

  • 큰 corpus에서 몇가지 비디오를 추천함으로써 맞춤형 서비스 제공

실험(개발) 및 평가

  • offline metrices를 활용하여 반복 개선(딥러닝에서 가중치 갱신을 의미..?)
  • 평가 시 live experiments(온라인을 의미하는 것 같음)를 통해 A/B 테스트 진행
  • 온라인 실험 결과, 클릭률, 시청 시간 등에서 미세한 차이를 보임

Candidate Generation

  • youtube corpus에서 사용자에게 관련된 수백개의 영상을 거름(winnowed down)
  • ranking loss를 활용한 matrix factorization 모델
  • 초기 iteration에서 시청 기록을 임베딩한 얕은 신경망의 factorization 모방
  • factorization 테크닉의 non-linear generalization으로 볼 수 있음

Recommendation as Classification

  • 추천 동작을 multiclass classification으로 제안함

    P(wt=iU,C)=eviujVevjuP\left(w_t=i \mid U, C\right)=\frac{e^{v_i u}}{\sum_{j \in V} e^{v_j u}}
    wtw_t: 시간 t에서 비디오 시청 행위
    VV: corpus
    UU: user
    CC: context
    uRNu \in \R^N: user sparse entity(개별 비디오, 사용자)에 대한 embedding

  • 해당 모델은 uu를 시청 기록과 context에 대한 함수로 봄
  • 사용자가 끝까지 시청한 비디오를 positive example로 반영한 implicit feedback 활용 (explicit feedback: 좋아요/싫어요 기능, in-product survey)
  • explicit feedback의 경우 sparse한 반면, implicit feedback은 사용자 특성을 더 잘 반영함(produce recommendations deep in the tail)

Efficient Extreme Multiclass

  • candidate sampling과 중요도에 따른 가중치로 샘플링 수정
  • 각각의 training example에 대해서 true label, sampled negative class들로 cross-entropy 최소화
  • 수천개의 negative를 샘플링 → 소프트맥스 속도 100배, 정확도는 비슷
  • 기존의 hierarchical softmax 방식은 관련 없는 class node까지 traversing → 분류 문제가 어려워지고 성능을 낮춤
  • serving time 10ms 내에 비디오 추천을 하려면 클래스 숫자에 sublinear하며 대략적인 점수로 동작해야함.

* 추가 작성 필요

profile
Someday, the dream will come true

0개의 댓글