๋…ผ๋ฌธ ๋ฆฌ๋ทฐ - Youtube Recommendations

๋…ผ๋ฌธ ๋ฆฌ๋ทฐ - Youtube Recommendations

Deep Neural Networks for YouTube Recommendations

ํ•ด๋‹น ์ธ๋„ค์ผ์€ Wonkook Lee ๋‹˜์ด ๋งŒ๋“œ์‹  Thumbnail-Maker ๋ฅผ ์ด์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค

๋…ผ๋ฌธ ์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ฒซ ๋ฐœํ‘œ๋ฅผ ์–ด๋–ค ๋…ผ๋ฌธ์„ ๋ฆฌ๋ทฐํ•ด์•ผ๋ ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์œ ํŠœ๋ธŒ์˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ ๋…ผ๋ฌธ์„ ํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ์ถ”์ฒœ์‹œ์Šคํ…œ์„ ๊ณต๋ถ€ํ•˜๋ ค๋ฉด ๊ฑฐ์˜ ํ•„์ˆ˜ ๋…ผ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š”๋งŒํผ ์กฐ๊ธˆ ๋” ์žฌ๋ฐŒ๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ฆฌ๋ทฐํ•  ์ƒ๊ฐ์ด๋‹ค.

์ด ๋…ผ๋ฌธ์„ ํ†ตํ•ด ์ „๋ฐ˜์ ์ธ ์ถ”์ฒœ์‹œ์Šคํ…œ์˜ ๋ฐฉํ–ฅ, ๋”ฅ๋Ÿฌ๋‹์€ ์–ด๋–ป๊ฒŒ ์ถ”์ฒœ์‹œ์Šคํ…œ์— ํ™œ์šฉ๋˜๋Š”์ง€ ๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. 2016๋…„์— ๋‚˜์˜จ ๋…ผ๋ฌธ์ด์ง€๋งŒ ์˜ฌ๋“œํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค.

โŒš๏ธ Abstract

์œ ํŠœ๋ธŒ๋Š” ์ถ”์ฒœ์‹œ์Šคํ…œ ์ƒ์—์„œ ํฐ ๊ทœ๋ชจ์™€ ์ •๊ตํ•จ์„ ๋Œ€ํ‘œํ•˜๋Š” ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” high level ์œ„์ฃผ๋กœ ํ•ด๋‹น ์‹œ์Šคํ…œ์„ ์„ค๋ช…ํ•˜๋ฉฐ ๋”ฅ๋Ÿฌ๋‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋“œ๋ผ๋งˆํ‹ฑํ•˜๊ฒŒ ํ–ฅ์ƒ๋œ ์„ฑ๋Šฅ์— ๋Œ€ํ•ด ์ง‘์ค‘ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋…ผ๋ฌธ์˜ ํ๋ฆ„์„ ํฌ๊ฒŒ 2๊ฐœ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ ํ•˜๋‚˜๋Š” deep candidate generation model ๊ณผ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” deep ranking model ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

์ด ๋‘ ๊ฐ€์ง€๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ๋ณด๊ณ  ์ด๋“ค์ด ์ด๋Ÿฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ์–ป์€ insight ์™€ practical ํ•œ ๊ตํ›ˆ์„ ๊ฐ™์ด ๋ณด๋„๋ก ํ•˜์ž.

โš™๏ธ Introduction

์œ ํŠœ๋ธŒ ์ถ”์ฒœ์€ ์ˆ˜์–ต๋ช…์˜ ์œ ์ €์—๊ฒŒ ์ ์  ๋Š˜์–ด๋‚˜๋Š” ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋น„๋””์˜ค ์†์—์„œ ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ์„ ํ•ด์•ผํ•˜๋Š” ์˜๋ฌด๊ฐ€ ์žˆ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ๋”ฅ๋Ÿฌ๋‹์ด ์ถ”์ฒœ์— ๋ฏธ์นœ ๋ง‰๋Œ€ํ•œ ์˜ํ–ฅ์— ๋Œ€ํ•ด ํฌ์ปค์‹ฑํ•˜๋ ค ํ•œ๋‹ค. ์œ ํŠœ๋ธŒ ๋น„๋””์˜ค ์ถ”์ฒœ์€ ํฌ๊ฒŒ 3๊ฐ€์ง€์˜ ๊ด€์ ์—์„œ ํฐ challenge ๋“ค์ด ์กด์žฌํ•œ๋‹ค.

  • Scale : ์ž‘์€ ์Šค์ผ€์ผ์—์„œ ์ž‘๋™์ด ์ž˜ ๋˜๋Š” ์ˆ˜ ๋งŽ์€ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œ ํŠœ๋ธŒ์™€ ๊ฐ™์ด ํฐ ์Šค์ผ€์ผ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Œ. ๊ทธ์— ๋”ฐ๋ผ ๊ณ ๋„ํ™”๋œ ๋ถ„์‚ฐ๋œ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ serving system ์ด ์š”๊ตฌ๋จ

  • Freshness: ์œ ํŠœ๋ธŒ๋Š” ๊ต‰์žฅํžˆ ๋‹ค์ด๋‚˜๋ฏนํ•œ corpus ๋ฅผ ๊ฐ€์ง„ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋น„๋””์˜ค๊ฐ€ ์กด์žฌํ•จ. ์ถ”์ฒœ์‹œ์Šคํ…œ์€ ์ƒˆ๋กœ์šด ์ปจํ…์ธ ์™€ ์œ ์ €์˜ ์ตœ๊ทผ ํ–‰๋™์—๋„ ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚˜์•ผ ํ•จ. ์ž˜ ์•Œ๋ ค์ง„ ๋™์˜์ƒ๊ณผ ์ƒˆ๋กœ์šด ์ปจํ…์ธ ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด ์š”๊ตฌ๋จ

  • Noise: ํฌ์†Œ์„ฑ๊ณผ ๊ด€์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ์™ธ๋ถ€ ์š”์ธ์œผ๋กœ ์ธํ•ด ๊ณผ๊ฑฐ ์œ ์ €์˜ ํ–‰๋™์„ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ค์›€. ๊ทธ์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„์— ๋Œ€ํ•œ ground truth ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ์˜ ํ™•๋ณดํ•˜์ง€ ๋ชปํ•จ.
    ๊ทธ ๋Œ€์‹  ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ์€ implicit ํ”ผ๋“œ๋ฐฑ ์‹œ๊ทธ๋„์„ ๋ชจ๋ธ๋งํ•จ. ๋‚˜์•„๊ฐ€, ์ปจํ…์ธ ์™€ ๊ด€๋ จ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์ž˜ ์ •์˜๋œ ์˜จํ†จ๋กœ์ง€ ์—†์ด๋Š” ์ œ๋Œ€๋กœ ๊ตฌ์กฐํ™”๋˜์ง€ ์•Š์Œ. ๊ทธ๋ ‡๊ธฐ์— ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ•๋ ฅํžˆ ์„ค๊ณ„ํ•ด์•ผ ํ•จ.

