cleanUrl: "paper/YouTubeRecommendation2"
๋
ผ๋ฌธ : Deep Neural Networks for YouTube Recommendations
์ ์ : Paul Covington, Jay Adams, Emre Sargin
๋
ผ๋ฌธ ์ ์ ๊ณ๊ธฐIntroductionCandidate Generation1. Recommendation as Classification2. Model Architecture3. Heterogeneous Signals4. Label and Context SelectionRanking1. Feature RepresentationFeature EngineeringEmbedding Categorical FeaturesNormalizing Continuous Features2. Modeling Expected Watch Time3. Experiments with Hidden LayersConclusionReference
๋ ผ๋ฌธ ์ ์ ๊ณ๊ธฐ
์ถ์ฒ์์คํ
(Recommender System)์ด ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๊ณ ์ ๋ช
ํ ๋ถ์ผ๋ผ๊ณ ํ๋ฉด โ๋ทํ๋ฆญ์คโ์ โ์ ํ๋ธโ๋ฅผ ๋ ์ฌ๋ฆด ์ ์์ต๋๋ค. ๋ํ ์ฐ๋ฆฌ๊ฐ ํ์์์ ๋ง์ด ์ ํ๊ณ ์๋ ๊ฒ์ด๊ธฐ๋ ํ๊ณ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ ๋ถ์ผ๋ก ๊ฐ์ฅ ๋จผ์ ๋ ์ฌ๋๊ธฐ ๋๋ฌธ์ ์ ํ๋ธ์ ์ถ์ฒ์์คํ
์ ๋ํด ์์ธํ ์์๋ณด๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋์ 2016๋
์ ํ๋ธ์์ ๊ณต๊ฐํ ์ถ์ฒ์์คํ
๊ด๋ จ ๋
ผ๋ฌธ์ ์ ์ ํ๊ฒ ๋์์ต๋๋ค.
ย
Introduction
์ ํ๋ธ๋ ์ถ์ฒ์์คํ
๊ด๋ จ ๋
ผ๋ฌธ์ 2010, 2016, 2019๋
์ด 3๋ฒ ๋ฐํํ์ผ๋ฉฐ ์ด ๋
ผ๋ฌธ์ ๊ทธ ์ค 2016๋
์ ๋ฐํํ Deep Neural Networks for YouTube Recommendations์
๋๋ค. 2010๋
์ ๋ฐํํ ์ ํ๋ธ์ ์ถ์ฒ์์คํ
์ ์ ํต์ ์ธ ๋ฐ์ดํฐ ๋ง์ด๋์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ ธ ์๊ณ ๋ฆฌ์ฆ ๊ตฌ์ฑ์ด ๊ฐ๋จํ๊ณ ๋๋ฒ๊น
์ด ์ฌ์ ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฅ๋ฌ๋์ด ์ฃผ๋ชฉ ๋ฐ๊ฒ ๋๋ฉด์ ๋ฅ๋ฌ๋์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ถ์ฒ์์คํ
์ ๋ฐํํ ๊ฒ์ด 2016๋
์ด ๋
ผ๋ฌธ์ธ ๊ฒ์
๋๋ค.
ย
๋ฅ๋ฌ๋์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ถ์ฒ์์คํ
์ (1)Candidate Generation -> (2)Ranking์ 2๋จ๊ณ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ๊ณ ์์ต๋๋ค. Candidate Generation ๋จ๊ณ์์๋ ์ฌ์ฉ์์ ์ ํ๋ธ ํ๋ ๊ธฐ๋ก๋ค์ ์ฌ์ฉํด์ ์ ์ฒด ์์ ์ค์์ ํด๋น ์ฌ์ฉ์๊ฐ ์ ํธํ ๊ฒ ๊ฐ์ ์์๋ค๋ก ๊ฐ์ธํ๋ ํ๋ณด๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ณผ์ ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ Ranking ๋จ๊ณ์์๋ ์์ ๋ฝํ์ง ํ๋ณด ์์๋ค ์ค์์ ์ฌ์ฉ์์ ์ ํธ๋๋ฅผ ๋ฐํ์ผ๋ก ์ถ์ฒํ๋ ๊ฒ์
๋๋ค.
ย
Candidate Generation
Candidate Generation์ Ranking ๋จ๊ณ์์์ ํ๋ณด ๋น๋์ค ์ซ์๋ฅผ ์๋ฐฑ๊ฐ ์์ค์ผ๋ก ์ขํ์ scalability๋ฅผ ํ๋ณดํฉ๋๋ค.
ย
1. Recommendation as Classification
์ฌ์ฉ์(U)์ Context(C)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์๊ฐ(t)์์ ์๋ฐฑ๋ง๊ฐ์ ์์ดํ
(V) ์ค ๊ฐ ์์ดํ
(i)์ ์์ฒญ class๋ฅผ ์์ธกํ๋ multiclass classification์ผ๋ก ์ ์ํฉ๋๋ค.
U : ์ ์ ์ ๋ณด
C : context ์ ๋ณด
u : ์ ์ ์ ๋ณด์ context ์ ๋ณด๋ฅผ ์กฐํฉํด ๋ง๋ค์ด์ง ์ ์ ์๋ฒ ๋ฉ
v : ๊ฐ ํ๋ณด ์์ ์ฝํ
์ธ ์ ์๋ฒ ๋ฉ
ย
์ ํ๋ธ์๋ explicit feedback๊ณผ implicit feedback 2๊ฐ์ง๊ฐ ์กด์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ explicit feedback์ ๊ด๋ฒ์ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์์ฒญ ์๋ฃํ ์์ ์ฝํ
์ธ ๋ฅผ positive๋ก ๋ถ๋ฅํ๋ implicit feedback์ ์ด์ฉํฉ๋๋ค.
ย
2. Model Architecture
๊ฐ ์ ์ ๋ค์ด ์์ฒญํ๋ ๋น๋์ค ๋ชฉ๋ก, ๊ฒ์ํ๋ ํค์๋, ๊ทธ๋ฆฌ๊ณ Demographic feature (๋์ด, ์ฑ๋ณ, ๋์ด, ์์น, ์ฌ์ฉ ๊ธฐ๊ธฐ, ๋ก๊ทธ์ธ ์ํ...)๋ฅผ ํตํด fixed-length vector๋ก embeddingํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋น๋์ค๋ค์ wach vector(์์ฒญ ๊ธฐ๋ก), search vector(๊ฒ์ ๊ธฐ๋ก), geographic embedding(์ง๋ฆฌ ์ ๋ณด), example age, gender ๋ฑ์ ๋ชจ๋ concatํ์ฌ ์ฌ์ฉ์ ๋ฒกํฐ์ธ u๋ฅผ ๊ตฌํ ์ ์๊ฒ ๋ฉ๋๋ค.
ย
3. Heterogeneous Signals
์ฌ๊ธฐ์ ์ ํ๋ธ๊ฐ ์ ๊ฒฝ ์ด ๋ถ๋ถ์ ๋น๋์ค์ ๋์ด๋ฅผ ๊ณ ๋ คํ๋ค๋ ์ ์
๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋ง์ด ๊ฐ์ ์ํค๋๋ฐ keypoint๊ฐ ๋์๋ค๊ณ ํฉ๋๋ค.
๊ณผ๊ฑฐ์ ๋น๋์ค ์์ ๋ฐ์ดํฐ ์์ฃผ๋ก ๋ชจ๋ธ์ด ํธํฅ๋์ด ํ์ต๋๋ ๊ฒฝํฅ์ด ์์ด ์ด๋ฅผ ๋ณด์ ํ๊ธฐ ์ํด Example Age๋ผ๋ feature๋ฅผ ๋ฃ์ด ๊ฐ training example (user watch log)์ด ํ์ต ์์ ์ผ๋ก๋ถํฐ ์ผ๋ง๋ ์ค๋๋ฌ๋์ง๋ฅผ ๋ชจ๋ธ์ ๋ช
์ํด์ค๋๋ค.
- ํ๋ ์ : example age ์์ด ์์ธกํ watch probability.
- ๋นจ๊ฐ ์ : example age๋ฅผ ๋ฃ์ด์ ์์ธกํ watch probability
- ์ด๋ก ์ : ์ค์ watch probability
ย
4. Label and Context Selection
์ฌ์ฉ์๊ฐ ์ ํ๋ธ์ ์ถ์ฒ์์คํ
์ด ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์์์ ์์ฒญํ๋ค๋ฉด ๊ทธ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด์ ๋ ๋ค๋ฅธ collaborative filtering์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ์ต ๋ฐ์ดํฐ๋ ์ด์ธ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ง๋ค์ด์ง ๋ฐ์ดํฐ๊น์ง ํฌํจํฉ๋๋ค. ๋ํ ์ ํ๋ธ๋ฅผ ๋ง์ด ์์ฒญํ๋ ์ฌ์ฉ์๊ฐ ์์ ๊ฒฝ์ฐ ํธํฅ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ง๋ค ํ์ต ๋ฐ์ดํฐ์ ์๋ฅผ ๊ณ ์ ํจ์ผ๋ก์จ ๋ชจ๋ ์ฌ์ฉ์์ ๊ฐ์ค์น๋ฅผ ๋์ผํ๊ฒ ์ ์งํ๋ ๋ฐฉ๋ฒ ๋ํ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ๊ณ ์ถ์ฒ ์์ดํ
์ ์์ธกํ๋ ๊ณผ์ ์์ ์ฌ์ฉ์์ ๋ฌด์์๋ก ์ ์ ๋ ์์ดํ
์ ์์ธกํ๋ ๊ฒ๋ณด๋ค next ์์ดํ
์ ์์ธกํ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ํน์ ์์ ์ด์ ์ ๋ฐ์ดํฐ๋ก๋ง ํ์ต ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ์์ ์ด์ฉํฉ๋๋ค.
ย
Ranking
Ranking ๋ชจ๋ธ์ ๊ฐ ์ฌ์ฉ์์ feature๋ฅผ ์ฌ์ฉํด ํ๋ณด ์์ดํ
์ ํน์ฑํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ Candidate Generation ๋ชจ๋ธ๊ณผ ๊ตฌ์กฐ ์์ฒด๋ ์ ์ฌํ๋ ๊ฐ ์์ดํ
์ score๋ฅผ ํ ๋นํด ์ ๋ ฌํจ์ผ๋ก์จ ์ฌ์ฉ์์๊ฒ ๋ฐ์ํฉ๋๋ค.
ย
1. Feature Representation
๋ฐ์ดํฐ๋ ํํ์ ๋ฐ๋ผ categorical(๋ฒ์ฃผํ)๊ณผ continuous(์ฐ์ํ)๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฏธ์ ๋ฐ๋ผ query features์ impression features๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
Feature Engineering
์๋ฐฑ๊ฐ์ feauture๊ฐ ์ฌ์ฉ๋๋ฉฐ ์ธ๊ณต์ ๊ฒฝ๋ง์ ๋ฃ์ด์ฃผ๊ธฐ ์ํด์๋ ์ด๋์ ๋์ raw data์ ๋ํ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
Embedding Categorical Features
์์์ ID์ ๊ฒ์ ๊ธฐ๋ก์ ์๋ฒ ๋ฉํ์ฌ ์ธ๊ณต์ ๊ฒฝ๋ง์ inputํ๊ณ categorical ๋ฐ์ดํฐ๊ฐ ์ง๋์น๊ฒ ๋ง์ ๊ฒฝ์ฐ, click์ ๋น๋์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก top N์ ์ ์ ํ์ฌ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋๋ก ๋ถ์กฑํ ๊ฒฝ์ฐ์๋ zero ์๋ฒ ๋ฉ ํ์ฌ ์ฌ์ฉํฉ๋๋ค.
Normalizing Continuous Features
continuous feature์ ๊ฒฝ์ฐ์๋ 0~1๋ก scalingํด์ฃผ๊ณ super/sub-linearํ ํน์ง์ ๋ฐฐ์ฐ๊ธฐ ์ํด์ , ์ ๋ฐ์ดํฐ ๋ํ input์ผ๋ก ๋ฃ์ด์ค๋๋ค.
ย
2. Modeling Expected Watch Time
์ ์ ๊ฐ ํด๋ฆญํ ์์(positive)์ ํด๋ฆญํ์ง ์์ ์์(negative)์ watch time์ ์์ธกํ๊ธฐ ์ํด positive ์์ดํ
์ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์๊ฐ์ ๋ํ ๊ธฐ๋ก์ด ๋จ๊ฒจ์ ธ ์์ด weighted logistic regression์ ์ฌ์ฉํด์ ์์ธกํ ์ ์์ต๋๋ค.
ย
3. Experiments with Hidden Layers
wider and deeper hidden ReLU ๋ชจ๋ธ์ ์ฌ์ฉํจ์ ๋ฐ๋ฅธ weighted per-user loss ๊ฒฐ๊ณผ๊ฐ์
๋๋ค.
Conclusion
- ๋ฅ๋ฌ๋์ ๋์ ํ ๋ชจ๋ธ๋ก ์ด์ ๋ชจ๋ธ๋ณด๋ค ์ฑ๋ฅ์ ๋ง์ด ๊ฐ์ ์์ผฐ์ต๋๋ค.
- ๋น๋์ค(์์)์ ๋์ด๋ฅผ ๋์ ํ ์ ๊ณผ ๊ฐ ์์์ ์์ฒญ ์๊ฐ๋ณ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ ๊ฒ์ด ๋ชจ๋ธ์ ๊ฐ์ ์ํค๋๋ฐ ํฐ ์ญํ ์ด ๋์์ต๋๋ค.
ย
Reference
ย