이 문서에서는 2019년 9월에 구글 유튜브에서 발표한 추천 모델의 구조와 그들이 어떤 점을 해결하고자 했는지에 대해서 살펴본다.
대부분의 딥러닝 모델들은 학습을 할때 주어진 하나의 task를 잘하도록 학습한다. 예를들면, 이미지의 종류를 분류하거나, 점수를 예측하는 task들을 예시로 들 수 있다.
하지만 유튜브 추천 시스템을 구축한다고 가정을 해보면, 이 추천 시스템은 여러가지 task 들을 복합적으로 잘할 필요가 있다. 예를 들면 유저가 클릭할만한 동영상을 추천해야 하며, 유저가 단순히 클릭한 하지 않고 끝까지 시청할 동영상을 추천하기도 해야하며, 친구와 공유, 동영상에 대한 점수를 높게 설정할 동영상을 예측하는 것 등등 많은 task들을 다 잘할수록 좋은 추천 시스템이라고 볼수있다. 따라서 최근 추천 시스템 개발에서 Multi task 모델을 구축하기 위해 노력하고 있으며 이 논문에서도 어떻게 하면 Multi task를 다 잘하는 추천 시스템을 만들지 고민했고 그 내용을 공유한다.
유튜브 추천 시스템에서는 여러가지 task들을 engagement objectives와 satisfaction objectives 로 나눈다.
유튜브 추천 시스템에서는 이러한 Multi task를 잘하는 모델을 생성하기 위해, MMOE 라는 모듈을 사용한다. 이 모듈을 사용함으로써 동영상을 표현하는 벡터를 만들도록 모델이 학습할 때 좀더 효율적으로 학습할 수 있게 된다. 이 모듈에 대해서는 뒷부분에 모델 설명하는 부분에서 자세히 설명하도록 하겠다.
추천 시스템에서 가장 중요하게 풀어야 할 문제중 하나는 Bias를 줄이는 것이다. 예를 들면 유튜브를 시청하게 되면 옆에 추천 영상들이 뜨는데, 사람들은 대체적으로 왼쪽에 있는 아이템들을 더 자주 클릭하는 경향이 있고, 윗쪽에 위치한 아이템을 클릭하는 경향이 있다. 따라서 아이템의 정보 뿐만 아니라 여러가지 다양한 환경에 의해서 사용자의 행동이 결정이 되는데, 이러한 Bias 때문에 추천 시스템은 유저가 진짜 좋아하는 영상이 뭔지 알아내기 힘들 수 있다. 또한 이러한 bias 기반으로 생성된 training dataset을 기반으로 모델이 학습하게 되면, 모델이 학습하는 dataset 자체가 유저의 선호도 기반이 아닌, 단지 상품의 위치 정보가 중요하게 작용되어 모델이 제대로 학습하지 못할수도 있다.
예를 들어보자면, 만약 유튜브 추천 영상을 나열시킬때, 영상 제목의 알파벳 순으로 정렬하는 규칙이 있었다면, 유튜브 추천 알고리즘은 자연스럽게 유저의 영상 선호도를 학습하는게 아니라, 정렬 규칙을 학습할 수도 있게 된다.
또 다른 예시로는 추천 시스템은 기존의 시스템을 답습하는 경향이 있는데 그 이유는 이미 기존의 시스템이 제공하는 로직대로 아이템을 노출 시킬것이고, 노출된 상품에 대해서만 유저의 로그가 쌓이기 때문에 유저의 로그를 기반으로 모델을 학습했을때, 학습된 모델은 기존 시스템과 비슷하게 학습이 될 가능성이 높다. 기존 시스템이 노출시키지 않은 아이템이 유저가 가장 좋아하는 아이템이더라도, 기존 시스템에 의해 노출 자체가 되지 않았기 때문에 로그가 쌓일 기회조차 주어지지 않는다.
따라서 추천 시스템을 고안할때는 이러한 외부적인 bias를 최소한으로 하도록 노력해야하며, 외부적인 bias를 제로로 만드는것은 불가능 하기 때문에 모델에서 이러한 정보들을 잘 학습하지 않도록 배제 시키는것도 굉장히 중요한 기술중 하나이다.
유튜브 추천 시스템에서는 이러한 position bias를 줄이기 위해 Shallow Tower Model이라는 개념을 모델링에 도입하였다. 이것도 뒷부분에서 자세히 설명하고자 한다.
이 논문의 contribution은 다음과 같다.