ํ™œ๋ฐœํžˆ ์ง„ํ–‰๋˜๋Š” MF(Matrix Factorization) ์—ฐ๊ตฌ์™€ ๋‹ฌ๋ฆฌ deep neural networks ๋ฅผ ํ™œ์šฉํ•œ ์—ฐ๊ตฌ๋Š” ์ถ”์ฒœ์‹œ์Šคํ…œ์—์„œ ์ฐพ๊ธฐ ํž˜๋“ค๋‹ค. ๋˜ํ•œ CF(Collaborative Filter) ๊ฐ™์€ ๊ฒฝ์šฐ ๋ช‡๋ช‡ ์—ฐ๊ตฌ์—์„œ deep neural network ์™€ autoencoder ๋กœ ํ™œ์šฉ๋˜๊ธฐ๋„ ํ•˜์˜€๋‹ค.

์ด์ œ๋ถ€ํ„ฐ ์œ ํŠœ๋ธŒ๋Š” deep neural network ๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ–ˆ๋Š”์ง€, ๋ฌด์—‡์„ ์–ป์—ˆ๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.

๐Ÿšฒ System Overview

image

Overall Structure of Recommendation System

์œ„ ๊ทธ๋ฆผ์€ ์ „์ฒด์ ์ธ ์ถ”์ฒœ์‹œ์Šคํ…œ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ฆผ์ด๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ ์ด 2๋‹จ๊ณ„๋กœ ํ›„๋ณด ์ƒ์„ฑ ๋ชจ๋ธ๊ณผ ๋žญํ‚น ๋ชจ๋ธ ๋กœ ์ด์–ด์ ธ์žˆ๋‹ค.

Candidate Generation Model

ํ•ด๋‹น ๋ชจ๋ธ์€ ์œ ์ €์˜ ์œ ํŠœ๋ธŒ ํ™œ๋™ ๊ธฐ๋ก์„ input ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ 100 ๊ฐœ ์ •๋„์˜ ๋น„๋””์˜ค๋ฅผ ๋ฐ›์•„์˜ค๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํ›„๋ณด๋“ค์€ ์‚ฌ์šฉ์ž์™€ ๊ด€๋ จ์„ฑ๊ณผ ์ •๋ฐ€๋„๊ฐ€ ๋†’๋‹ค.

candidate generation model ์€ ์˜ค๋กœ์ง€ Collaborative Filtering ์„ ํ†ตํ•˜์—ฌ ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐœ์ธํ™” ์ถ”์ฒœ์„ ํ•ด์ฃผ๊ฒŒ๋œ๋‹ค. ๋˜ํ•œ ์œ ์ €๊ฐ„์˜ ์œ ์‚ฌ๋„๋Š” ์˜์ƒ ์‹œ์ฒญ ID, ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ ํ† ํฐ๊ณผ demographic ์ •๋ณด๋ฅผ ํ†ตํ•ด์„œ ํ‘œํ˜„์ด ๋œ๋‹ค.

Ranking Model

์†Œ์ˆ˜์˜ ์ตœ์ ์˜ ์ถ”์ฒœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ›„๋ณด๋“ค ์ค‘ ๋†’์€ recall์˜ ์„ธ๋ถ„ํ™”๋œ ์ˆ˜์ค€์˜ ํ‘œํ˜„์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์œ„ํ•ด ranking model ์ด ์กด์žฌํ•œ๋‹ค.

๋žญํ‚น ๋„คํŠธ์›Œํฌ๋Š” ์˜์ƒ๊ณผ ์‚ฌ์šฉ์ž๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋ชฉ์  ํ•จ์ˆ˜์— ๋”ฐ๋ผ ๊ฐ ๋™์˜์ƒ์— ์ ์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ์œ ์ €์—๊ฒŒ ์ถ”์ฒœ์ด ๋œ๋‹ค.

Precision vs. Recall

candidate generation model ์€ high precision ์„, ranking model ์—์„œ๋Š” high recall ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. ๊ทธ ์ด์œ ๋ฅผ ์•Œ์•„๋ณด์ž.

