-
Lv2. Day 5Daily 2022. 3. 15. 02:24
오늘 Melon playlist continuation 스터디의 논문 리뷰가 있어서 주말과 아침 시간동안 발표 준비를 했다.
내가 발표한 논문은 Deep Neural Networks for YouTube Recommendations로 2016년에 구글에서 발표한 논문으로 지금은 다른 추천시스템을 쓰고 있는 것으로 알고 있지만 그 당시에 학회에서 많은 주목을 받았던 논문이다.
https://research.google/pubs/pub45530/
Deep Neural Networks for YouTube Recommendations – Google Research
YouTube represents one of the largest scale and most sophisticated industrial recommendation systems in existence. In this paper, we describe the system at a high level and focus on the dramatic performance improvements brought by deep learning. The paper
research.google
저자는 scale, freshness, noise 부분에서 기존 모델들과는 다른 문제점들이 있었다고 주장하며, 이것을 해결하기 위해서 모델을 Candidate generation과 Ranking 2가지로 나누어서 해결하려고 했으며,
Candidate generation 모델에서는 특정 시점에 유저가 시청할 것 같은 하나의 영상을 맞추는 multiclass 분류 문제로 재정의한 후 training을 할 때에는 Negative sampling, serving을 할 때에는 approximate kNN search등의 기법을 이용해서 학습속도를 높였고 feature들을 embedding vector로 만들어줄 때 어떤 이유를 가지고 average해서 넣었는지, 또는 각각의 feature을 넣어준 이유는 무엇인지를 설명하였고,
데이터를 만드는 labeling을 할 때 어떠한 목적을 가지고 하는지에 대해서 설명하였다.
ranking 모델에서는 Candidate generation 모델에서 한번 걸러진 item들을 가지고 더 많은 feature들을 사용하여 정렬을 하게 되는데 Candidate generation 모델과 구조 자체는 많이 유사하며 feature들을 데이터의 형태에 따라 categorical과 continuous로 구분을 하고 의미에 따라 유저/컨텍스트 feature인 Query features, 비디오 자체에 대한 feature인 impression features로 나누어서 feature들을 어떻게 다루는지에 대한 설명,
값이 지나치게 많은 feature의 경우 출현한 frequency를 기준으로 top log N개만 사용하고 나머지 데이터는 Out-Of-Vocabulary 샘플로 취급하여 zero vector로 변환,
watch time으로 가중치를 준 weighted cross-entropy loss 등을 설명하였다.
ppt로 자료를 만들고 대본을 써서 발표를 진행했는데, 템플릿의 저작권 문제로 블로그에 공유를 하는 것은 어려울 것 같다. 대본은 공유가 가능하지만 ppt가 없으면 의미가 없을 것 같아서 따로 공유를 하지는 않겠다.
이후 RecSys with DL2(RNN,GNN)에 관한 강의와 Context-aware Recommendation 강의를 들었고, 추천시스템에서의 GNN과 컨텍스트 기반의 추천시스템에 대한 이해, 벡터로 표현했을 때 Dense Feature와 Sparse Feature(유튜브 추천 시스템에서는 categorical,continuous, query,impression으로 나눈 것과 또 다르다)로 나누는 것, CTR 예측과 컨텍스트 기반 추천 알고리즘의 변천사 등을 알 수 있었다.
피어세션 시간에는 앞으로 사용할 베이스라인 코드를 정해보는 시간을 가졌다.
CV나 자연어처리 때 사용했던 베이스라인 코드 말고 앞으로 프로젝트나 대회에서 사용할 우리 팀만의 베이스라인 코드를 정해보고 싶었는데 추천시스템에서 사용할만한 베이스라인 코드가 많이 없어서 찾아보다가 각자 더 찾아보고 좋은 자료가 있으면 공유를 하기로 했다.
'Daily' 카테고리의 다른 글
Lv2. Day 7 (0) 2022.03.17 Lv2. Day 6(특강) (0) 2022.03.16 Lv2. Day 4 (0) 2022.03.12 Lv2. Day 3 (0) 2022.03.11 Lv2. Day 2 (0) 2022.03.09