논문 리뷰/추천시스템

[논문 리뷰] Deep Neural Networks for YouTube Recommendations

sennysideup 2023. 7. 4. 10:18
반응형

논문 : https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/45530.pdf

* 이번 논문은 유튜브 알고리즘에 대한 논문입니다. 제목에서 알 수 있듯이 기존의 전반적인 추천 성능 개선에 초점을 둔 논문과 달리, 하나의 플랫폼에서 추천 성능을 개선하는 데에 초점을 두고 있습니다. 그래서 다른 논문보다는 조금 말랑말랑한 느낌입니다.

오역, 오류는 댓글로 말씀 부탁드립니다!

Youtube 추천시스템 Overview

고려사항

  1. scale : 대규모 사용자와 아이템에 사용된다
  2. freshness : 실시간으로 발생하는 사용자 행동, 실시간으로 업로드되는 영상을 반영해야함
  3. noise : sparsity, 보이지 않는 외부 요인으로 noise가 존재하기 때문에 robust한 모델이어야 한다
    • sparsity : 사용자 만족도에 대한 explicit feedback이 적다
      • 해결 방법 : implicit feedback을 대신 사용한다
이를 반영하기 위해 DNN을 사용하지만 추천시스템 분야에서는 DNN 연구가 적다

모델 구조

  1. 후보 생성 : 사용자 행동(시청 영상 및 검색 등)을 토대로 사용자와 연관성이 높은 후보 영상을 선정한다
    • precision 기준
    • 사용자 간 유사도 계산 : 사용자 행동 정보 + 인구통계학적 정보
  2. 후보 간 순위 선정 : 영상과 사용자의 feature를 사용해 점수 계산
    • recall 기준

성능 평가

  • 개발 시에는 offline metric 사용
  • 최종 효율성 판단 시 : AB 테스트 결과
    • 클릭율, 시청 시간 등의 변화
    • 결과 : 항상 offline metric과 일치하지는 않는다

 

후보 생성

  • 초기 iteration마다 과거 시청 기록만 임베딩된 shallow network에서 MF 반복
    • MF의 non linear generalization

분류 문제로써의 추천시스템

  • 추천시스템 : 극단적인 multiclass 분류 문제
  • implicit feedback을 사용하여 sparsity 해결
    • implicit feedback : 시청 여부
      • positive : 시청한 영상
  • Efficient Extreme multiclass
    • 효율적인 학습
      • negative class sampling : 100배 이상 속도 개선
      • 중요도 가중치 부여 : sampling 결과 수정
    • serving latency : N개를 추천하기 위해 N개 class를 계산해야 하는 문제
      • nearest neighbor search 알고리즘 적용하여 해결

후보 생성 모델 구조

  • 신경망: 고정된 길이의 dense한 input을 받아야함
    • 영상 ID : 가변적인 길이 & sparse
      • 고정된 길이 & dense하게 변환해야
      • 가변적인 길이 → 고정된 길이 : 평균 계산
        • 평균 : 가장 좋은 성능
      • sparse dense : embedding layer에서 dense한 벡터로 매핑
        • embedding layer : normal gradient descent backpropagation을 통해 파라미터 지정
    • 최종 input : 고정된 크기의 vocab에서 학습된 각 영상의 고차원 embedding
  • 첫 번째 layer : 사용자, 영상의 벡터와 인구통계학 벡터를 concat
  • 2번째 layer~ : ReLU
  • tower pattern의 네트워크
    • tower pattern : 갈수록 좁아지는 형태

  • depth
    • 깊이 = 0인 네트워크 : MF와 유사한 성능
    • 네트워크 깊이가 깊어질수록 precision이 높아진다
    • 수렴이 어려워질 때까지 너비와 깊이를 늘림
  • feature 개수
    • 많은 feature를 사용할수록 precision이 높아진다

Heterogeneous Signals

  • 논문에서 제안한 모델 : MF를 DNN으로 일반화한 모델로, 보조 feature를 쉽게 추가할 수 있음
    • 보조 feature
      • 검색 기록 : n-gram으로 토큰화하고 임베딩 → 요약된 검색 기록(dense)
      • 인구통계학 정보 : 새 사용자에게 추천하기 위해 중요
      • Example Age : 영상의 age
        • 사용자 : 최신 영상을 선호하는 경향 → 최신 영상을 추천하는 것이 중요
        • ML의 편향 : 과거 정보로 미래를 예측하기 때문에 과거 영상을 추천하는 편향 존재
          • 편향 조정을 위해 영상의 age를 feature로 투입
        • 투입 효과
          • 최근에 업로드된 영상의 class 확률이 높아진다
          • 업로드 이전에는 class 확률이 계산되지 않는다