Precision ์€ ์ •๋ฐ€๋„๋ฅผ ๋œปํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ชจ๋ธ์ด True๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ ๊ฒƒ ์ค‘์—์„œ ์‹ค์ œ True์ธ ๊ฒƒ์˜ ๋น„์œจ ์ด๋‹ค. ํ›„๋ณด ์ƒ์„ฑ ๋ชจ๋ธ์—์„œ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ํ›„๋ณด๋ฅผ ๋จผ์ € ๋ฝ‘์•„๋‚ด์•ผ ํ•˜๊ธฐ์— ๋ชจ๋ธ์ด ๋‚˜์˜ ์ถ”์ฒœ ์ค‘ ๊ดœ์ฐฎ์€ ์˜์ƒ์„ ์ค„๊ฒŒ ์™€ ๊ฐ™๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด Recall ์€ ๋ฐ˜๋Œ€๋กœ ์‹ค์ œ True์ธ ๊ฒƒ ์ค‘์—์„œ ๋ชจ๋ธ์ด True๋ผ๊ณ  ์˜ˆ์ธกํ•œ ๊ฒƒ์˜ ๋น„์œจ ์ด๋‹ค. ๋žญํ‚น ๋ชจ๋ธ์€ ํ›„๋ณด๋“ค ์ค‘ ์œ ์ €์—๊ฒŒ ๋” ์•Œ๋งž์€ ์˜์ƒ์„ ๋†’์€ ๋žญํ‚น์„ ๋ถ€์—ฌํ•ด์•ผํ•˜๋ฏ€๋กœ ๋ชจ๋ธ์ด ์‹ค์ œ ๋‹ต ์ค‘ ๋‚˜์˜ ์ถ”์ฒœ์ด๋ž‘ ๋˜‘๊ฐ™์€ ์˜์ƒ์„ ์ถ”์ฒœํ•ด์ค„๊ฒŒ ๋ผ๊ณ  ํ•ด์„ํ•˜๋ฉด ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค.

Overall

์ด๋Ÿฌํ•œ ํŒŒ์ดํ”„๋ผ์ธ์€ ์ถ”ํ›„ ๋‹ค๋ฅธ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ํ›„๋ณด๋ฅผ Blending ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ด์ ์ด ์žˆ๋‹ค.

์ €์ž๋Š” ์ด ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ์˜คํ”„๋ผ์ธ ๋ฉ”ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ์ง„์ ์œผ๋กœ ๊ทธ ์„ฑ๋Šฅ์„ ์˜ฌ๋ ค๊ฐ”๋‹ค๊ณ  ํ•œ๋‹ค. ๋‹ค๋งŒ ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ชจ๋ธ์„ ํ‰๊ฐ€ํ•  ๋•Œ๋Š” ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ A/B ํ…Œ์ŠคํŠธ์— ์˜์กดํ•˜์˜€๋‹ค๊ณ  ํ•œ๋‹ค. Online ํ…Œ์ŠคํŠธ ๊ฐ™์€ ๊ฒฝ์šฐ CTR, ์‹œ์ฒญ ์‹œ๊ฐ„, ์œ ์ €์˜ ์ž‘์šฉ์„ ์ธก์ •ํ•  ์ˆ˜ ์ž‡๋Š” ๋ฉ”ํŠธ๋ฆญ ๋“ฑ์„ ํ™œ์šฉํ•˜์˜€๋‹ค๊ณ  ํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์ถ”์ฒœ์‹œ์Šคํ…œ์—์„œ ์–ด์ฐŒ๋ณด๋ฉด ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฒƒ์ธ๋ฐ ์˜คํ”„๋ผ์ธ ํ…Œ์ŠคํŠธ์™€ ์˜จ๋ผ์ธ ํ…Œ์ŠคํŠธ๋Š” ๊ผญ ์ƒํ˜ธ๊ด€๊ณ„๊ฐ€ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๐Ÿ’Š Candidate Generation

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋œฏ์–ด์„œ ์‚ดํŽด๋ณด์ž. ์ฒ˜์Œ์œผ๋กœ๋Š” ํ›„๋ณด ์ƒ์„ฑ ๋‹จ๊ณ„์ด๋‹ค. ํ›„๋ณด ์ƒ์„ฑ ๋‹จ๊ณ„์—์„œ๋Š” ์—„์ฒญ๋‚œ ์–‘์˜ ์˜์ƒ ์ค‘ 100 ๊ฐœ ์ •๋„์˜ ํ›„๋ณด๋ฅผ ๋งŒ๋“ ๋‹ค. ์ด ๋…ผ๋ฌธ์ด ๋‚˜์˜ค๊ธฐ ์ „์€ rank loss ์•„๋ž˜ ํ›ˆ๋ จ๋œ Matrix Factorization ์ด์—ˆ๋‹ค. ์ดˆ๋ฐ˜ ๋‹จ๊ณ„์—์„œ๋Š” ์œ ํŠœ๋ธŒ์˜ ์ถ”์ฒœ ๋ชจ๋ธ์€ ์–‡์€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ด๋ฅผ ๋ชจ๋ฐฉํ•˜์˜€๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๋„คํŠธ์›Œํฌ๋Š” ๋‹จ์ˆœํžˆ ์œ ์ €์˜ ์ด์ „ ์‹œ์ฒญ ๊ธฐ๋ก์„ ์ž„๋ฒ ๋”ฉํ•œ ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๊ด€์ ์—์„œ ๋ณด๋ฉด ์ด๋“ค์˜ ์ ‘๊ทผ๋ฒ•์€ ์–ด์ฐŒ๋ณด๋ฉด Factorization ์˜ ๋น„์„ ํ˜• ์ผ๋ฐ˜ํ™”๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Recommendation as Classification

์ €์ž๋“ค์€ ์ถ”์ฒœ์„ ๊ทน๋„์˜ classfication ๋ฌธ์ œ๋กœ ๋ฐ”๊พธ์–ด์„œ ์ƒ๊ฐํ–ˆ์Œ. ๊ทธ ๋ฐฉ์‹์€ ์•„๋ž˜์™€ ๊ฐ™์Œ

