" Deep Neural Networks for YouTube Recommendations " - Paul Covingtion, Jay Adams, Emre Sargin (2016)

Introduction
유투브는 영상 콘텐츠를 만들고 공유하고 찾는 가장 큰 플랫폼임. 유투브는 계속해서 성장하는 비디오 형태로부터 많은 유저에게 맞춤형 콘텐츠를 추천해야 함.
Scale : 방대한 규모와 효율적인 서빙 시스템을 고려한 효율적인 추천 알고리즘을 적용할 수 있는 방법을 찾아야 함.
Freshness : 실시간으로 초당 많은 시간의 비디오가 업로드됨. 모델은 새롭게 업로드되는 내용과 그에 대한 유저의 행동을 충분히 다룰 수 있어야 함.
Noise : sparsity와 관찰되지 않은 외부 요인의 다양성 때문에 예측하기 어려움. implicit feedback를 사용해야 하며 metadata가 잘 구축되어 있지 않음. 훈련 데이터셋에 robust해야 함.
딥러닝을 사용한 추천 시스템이 적었고, 유투브는 딥러닝을 사용하는 추세로 바뀌고 있음.
Model

candidate generation, ranking model의 두 단계로 구성됨.
1) candidate generation
유저의 유투브 행동 기록들을 사용해서 모든 영상 중에 유저에게 추천해줄 후보 영상을 선별하는 과정임.
이전에는 rank loss를 기반으로 한 MF 방법론을 사용함.
softmax로 유저와 context를 기반으로 특정 시간에서 아이템 세트 중 각 아이템의 시청을 예측하는 multiclass classification으로 정의할 수 있음.

explicit feedback은 sparse해서 implicit feedback을 사용함. 효율적인 학습을 위해 negative sampling을 수행함. 많은 아이템의 확률을 예측하는 과정에서의 latency를 줄이기 위해 hashing을 사용하여 문제를 쪼개서 해결함.

시청 기록, 검색 기록은 임베딩 벡터를 사용하고 지리 정보, 나이, 성별을 concat하여 input 벡터를 구함.
ReLU 층을 쌓아 모델을 구축함.

학습 데이터를 선정하고 추천 아이템을 예측할 때 랜덤 아이템을 예측하기보다 다음 아이템을 예측하도록 구성하는 것이 효과적임.
2) ranking model
영상 콘텐츠와 유저의 feature를 사용해 높은 recall을 가지는 후보군을 구별하는 것이 중요함.

candidate generation과 비슷한 구조고 아이템에 대해 점수를 부여하여 유저에게 반영함.
feature는 범주형, 연속형으로 나눔. 연속형의 경우 0과 1사이로 정규화를 시켜주며 super, sub linear한 특징을 배우기 위해 제곱, 루트값을 input으로 변형하여 넣어줌. 이후 많은 feature에 대한 전처리와 어떤 feature가 적합한지를 탐구함.
아이템과 검색 기록을 임베딩하여 input 벡터로 만들고 데이터가 많으면 N개를 선정하고 부족하면 zero 임베딩을 함.
Conclusion
딥러닝을 사용한 모델은 이전의 MF와 비교하여 더 좋은 성능을 보여줌.
candidate generation, ranking model 두 단계를 사용한 model을 구축함.
ranking은 ML 모델과 유사하지만 linear 및 tree 기반 방법론보다 더 좋은 성능을 보임.
'논문 리뷰' 카테고리의 다른 글
[ELMo : Deep contextualized word representations] (2) | 2024.03.06 |
---|---|
[Recurrent neural network based language model] (2) | 2024.02.29 |
[BPR: Bayesian Personalized Ranking from Implicit Feedback] (0) | 2023.07.30 |
[One-Class Collaborative Filtering] (0) | 2023.07.23 |
[NPA- Neural News Recommendation with Personalized Attention] (0) | 2023.07.10 |