본문 바로가기

논문 정리

유튜브 추천 시스템 정리: Deep Neural Networks for YouTube Recommendations

Covington, P., Adams, J., & Sargin, E. (2016, September). Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM conference on recommender systems (pp. 191-198).

 

상용 추천 시스템에서 고려하는 문제

유튜브(YouTube)와 같은 상용 추천 시스템 개발자는 Scale, Freshness, Noise와 같은 문제를 고민한다.

 

Scale은 데이터 규모에서 비롯되는 문제이다. 유튜브(YouTube)에는 수많은 사용자와 동영상이 있다. 대규모 데이터 환경에서의 추천 모델은 소규모 데이터 환경에서의 모델보다 성능 및 속도에 유의해야 한다. 작은 규모의 데이터를 가지고 잘 동작하던 추천 모델이 빅데이터 환경에서는 원하는 성능을 내지 못할 수 있다. 또한 추천 결과를 생성하는 시간이 오래 걸릴 수 있다.

 

Freshness는 데이터의 생성 주기와 관련되어 있다. 유튜브(YouTube)에서는 초 당 수십 시간, 혹은 그 이상 길이의 동영상이 추가된다. 추천 시스템은 실시간으로 등록되는 아이템에 대해서도 추천이 이루어질 수 있도록 개발되어야 한다.

 

마지막으로 Noise 문제는 데이터의 질과 관련된 문제이다. 추천 시스템의 일반적인 데이터는 사용자의 아이템에 대한 평가이다. 하지만 이러한 평가가 명시적으로 이루어지지 않는다. 따라서 추천 시스템에서는 클릭 수, 시청 수와 같은 데이터를 사용하여서 사용자의 아이템에 대한 선호를 추론한다. 하지만 이러한 암묵적 데이터는 노이즈가 많으므로 추천 시스템 모델은 노이즈에 대해서도 강건(robust) 해야 한다.

 

유튜브(YouTube) 추천 시스템 구조

YouTube 추천 시스템 구조

2016년에 유튜브(YouTube)는 Deep Learning 기술을 추천 시스템에 적용하였다. 추천 시스템에서 후보 동영상을 선별하는 작업과 선별된 동영상의 순위를 정하는 작업을 Deep Learning 기반의 신경망 모델을 사용하였다.

 

Candidate Generation Network는 수많은 동영상 중 사용자가 좋아할 만한 동영상의 후보를 선별한다. 선별 작업 시 중요한 것은 높은 재현율(recall)의 모델을 개발하는 것이다. 높은 재현율의 모델은 사용자가 선호하는 동영상은 최대한 많이 찾아내는 모델이다.

 

Candidate Generation Network를 통해 선별된 동영상은 Ranking Network를 통해서 재정렬된다. Ranking Network는 선별된 동영상 중 사용자 화면에 배치할 동영상을 최종 선택한다.

 

Candidate Generation Network

Candidate Generation Networks

Candidate Generation Network은 watch vector, search vector와 여타의 features를 입력으로 받는다. watch vector는 사용자가 시청한 동영상 Embedding의 평균이고, search vector는 사용자가 검색한 키워드 Embedding의 평균이다.

 

Candidate Generation Network는 최종적으로 사용자 Embedding을 출력한다. 사용자 Embedding과 동영상 벡터를 활용하여서 네트워크는 사용자가 동영상을 끝까지 보았는지 Classification 문제를 해결하도록 설계한다. 효과적인 학습을 위해서 Negative Sampling을 사용한다.

 

Candidate Generation Network에서 사용하는 features 중 시간에 대한 정보도 있다. 사용자의 동영상 시청 패턴을 확인해보면, 사용자 시청은 동영상이 등록되는 시점에서 폭발적으로 증가하는 특징을 보인다. 시간에 대한 정보를 이러한 동영상 시청 패턴을 파악하기 위한 feature이다.

 

Ranking Network

Ranking Networks

Candidate Generation Network에서 추린 동영상은 Ranking Network를 통해서 재정렬된다. 이때, 동영상과 관련된 다양한 features들을 사용한다. 다양한 features를 통해 구축한 Network는 동영상 시청하는 시간을 예측하는 Weighted Logistic Regression 문제를 해결하도록 설계된다.

 

Surrogate Problem

추천 시스템은 Surrogate Problem이다. 개발한 추천 시스템을 평가하기 위해서 가장 좋은 방법은 사용자에게 직접 서비스하고 평가를 받는 것이다. 하지만, 모든 추천 시스템을 개발할 때마다 이러한 과정을 거치는 것은 불가능하며, 따라서 추천 시스템의 평가는 Surrogate Problem으로서 실제 환경과 근사한 환경에서 이루어진다. 대표적으로 Machine Learning 모델 평가 방법을 사용하며, RMSE, MAP와 같은 평가 지표가 대표적이다.

 

하지만 추천 시스템을 최종 서비스하기 전에 A/B Test를 통해서 사용자의 반응을 확인하는 작업이 필요하다. 그렇다면 A/B Test를 통해서 어떠한 추천 시스템을 좋은 추천 시스템이라고 가정할 것인가. 이는 추천 시스템 평가자의 결정에 따라 달라진다.

 

추천 시스템이 사용자의 CTR(Click Through Rate)을 높일 수 있다. 이러한 경우 추천 시스템은 Viral 동영상이 추천되어도 이를 잘못되었다고 판단하지 않을 것이다. Viral 동영상은 클릭 수만 많지만 추천 대상으로는 적합하지 않은 동영상들이다. 이러한 문제를 해결하기 위해서 시청 시간을 평가 지표로 사용할 수 있다. 하지만 시청 시간은 동영상 자체의 길이와 긴밀한 상관관계가 있으므로 주의가 필요하다.

 

 

References

Covington, P., Adams, J., & Sargin, E. (2016, September). Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM conference on recommender systems (pp. 191-198).

 

http://keunwoochoi.blogspot.com/2016/09/deep-neural-networks-for-youtube.html

http://yhs968.blogspot.com/2019/09/part-2-deep-neural-networks-for-youtube.html

https://www.youtube.com/watch?v=WK_Nr4tUtl8