์œ ์ € \(U\) ๊ฐ€ ํŠน์ • ์‹œ๊ฐ„ \(t\) ์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” \(Context\,c\) ๋ฅผ ์ด์šฉํ•ด ์–ด๋–ค ์˜์ƒ์„ ๋ณผ์ง€ ์ฆ‰ \(i\) ํด๋ž˜์Šค๋ฅผ ๋งž์ถ”๋Š” ๋ฌธ์ œ์ด๋‹ค. ์•„๋ž˜์˜ ์ˆ˜์‹์„ ๋ณด๋ฉด softmax ์ˆ˜์‹์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. \[P\left(w_{t}=i \mid U, C\right)=\frac{e^{v_{i} u}}{\sum_{j \in V} e^{v_{j} u}}\]

์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ๋œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋“ค์€ ๋‹จ์ˆœํžˆ ํฌ์†Œ entities ๋ฅผ ๋งคํ•‘ํ•˜์—ฌ ์–ป์–ด์ง„ dense ํ•œ ๋ฒกํ„ฐ์ด๋‹ค. ์—ฌ๊ธฐ์„œ deep neural network ์ด ํ•  ์ผ์€ softmax classifier ๋ฅผ ์ด์šฉํ•˜์—ฌ ์˜์ƒ์„ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ์œ ์šฉํ•œ ์œ ์ €์˜ ํžˆ์Šคํ† ๋ฆฌ ๋ฐ ์ปจํ…์ŠคํŠธ์˜ ํ•จ์ˆ˜๋กœ์„œ ์œ ์ € ์ž„๋ฒ ๋”ฉ \(u\) ๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

explicit ํ”ผ๋“œ๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์œ ํŠœ๋ธŒ์— ์กด์žฌํ•˜๊ธฐ๋Š” ํ•˜๋‚˜, ์ด๋“ค์€ implicit feedback ์„ ํ†ตํ•ด ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผฐ๋‹ค. ์—ฌ๊ธฐ์„œ ์˜์ƒ์„ ๋๊นŒ์ง€ ๋ณธ ์ƒ˜ํ”Œ์„ positive example ๋กœ ์ผ๋‹ค ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์„ ํƒ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ implicit ๊ธฐ๋ก์ด ํ›จ์”ฌ ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— explicit ํ”ผ๋“œ๋ฐฑ์ด ๊ทนํžˆ ๋“œ๋ฌธ tail ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ถ”์ฒœ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

image

About Long-Tail

Efficient Extreme Multiclass

์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง„ ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ฌ ๋•Œ์˜ ๋ฌธ์ œ์ ์„ Negative Sampling ์„ ํ†ตํ•ด ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. Softmax classification ์—์„œ ํด๋ž˜์Šค์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚ ๋•Œ์˜ ๋ฌธ์ œ์ ์€, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๋‚ด์ ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ๋Ÿ‰์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ๋ฐ์— ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ˜ํ”Œ๋ง์„ ํ†ตํ•ด ๊ธฐ์กด softmax ๋ณด๋‹ค ์•ฝ 100๋ฐฐ ๊ฐ€๋Ÿ‰ ์Šคํ”ผ๋“œ๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

๋˜ํ•œ Seving Latency ๋„ ๊ณ ๋ ค๋ฅผ ํ•ด์•ผํ•˜๋Š”๋ฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œํ•  ์ƒ์œ„ N๊ฐœ๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ N๊ฐœ์˜ ํด๋ž˜์Šค(์˜์ƒ)๋ฅผ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ์œ ํŠœ๋ธŒ ์‹œ์Šคํ…œ์€ ํ•ด์‹ฑ์— ์˜์กดํ–ˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์— ์„ค๋ช…๋œ ๋ถ„๋ฅ˜ ๋ฐฉ์‹๋„ ์œ ์‚ฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

์†Œํ”„ํŠธ๋งฅ์Šค ์ถœ๋ ฅ ๋ ˆ์ด์–ด์—์„œ ๋ณด์ •๋œ ๊ฐ€๋Šฅ์„ฑ ์€ ์„œ๋น™ ์‹œ์ ์— ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, scoring ๋ฌธ์ œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๋งŒํผ์˜ ๋„ํŠธ ํ”„๋กœ๋•ํŠธ ๊ณต๊ฐ„์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ด์›ƒ ๊ฒ€์ƒ‰์œผ๋กœ ์ถ•์†Œ๋œ๋‹ค.

์ด๋“ค์€ ์ด๋Š” A/B ํ…Œ์ŠคํŠธ ์ƒ์—์„œ ํฌ๊ฒŒ ๋ฏผ๊ฐํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ฐํ˜”๋‹ค.

Model Architecture

ํ›„๋ณด ์ƒ์„ฑ์˜ ๋ชจ๋ธ์˜ ์•„ํ‚คํ…์ณ๋ฅผ ๋จผ์ € ๊ทธ๋ฆผ์œผ๋กœ ๋ณธ ๋’ค ์„ค๋ช…์„ ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

image

Deep candidate generation model architecture

CBoW ๋ชจ๋ธ์— ์˜๊ฐ์„ ๋ฐ›์€ ์ด ๋ชจ๋ธ์€ ๊ฐ ์˜์ƒ์˜ ๊ณ ์ฐจ์› ์ž„๋ฒ ๋”ฉ์„ ๊ณ ์ • ์–ดํœ˜๋กœ ํ•™์Šตํ•˜๊ณ  ์ด๋ฅผ neural network ์— feed ํ•ด์ค€๋‹ค. ์ €๊ธฐ์„œ video watches ์™€ search tokens ๋Š” ์œ ์ € ํ•œ ๋ช…์˜ ์‹œ์ฒญ ์ด๋ ฅ๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋ก์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์ฐจ์›์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋Š” ๊ฐ ์˜์ƒ์„ ๊ณ ์ •๋œ vocabulary ๋“ค์„ ํ†ตํ•ด ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค.

๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ ์ €์ž๋Š” ๋ชจ๋ธ์— feeding์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋งŽ์€ ์ „๋žต ์ค‘ ํ‰๊ท ์„ ๋‚ด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ƒˆ๊ธฐ์— averaging ๋ฐฉ๋ฒ•์„ ํƒํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ž„๋ฒ ๋”ฉ์€ ๋‹ค๋ฅธ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ํ•จ๊ป˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.

Heterogeneous Signals

Matrix Factorization์˜ ์ผ๋ฐ˜ํ™” ๋ฒ„์ „์ธ deep neural network ์˜ ์žฅ๋ฒ”์€ ์ž„์˜์˜ ์—ฐ์† ๋ฐ ๋ฒ”์ฃผํ˜• ํŠน์ง•์„ ๋ชจ๋ธ์— ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ ์ด๋‹ค. ๊ฒ€์ƒ‰ ๊ธฐ๋ก์€ ์‹œ์ฒญ ๊ธฐ๋ก๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋œ๋‹ค. ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋Š” unigram ๊ณผ bigram ์œผ๋กœ ํ† ํฐํ™”๋˜๊ณ  ์ž„๋ฒ ๋”ฉ๋œ๋‹ค. averaged ๊ฐ€ ๋˜๊ณ ๋‚˜๋ฉด ์ด๋Ÿฌํ•œ ์ž„๋ฒ ๋”ฉ ์ฟผ๋ฆฌ๋Š” ์š”์•ฝ๋œ ๊ณ ๋ฐ€๋„์˜ ๊ฒ€์ƒ‰ ๊ธฐ๋ก์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค.

์ถ”์ฒœ์‹œ์Šคํ…œ์ด ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” cold start ๋ฌธ์ œ๋Š” demographic ์ •๋ณด๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ง€๋ฆฌ์  ํŠน์„ฑ ๋ฐ ๊ธฐ๊ธฐ ์ •๋ณด๊ฐ€ ์ž„๋ฒ ๋”ฉ ๋˜์–ด์žˆ์œผ๋ฉฐ ๊ทธ ๋‘๊ฐœ๋Š” ์ด์–ด์ ธ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋˜ํ•œ ์„ฑ๋ณ„, ๋กœ๊ทธ์ธ ์ƒํƒœ, ๋‚˜์ด๊ฐ™์€ ๊ฒฝ์šฐ๋Š” 0๊ณผ 1 ์‚ฌ์ด๋กœ normalized ๋˜์–ด input ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค๊ณ  ํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ ๊ตฌ๊ธ€์˜ demographic ์ •๋ณด๊ฐ€ ๊ฐ•๋ ฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ˆœ demographic ์ •๋ณด๋งŒ์œผ๋กœ cold start user ์—๊ฒŒ ์ ์ ˆํ•œ ์˜์ƒ์„ ์ถ”์ฒœ ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์‹ ๊ธฐํ•˜๋‹ค.

Example Age Feature

์œ ํŠœ๋ธŒ๋Š” ์ƒˆ๋กญ๊ฒŒ ์˜ฌ๋ผ์˜จ (Fresh) ํ•œ ์˜์ƒ์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋“ค์— ์˜ํ•˜๋ฉด ์œ ์ €๋“ค์€ ์ž์‹ ๊ณผ ์—ฐ๊ด€์žˆ์ง€ ์•Š๋”๋ผ๋„ ์ƒˆ๋กœ์šด ์˜์ƒ์„ ์„ ํ˜ธํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ๋จธ์‹ ๋Ÿฌ๋‹ ์‹œ์Šคํ…œ์€ ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๊ธฐ์— ์ข…์ข… ๊ณผ๊ฑฐ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํŠธ๋ ˆ์ด๋‹ ์ƒ˜ํ”Œ์˜ ๋‚˜์ด๋ฅผ ์ƒˆ๋กœ์šด ํ”ผ์ณ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์•„๋ž˜์™€ ๊ฐ™์ด baseline ๋Œ€๋น„ ์—„์ฒญ๋‚œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ํญ์„ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋˜์—ˆ๋‹ค.

image Example age ๋ฅผ ์ถ”๊ฐ€ํ•œ ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ ์ตœ์‹  ์˜์ƒ(0-10 ์‚ฌ์ด์˜ ์˜์ƒ)์ด ๋งŽ์ด ์ถ”์ฒœ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Label and Context Selection

์ถ”์ฒœ์‹œ์Šคํ…œ ๊ฐ™์€ ๊ฒฝ์šฐ surrogate problem ์„ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ์œ„ํ•ด ํŠน์ • context ๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๊ทธ ์˜ˆ์‹œ๋กœ๋Š” ์˜ํ™” ์ถ”์ฒœ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์˜ํ™”์˜ ํ‰์ ์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋†’์€ ํ‰์ ์„ ๊ฐ€์ง„ ์˜ํ™”๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๊ณต์ ์ธ ์ถ”์ฒœ์œผ๋กœ ์ด์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

