유튜브 알고리즘 분석
유튜브가 카카오톡을 제치고 '국민앱' 1위 자리를 차지했다. 이러한 현상은 다양한 이유가 있겠지만, 주요한 이유 중 하나는 풍부한 콘텐츠(영상, 이미지)와 지속적인 머무름을 유도하는 장치가 존재하기 때문이다. 그중에서 가장 중요한 장치는 추천 알고리즘이라고 생각해 유튜브의 추천 알고리즘에 대해 분석해 보았다.
유튜브를 방문하는 사용자는 크게 세 가지로 분류할 수 있다.
직접 탐색(Direct navigation) : 필요한 영상을 찾거나 외부 링크를 통해 접속하는 경우
검색(Search) : 원하는 주제에 대한 영상을 찾는 경우
단순히 시간을 보내기 위한 사용자 (Unarticulated Want)
유튜브 추천 시스템은 어떤 경우에 초점을 맞추고 있을까? 단순히 시간을 보내기 위한 사용자들이 더 오래 머무를 수 있도록 초점이 맞춰져 있을 것이다.
유튜브의 알고리즘은 2016년에 머신러닝 기술의 도입 이후 정밀한 기준을 마련하기까지 많은 시행착오를 겪었다. 그 시작은 2005년부터로 2011년까지로, 이때는 클릭 유도에 초점을 맞추었다. 즉, 사용자에게 추천 영상을 제공할 때, 조회 수가 가장 핵심적인 요소로 많은 사람들이 본 영상을 더 자주 추천하는 시스템이었다.
그러나 click-bait video가 늘어나면서 사용자들의 불만이 증가했다. 그래서 2012년부터 2016년까지 유튜브는 참여에 초점을 맞추었다. 시청 시간에 주목하여 사용자들이 오래 시청한 동영상을 추천했다. 이는 사용자가 어그로성 영상을 클릭하면 금방 이탈할 것이므로 이전의 문제(단순히 조회수가 높은 영상)를 해결하는 동시에 사용자들이 더 오래 볼 가능성이 높은 동영상(시청 시간이 긴 영상)을 추천함으로써 플랫폼 체류 시간이 자연스럽게 증가할 거라고 생각했기 때문이다. 이 과정에서 머신러닝과 같은 기술 발전과 적극적인 사용자 조사를 통해 알고리즘 개선에 계속해서 노력했고 현재까지는 안전에 집중하고 있다. 저작권 및 유해한 콘텐츠들이 소비되지 않도록 가이드라인을 정하고 그런 영상들이 쉽게 퍼지지 않도록 하는데 노력하고 있다.
유튜브는 추천 시스템을 구현하기 위해 Candidate generation Model(후보 생성 모델)과 Ranking Model(랭킹 모델)을 분리하여 따로 설계했다. 후보 생성 모델을 통해 수백만 개의 데이터를 몇 백개의 데이터로 줄이고 랭킹 모델을 통해 수십 개로 추려 사용자에게 추천 영상으로 보여주는 것이다.
후보 생성 네트워크의 구조를 살펴볼 수 있다. 가장 아래 부분은 입력 데이터로 사용자가 시청한 영상들을 평균(average) 처리하여 영상 벡터(watch vector)로 변환하고, 사용자가 검색한 검색어도 평균처리(average) 후 검색 벡터(search vector)로 변환한다. 그리고 geographic, example, gender 등의 특성을 embedding 한다. 평균으로 처리하는 이유는 최근 검색어에 대한 부분만 학습하여 최근 검색어에 대한 영상만 추천하는 편향된 처리가 나타날 수 있기 때문이다.
또한, 유튜브 사용자는 새로 업로드되는 영상에 더 흥미를 갖기 때문에 새로운 영상을 위주로 추천해야 한다. 그러나 오래된 영상일수록 조회수가 높고 학습이 많이 되어 있기 때문에 새로 업로드된 영상과 비교했을 때 오래된 영상을 추천할 가능성이 높다. 따라서 영상에 나이를 붙여 오래된 영상일수록 가중치를 낮춰 오래된 영상을 자주 추천하는 문제를 방지했다. 그리고 영상과 검색어 외에 geographic, gender, age 등의 데이터도 학습하여 영상 시청정보나 검색어 정보가 없는 신규 유저에게도 데이터 기반의 추천이 가능하도록 했다.
랭킹 네트워크는 후보 생성 모델에서 추려진 데이터에서 점수를 매겨 순위를 정한다. 이때 많은 특징들이 Input으로 사용된다. 딥러닝을 통해 학습된 특성뿐만 아니라 다양한 hand-writtend feature를 사용하여 대략 수백 개 정도의 feature가 사용되는데, video embedding, language embedding, time since last watch, previous impressions 등을 이용한다.
여기서 영상 클릭 여부가 아닌 영상의 시청 시간을 가중치로 두는 이유는 광고성, 낚시성 영상을 걸러내기 위함이라고 한다. 기존 CTR로 최적화를 진행하면 낚시성 비디오가 많이 걸리고, 단순히 시청 시간만 고려하면 길이가 긴 영상이 주로 추천될 수 있다. 따라서 밸런스를 맞춰 주는 것이 중요하다.
결론적으로, 유튜브는 콘텐츠 기반 필터링과 협업 필터링의 두 가지 유형의 추천 알고리즘을 결합한 하이브리드 추천 알고리즘을 사용한다. 신규 가입자에게는 gender, age, geographic 특성을 이용해 콘텐츠를 추천하고, 이후 충분히 데이터가 쌓이면 video, language, time since last watch, previous impressions 등 사용자 취향에 맞는 콘텐츠를 추천한다. 이를 통해 사용자들이 더 오랜 시간을 유튜브에 체류하는 것이고 결과적으로 현재와 같은 MAU를 달성할 수 있었다고 생각한다.