Label and Context selection

  • surrogate problem : 보조적인 문제를 해결해 추천시스템을 개발하는 접근 방식
    • 보조적인 문제 : 평점 예측, 시청 영상 예측 ...
  • 평점 예측 
    • AB 테스트에서 중요하지만 offline 실험에서 측정하기 어려움
    • 해결 방법
      1. train data : 추천 대상 시청 + 외부 유입 시청
        • 새 영상을 반영하고 편향을 방지하기 위함
        • CF를 통해 외부 유입 건을 빠르게 capture
      2. 사용자 가중치를 동일하게 부여하기 위해 사용자별 학습 데이터 크기 고정
        • heavy user로 인한 편향 방지
  • 시청할 동영상 예측
    • 사용자의 마지막 검색 결과를 재현하는 모델은 성능이 떨어진다
    • 해결 방법 : 마지막 검색 결과를 재현하지 않기 위해 모델에 투입하는 정보를 가린다
      • 시퀀스 정보를 무시, 순서가 없는 bag of token 형태로 검색 쿼리 represent → 모델 : label 원본 인식X
  • asymmetric consumption 패턴
    • 시리즈형 영상 : 순차적으로 시청
    • 특정 장르의 영상 : 유명한 아티스트부터 시청하고 인지도가 낮은 아티스트 영상 시청
    • asymmetric consumption 패턴으로 인해 held-out watch 예측보다 future watch 예측이 좋은 성능을 보인다
      • held-out watch : 미래 정보 leakage, asymmetric consumption 패턴 무시
      • future watch : 사용자 기록 rollback, 과거 정보만 가지고 예측

 

순위 선정

  • 시청 정보 specialize 및 개별 사용자에게 맞도록 후보 예측 결과 보정
    • 보정의 필요성 : 영상 시청 확률이 높더라도 썸네일로 인해 홈에서 클릭할 확률이 낮을 수 있음
    • 영상과 user 간 관계를 나타내는 더 많은 feature 사용
      • 선정된 후보에 대한 사용자의 action(평점)이 dense하기 때문
    • 점수 비교가 어려운 경우 중요

모델 구조

  • 후보 선정과 유사한 구조
    • 각 영상에 독립적인 점수를 부여하고 점수에 따라 순위 부여
  • Experiments with Hidden layers
    • 은닉층의 폭과 깊이가 커질수록 성능이 높아짐
    • 성능과 연산 시간 간 trade off 관계 존재
    • 정규화된 연속형 변수만 투입한 경우 loss가 커진다

  • Modeling expected watch time
    • labeling
      • positive : 클릭
        • 가중치 : 시청 시간
      • negative : 클릭X
        • 가중치 : 동일
    • negative 기대 시청시간이 positive 기대 시청시간보다 많은 경우 : positive의 시청시간을 잘못 예측
    • positive, negative 가중치가 동일한 경우 loss가 커진다
  • 목적함수 : 최종적으로는 AB 테스트 결과에 기반해 튜닝하지만, 시청 건당 기대 시청시간 사용
    • $e^{Wx+b}$
    • 클릭율 기반 랭킹보다 시청 시간 기반 랭킹이 관여도를 잘 capture

Feature Representation

  • impression / query
    • impression : item 특성. scored된 각 item에 대해 계산
    • query : 사용자 및 context 특성. 요청 시마다 계산
  • feature engineering : input으로 사용하기 위함
    • 문제 상황 : 사용자 행동의 일시적 시퀀스 representation과 사용자 행동을 아이템 점수와 연관시키는 것
    • 가장 중요한 신호 : 사용자와 (유사) item 간 과거 상호작용
    • 관련 item에 대한 사용자의 action을 나타내는 연속형 feature
      • 다른 item에 잘 일반화되기 때문에 중요
    • 후보 생성 시의 정보를 순위 선정 시 사용할 수 있도록 전파하는 것이 중요
    • 과거 영상 노출 빈도 : 이탈 개념 도입에 중요
      • 추천 영상을 시청하지 않은 경우 해당 영상 노출을 줄임
  • Embedding categorical feature : sparse한 카테고리형 변수를 dense하게 만들기 위함
    • 카테고리가 너무 많은 경우, 클릭 빈도 수를 기준으로 상위 N개 선정
      • out of vocabulary의 경우(상위 N개가 아닌 경우), 0으로 임베딩
      • multivalent 카테고리형 feature : 임베딩 → 상위 N개 선정 → 임베딩 → input으로 사용하기 위해 평균 계산
    • 같은 id를 가진 카테고리형 feature : 임베딩 공유
      • 임베딩 공유 효과 : 일반화 성능 및 속도 개선, 메모리 사용량 감소
      • 임베딩을 공유하더라도 각 feature를 개별적으로 네트워크에 투입 → 각 feature의 representation 학습 가능
  • Normalizing continuous features
    • 필요성 : 신경망은 스케일링 및 input 분포에 민감
    • 연속형 변수의 normalize : 수렴에 중요
      • scaling : 0~1에서 균등하게 분포
      • super/sub-linear한 feature를 학습하기 위해 $x^2$ , $\sqrt{x}$ 사용
        • offline에서 정확성 향상

 

Conclusion

  • 다양한 상호작용을 모델링 → 기존 MF보다 높은 성능
  • asymmetric co-watch 행동 포착, 미래 정보 leakage 방지 → 높은 성능
  • discrimative 신호 가리지 않을 경우 overfitting 문제 발생, 전이학습 성능 저하
  • 영상의 age feature를 input으로 사용
    • 과거에 대한 inherent bias 제거
    • 인기 영상의 실시간 반응 represent
    • offline holdout 정확도 결과 개선 및 최근 영상의 시청 시간 증가
  • 순위 선정 : 전통적인 ML에 가까움
    • 그러나 시청 시간 예측에서 선형 모델, 트리 기반 모델보다 높은 성능을 보임
  • 사용자의 과거 행동 feature 사용 시 높은 성능을 보임
  • DNN : 임베딩 및 정규화된 representation 필요
    • layer가 많아질수록 비선형 상호작용 모델링 시 효율성 증가
  • weighted logistic regression : positive의 시청 시간을 학습할 경우 클릭율 예측 성능이 증가