surrogate problem : ์ถ”์ฒœ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์œ ์ €์˜ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๊ทธ ์„ฑ๋Šฅ์„ ๊ฐ€๋Š ํ•ด์•ผ ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์„ ์–ป๊ธฐ ํž˜๋“ค๊ธฐ์— mAP, RMSE ์™€ ๊ฐ™์€ ๋ฉ”ํŠธ๋ฆญ์„ ํ™œ์šฉํ•˜์—ฌ ๊ทธ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ

ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ๋Š” ์ž์‹ ๋“ค์ด ์ถ”์ฒœํ•œ ๊ฒƒ๋ฟ๋งŒ์ด ์•„๋‹Œ ๋‹น์—ฐํ•˜๊ฒŒ๋„ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์œ ํŠœ๋ธŒ ์‹œ์ฒญ ๊ธฐ๋ก์„ ์ด์šฉํ•œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ถ”์ฒœํ•œ ์˜์ƒ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ธฐ์šธ์–ด์ง€๋Š” ํŽธํ–ฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ ์ถ”์ฒœ์„ ํ†ตํ•˜์ง€ ์•Š์€ ์˜์ƒ์„ ๋ดค์„ ๊ฒฝ์šฐ, Collaborative Filtering ์„ ํ†ตํ•ด ๋‹ค๋ฅธ ์œ ์ €์—๊ฒŒ๋„ ์ด๋ฅผ ์ ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ๊ฐ ์œ ์ €๋งˆ๋‹ค ํ•œ์ •๋œ ๊ฐœ์ˆ˜๋งŒํผ์˜ ์ƒ˜ํ”Œ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ทธ ์ด์œ ๋Š” ์ž‘์€ ๊ทธ๋ฃน์˜ ํ—ค๋น„ ์œ ์ €์˜ ๋ฐ์ดํ„ฐ์— ์˜ํ•ด ํŽธํ–ฅ๋œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” Taylor Swift ๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ ๋‹ค. ์ถ”์ฒœ์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋‹ค์Œ์— ๋ณผ ์˜์ƒ์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ณผ์—ฐ ๋‹ค์Œ์— ๋ณผ ์˜์ƒ์„ Taylor Swift ์˜์ƒ์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด ์˜ณ์€ ์ถ”์ฒœ์ผ๊นŒ? ๋…ผ๋ฌธ์—์„œ๋Š” ๋งˆ์ง€๋ง‰ ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ถ”์ฒœ๊ฐ™์€ ๊ฒฝ์šฐ, ์„ฑ๋Šฅ์ด ๊ต‰์žฅํžˆ ์•ˆ ์ข‹๋‹ค๊ณ  ์–ธ๊ธ‰ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ? ์œ ์ €์˜ ์†Œ๋น„ ํŒจํ„ด์€ ๊ต‰์žฅํžˆ ๋น„๋Œ€์นญ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์‹œ๋ฆฌ์ฆˆ๋กœ ์ด๋ฃจ์–ด์ง„ ์˜์ƒ์„ ๋ณด์•˜์„ ๊ฒฝ์šฐ, ๊ทธ๋•Œ๋Š” ๊ณ„์† ์ด์–ด์„œ ๋ณผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ผ ์˜์ƒ์— ๋Œ€ํ•ด์„œ๋Š” ํ•œ๋ฒˆ ๋ณด๊ณ ๋งˆ๋Š”, ํ˜น์€ ํ•œ ๋ฒˆ ๊ฒ€์ƒ‰ํ•ด๋ณธ ๊ฒฝ์šฐ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

์œ ํŠœ๋ธŒ๋Š” ์ด์™€ ๊ฐ™์€ ๋น„๋Œ€์นญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์œ ํŠœ๋ธŒ๋Š” ๋žœ๋ค์— ๊ด€ํ•ด prediction ์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค next prediction ์„ ํ†ตํ•ด ์œ„์™€ ๊ฐ™์€ ๋น„๋Œ€์นญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋Š” ๊ธ€๋ณด๋‹ค ๊ทธ๋ฆผ์„ ํ†ตํ•ด ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋”์šฑ ๋น ๋ฅด๋‹ค.


image

random prediction์ธ (a)์™€ ๋‹ค๋ฅด๊ฒŒ ์ด์ „ ์‹œ์ ๋งŒ์„ input ์œผ๋กœ ์‚ฌ์šฉํ•œ next prediction (b)

์—ฌํƒ€ ๊ธฐ์กด Collaborative Filter ๊ฐ™์€ ๊ฒฝ์šฐ ๋ชจ๋“  ์•„์ดํ…œ๋“ค์„ ํŽผ์ณ๋†“๊ณ  ์œ ์ €์˜ ์ด๋ ฅ์„ ์ด์šฉํ•˜์—ฌ ๊ทธ ์ค‘ ์ถ”์ฒœํ• ๋งŒํ•œ ์•„์ดํ…œ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๋ฏธ๋ž˜ ์ •๋ณด์— ๋Œ€ํ•œ leakage ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ ๋˜ํ•œ ๋น„๋Œ€์นญ ์†Œ๋น„ ํŒจํ„ด์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž b ๋ฐฉ๋ฒ•์„ ์ฑ„ํƒํ•˜์˜€๋‹ค๊ณ  ํ•œ๋‹ค.


โ˜„ Ranking

๋žญํ‚น ๋ชจ๋ธ๊ฐ™์€ ๊ฒฝ์šฐ ๋งŒ๋“ค์–ด์ง„ ํ›„๋ณด๊ตฐ ์ค‘์—์„œ ์œ ์ €๊ฐ€ ์ •๋ง ๋ณผ ๊ฒƒ ๊ฐ™์€ ์˜์ƒ์˜ ๋žญํ‚น์„ ๋ฉ”๊ธฐ๋Š” ๊ฐ„๋‹จํ•œ deep ๋„คํŠธ์›Œํฌ์ด๋‹ค.

image

Deep ranking network architecture

๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ ๋„คํŠธ์›Œํฌ์˜ ๋ ˆ์ด์–ด๋Š” Candidate Generation Model ๊ณผ ๋น„์Šทํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํ”ผ์ณ๊ฐ€ ์ˆ˜๋ฐฑ๊ฐœ ์ •๋„๋ผ ํ•œ๋‹ค. ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” ๋‹จ์ˆœ CTR ์„ ํ†ตํ•ด ๋žญํ‚น์„ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ธ๋„ค์ผ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ Click bait ๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์˜์ƒ์ด ๋งŽ์„ํ…๋ฐ ์ด๋Š” proper ํ•œ ๋ฉ”ํŠธ๋ฆญ์ด ์•„๋‹ˆ๊ฒŒ ๋œ๋‹ค.

๊ทธ๋ž˜์„œ ์ €์ž๋“ค์€ impression ์— ๋”ฐ๋ฅธ ์‹œ์ฒญ ์‹œ๊ฐ„์„ ์˜ˆ์ธกํ•˜๋Š” ์‹์œผ๋กœ ๋žญํ‚น์„ ๊ณ„์‚ฐํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด์ œ ์–ด๋– ํ•œ ์‚ฌ๊ณ ๋ฐฉ์‹์„ ํ†ตํ•ด feature engineering ์„ ๊ฑฐ์น˜๋Š”์ง€, ๋˜ํ•œ categorical features ์™€ continuous features ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ๋Š”์ง€ ์‚ดํŽด๋ด์ž.

Feature Representation

์ด๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ํ”ผ์ณ๋Š” ์ˆ˜๋ฐฑ๊ฐ€์ง€ ์ •๋„๊ฐ€ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์ˆ˜๋งŽ์€ ํ”ผ์ณ๋“ค์€ categorical features ์™€ continuous features ๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. ๊ทธ ์ค‘ categorical features ์˜ ์˜ˆ๋กœ๋Š” binary ์ธ ๋กœ๊ทธ์ธ ์ƒํƒœ, ์œ ์ €์˜ ๋งˆ์ง€๋ง‰ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ, impression ์Šค์ฝ”์–ด๋ฅผ ๋ถ€์—ฌํ•  ์˜์ƒID, ๋งˆ์ง€๋ง‰ N ๊ฐœ์˜ ์‹œ์ฒญ ๊ธฐ๋ก๋“ฑ์ด ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ๋Œ€ํ•œ categorical features ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ๋Š”๊ฑธ๊นŒ?

Feature Engineering

๋น„๋ก deep learning ๊ฐ™์€ ๊ฒฝ์šฐ ํ”ผ์ณ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ๋ถ€๋‹ด์„ ๋œ์–ด์ค€๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ์œ ํŠœ๋ธŒ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” raw data ๋ฅผ ๊ทธ๋Œ€๋กœ ๋„ฃ๊ธฐ์—๋Š” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์œ ์ €์™€ ์˜์ƒ์˜ ์œ ์šฉํ•œ ํ”ผ์ณ๋“ค์„ ๊ฒฐ๊ตญ ๋ฝ‘์•„๋‚ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ์—์„œ์˜ ํ•ต์‹ฌ์€ ์œ ์ €์˜ ์•ก์…˜์„ ํŠน์ • ์‹œํ€€์Šค๋กœ ํ‘œํ˜„ํ•˜๊ณ  ๊ทธ ์•ก์…˜๊ณผ ์Šค์ฝ”์–ด๋  ์˜์ƒ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์— ์žˆ๋‹ค.

์ด๋“ค์ด ๋ฐœ๊ฒฌํ•œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์‹œ๊ทธ๋„์€ ํŠน์ • ์•„์ดํ…œ๊ณผ์˜ ์œ ์ €์˜ ๊ณผ๊ฑฐ ํ–‰๋™ ์ด๋ ฅ ์ด๋ผ๊ณ  ๋งํ•œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ๋ถ€๋ถ„๋“ค์„ ๊ณ ๋ฏผํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

  • ํ•ด๋‹น ์ฑ„๋„์—์„œ ์œ ์ €๋Š” ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์˜์ƒ์„ ๋ณด์•˜๋Š”๊ฐ€?

  • ํ•ด๋‹น ํ† ํ”ฝ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณธ ์˜์ƒ์€ ์–ธ์ œ์ธ๊ฐ€?

ํ•ด๋‹น ์ •๋ณด๋Š” ์–ด๋– ํ•œ ์•„์ดํ…œ์ด๋ผ๋„ ๊ทธ ์œ ์ €์˜ ๊ณผ๊ฑฐ ํ–‰๋™์„ ์ผ๋ฐ˜ํ™”ํ•˜๋Š”๋ฐ ๊ฐ•๋ ฅํ•œ continuous ํ”ผ์ณ๊ฐ€ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋กœ๋Š” candidate generation ๋ชจ๋ธ๋กœ๋ถ€ํ„ฐ ์˜จ ์ •๋ณด์ด๋‹ค.

  • ์–ด๋–ค candidate generation ์—์„œ ์™”๋Š”๊ฐ€?

  • ํ›„๋ณด ๋ชจ๋ธ์—์„œ ๋ช‡ ์ ์˜ ์Šค์ฝ”์–ด๋ฅผ ๋ฐ›์•˜๋Š”๊ฐ€?

Embedding Categorical Features

candidate generation ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๊ต‰์žฅํžˆ ํฌ์†Œํ•œ ์„ฑ๊ฒฉ์˜ categorical features ๋ฅผ denseํ•œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ ๋งคํ•‘ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” ๋ฐฉ๋Œ€ํ•œ categorical features ๋ฅผ ์–ด๋–ค ๊ณผ์ •์œผ๋กœ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š”์ง€๋Š” ์„ธ์„ธํ•˜๊ฒŒ ์•ˆ ๋‚˜์™€์žˆ์–ด ์ดํ•ด๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ค์› ๋‹ค. ์ฐธ๊ณ ์ž๋ฃŒ ๋ฅผ ํ†ตํ•ด ์ดํ•ด๊ฐ€ ์ˆ˜์›”ํ•ด์กŒ๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด impression ํด๋ฆญ ๋นˆ๋„์ˆ˜์— ๋”ฐ๋ผ ์˜ค๋กœ์ง€ ์ƒ์œ„ N๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž„๋ฒ ๋”ฉ์„ ์ง„ํ–‰ํ•˜๊ณ , N๊ฐœ์— ํฌํ•จ๋˜์ง€ ์•Š์€ Out-of-vocabulary ๋“ค์€ zero-embedding ์œผ๋กœ ๋งคํ•‘์ด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

๋˜ํ•œ ์ถ”๊ฐ€์ ์œผ๋กœ ๋™์ผํ•œ ์˜์ƒ์— ๊ด€ํ•ด์„œ๋Š” ๊ทธ ์˜์ƒ์— ๋Œ€ํ•œ global embedding ์„ ํ™œ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” video embedding ์ด ๊ทธ๊ฒƒ์ด๋‹ค. ์ด video embedding ๊ฐ™์€ ๊ฒฝ์šฐ impression ์˜์ƒID, ๋งˆ์ง€๋ง‰์œผ๋กœ ์œ ์ €๊ฐ€ ๋ณธ ์˜์ƒID, ํ•ด๋‹น ์ถ”์ฒœ์„ ํ•ด์ค€ seed ์˜์ƒID ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด๋‹ค.

global embedding ์€ ๊ณต์œ ํ•˜๋ฉด์„œ ๊ฐœ๋ณ„์ ์ธ feature๋ฅผ ๋ง๋ถ™์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์—์„œ์˜ ์ด์ ๊ณผ ํ›ˆ๋ จ ์†๋„ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ด€์ ์—์„œ ์ด๋“์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

Normalizing Continuous Features

NN ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์˜์‚ฌ๊ฒฐ์ • ํŠธ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ์Šค์ผ€์ผ๋ง๊ณผ ๋ถ„ํฌ์— ์˜ˆ๋ฏผํ•œ ํŽธ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ ์ ˆํ•œ ์Šค์ผ€์ผ๋ง์ด ์ค‘์š”ํ•œ๋ฐ ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” 0๊ณผ 1 ์‚ฌ์ด๋กœ ์Šค์ผ€์ผ๋ง์„ ๊ฑฐ์น˜๋ฉฐ \(x^2\) ๊ณผ \(\sqrt{x}\) ๋ฅผ ์ƒˆ๋กœ์šด ํ”ผ์ณ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ธํ’‹์€ super & sub linear ํ•จ์„ ๋ชจ๋ธ์ด ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋ผ๊ณ  ํ•œ๋‹ค.

Modeling Expected Watch Time

์ดˆ๋ฐ˜์—์„œ ๋งํ–ˆ๋“ฏ ์ด๋“ค์˜ ๋ชฉํ‘œ๋Š” ์˜์ƒ ์‹œ์ฒญ ์‹œ๊ฐ„์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ ์†์—์„œ Positive(๋…ธ์ถœ๋œ ์˜์ƒ ํด๋ฆญ) ๊ณผ Negative(ํด๋ฆญํ•˜์ง€ ์•Š์Œ) ์„ ์ด์šฉํ•˜์—ฌ ํ›ˆ๋ จ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ Positive ์ƒ˜ํ”Œ์—์„œ ์œ ์ €๊ฐ€ ํ•ด๋‹น ์˜์ƒ์„ ์–ผ๋งˆ๋‚˜ ๋ดค๋Š”์ง€๋ฅผ ๊ฐ™์ด ํ™œ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ฅผ Weighted Logistic Regression ์„ ํ†ตํ•ด ์˜ˆ์ธก์„ ํ•œ๋‹ค.

๋ชจ๋ธ์€ cross-entropy loss ์•„๋ž˜ ํ›ˆ๋ จ์ด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ positive ์ƒ˜ํ”Œ๋“ค์€ ์‹œ์ฒญ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ€์—ฌ๋˜๋ฉฐ negative ์ƒ˜ํ”Œ๋“ค์€ ๋ชจ๋‘ ๋‹จ์œ„ ๊ฐ€์ค‘์น˜๋งŒ ๋ถ€์—ฌ๋œ๋‹ค.

๐Ÿงจ Conclusion

์ด ๋…ผ๋ฌธ์—์„œ ์ค‘์š” ํฌ์ธํŠธ๋ผ๋ฉด ๋น„๋Œ€์นญ์ ์ธ ๋ฌธ์ œ๋ฅผ next prediction ์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•œ ์ , freshness ๊ฐ€ ์ค‘์š”ํ•œ ์œ ํŠœ๋ธŒ์˜ ์ƒํƒœ๊ณ„ ์†์—์„œ example age ๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ์ ์„ ๊ทน๋ณตํ•œ ๊ฒƒ, ํ”ผ์ณ ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ†ตํ•ด ์ค‘์š”ํ•œ ํ”ผ์ณ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ์กด linear ๋ชจ๋ธ์—์„œ๋Š” ์ฐพ์ง€ ๋ชปํ•œ non-linear ํ•œ ํŠน์„ฑ์„ DL ์„ ํ†ตํ•ด ์ฐพ์•„๋‚ธ ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ CTR ๊ธฐ๋ฐ˜์˜ ๋ฉ”ํŠธ๋ฆญ์ด ์•„๋‹Œ ์‹œ์ฒญ ์‹œ๊ฐ„์„ ํ†ตํ•œ ๋ฉ”ํŠธ๋ฆญ์œผ๋กœ A/B ํ…Œ์ŠคํŠธ์—์„œ ํฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ด๋ค„๋‚ธ ๊ฒƒ์ด ์ฃผ๋ชฉํ• ๋งŒํ•œ ํฌ์ธํŠธ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.