๋ ผ๋ฌธ ๋ฆฌ๋ทฐ - Youtube Recommendations
Deep Neural Networks for YouTube Recommendations
๋ ผ๋ฌธ ์คํฐ๋๋ฅผ ์์ํ๊ณ ์ฒซ ๋ฐํ๋ฅผ ์ด๋ค ๋ ผ๋ฌธ์ ๋ฆฌ๋ทฐํด์ผ๋ ์ง ๊ณ ๋ฏผํ๋ค๊ฐ ๋ฅ๋ฌ๋์ ์ด์ฉํ ์ ํ๋ธ์ ์ถ์ฒ ์์คํ ๋ ผ๋ฌธ์ ํ๊ธฐ๋ก ํ์๋ค. ์ถ์ฒ์์คํ ์ ๊ณต๋ถํ๋ ค๋ฉด ๊ฑฐ์ ํ์ ๋ ผ๋ฌธ์ด๋ผ๊ณ ์๊ฐ๋๋๋งํผ ์กฐ๊ธ ๋ ์ฌ๋ฐ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ฆฌ๋ทฐํ ์๊ฐ์ด๋ค.
์ด ๋ ผ๋ฌธ์ ํตํด ์ ๋ฐ์ ์ธ ์ถ์ฒ์์คํ ์ ๋ฐฉํฅ, ๋ฅ๋ฌ๋์ ์ด๋ป๊ฒ ์ถ์ฒ์์คํ ์ ํ์ฉ๋๋์ง ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. 2016๋ ์ ๋์จ ๋ ผ๋ฌธ์ด์ง๋ง ์ฌ๋ํ์ง ์๋ค๊ณ ์๊ฐ๋๋ค.
- โ๏ธ Abstract
- โ๏ธ Introduction
- ๐ฒ System Overview
- ๐ Candidate Generation
- โ Ranking
- ๐งจ Conclusion
โ๏ธ 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
์ ๊ทธ๋ฆผ์ ์ ์ฒด์ ์ธ ์ถ์ฒ์์คํ
์ ๋ณด์ฌ์ฃผ๋ ๊ทธ๋ฆผ์ด๋ค. ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ ์ด 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 ๋ถ๋ถ์ ๋ํ ์ถ์ฒ์ ์์ฑํ ์ ์๋ค๊ณ ํ๋ค.
Efficient Extreme Multiclass
์๋ฐฑ๋ง ๊ฐ์ ํด๋์ค๋ฅผ ๊ฐ์ง ๋ชจ๋ธ์ ํ๋ จ์ํฌ ๋์ ๋ฌธ์ ์ ์ Negative Sampling
์ ํตํด ํด๊ฒฐํ๋ค๊ณ ํ๋ค. Softmax classification ์์ ํด๋์ค์ ๊ฐฏ์๊ฐ ๋์ด๋ ๋์ ๋ฌธ์ ์ ์, ๊ฐ๋ฅํ ๋ชจ๋ ํด๋์ค์ ๋ํด ๋ด์ ์ ์ํํ๊ธฐ ๋๋ฌธ์ ๊ณ์ฐ๋์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํ๋ค๋ ๋ฐ์ ์๋ค. ํ์ง๋ง ์ํ๋ง์ ํตํด ๊ธฐ์กด softmax ๋ณด๋ค ์ฝ 100๋ฐฐ ๊ฐ๋ ์คํผ๋๋ฅผ ์ฌ๋ฆด ์ ์๋ค๊ณ ํ๋ค.
๋ํ Seving Latency
๋ ๊ณ ๋ ค๋ฅผ ํด์ผํ๋๋ฐ ์ฌ์ฉ์์๊ฒ ํ์ํ ์์ N๊ฐ๋ฅผ ์ ํํ๋ ค๋ฉด ๊ฐ์ฅ ๊ฐ๋ฅ์ฑ์ด ๋์ N๊ฐ์ ํด๋์ค(์์)๋ฅผ ๊ณ์ฐํด์ผ ํ๋ค. ์ ํ๋ธ ์์คํ
์ ํด์ฑ์ ์์กดํ์ผ๋ฉฐ, ์ฌ๊ธฐ์ ์ค๋ช
๋ ๋ถ๋ฅ ๋ฐฉ์๋ ์ ์ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
์ํํธ๋งฅ์ค ์ถ๋ ฅ ๋ ์ด์ด์์ ๋ณด์ ๋ ๊ฐ๋ฅ์ฑ ์ ์๋น ์์ ์ ํ์ํ์ง ์์ผ๋ฏ๋ก, scoring ๋ฌธ์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์๋งํผ์ ๋ํธ ํ๋ก๋ํธ ๊ณต๊ฐ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์ ๊ฒ์์ผ๋ก ์ถ์๋๋ค.
์ด๋ค์ ์ด๋ A/B ํ ์คํธ ์์์ ํฌ๊ฒ ๋ฏผ๊ฐํ์ง ์์๋ค๋ ๊ฒ์ ๋ฐํ๋ค.
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 ๋๋น ์์ฒญ๋ ์ฑ๋ฅ ํฅ์์ ํญ์ ๋ณด์ฌ์ฃผ๊ฒ ๋์๋ค.
Label and Context Selection
์ถ์ฒ์์คํ
๊ฐ์ ๊ฒฝ์ฐ surrogate problem
์ ํด๊ฒฐํด์ผ ํ๋ ์ํฉ์ด ์์ผ๋ฉฐ ์ด๋ฅผ ์ํด ํน์ context ๋ก ๋ณํํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ทธ ์์๋ก๋ ์ํ ์ถ์ฒ์์ ๋ณผ ์ ์๋๋ฐ ์ํ์ ํ์ ์ ์์ธกํ๋ ๋ฌธ์ ๋ฅผ ํ์ด ๋์ ํ์ ์ ๊ฐ์ง ์ํ๋ฅผ ์ถ์ฒํ๋ ๊ฒ์ด ์ฑ๊ณต์ ์ธ ์ถ์ฒ์ผ๋ก ์ด์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
surrogate problem : ์ถ์ฒ์์คํ ์ ๊ฒฝ์ฐ ์ ์ ์ ํผ๋๋ฐฑ์ ํตํด ๊ทธ ์ฑ๋ฅ์ ๊ฐ๋ ํด์ผ ํ์ง๋ง ๊ทธ๊ฒ์ ์ป๊ธฐ ํ๋ค๊ธฐ์ mAP, RMSE ์ ๊ฐ์ ๋ฉํธ๋ฆญ์ ํ์ฉํ์ฌ ๊ทธ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๊ฒ
ํด๋น ๋ ผ๋ฌธ์์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ ์์ ๋ค์ด ์ถ์ฒํ ๊ฒ๋ฟ๋ง์ด ์๋ ๋น์ฐํ๊ฒ๋ ๋ชจ๋ ์ข ๋ฅ์ ์ ํ๋ธ ์์ฒญ ๊ธฐ๋ก์ ์ด์ฉํ๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ถ์ฒํ ์์์ ๋ํด์๋ง ๊ธฐ์ธ์ด์ง๋ ํธํฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ํ ์ถ์ฒ์ ํตํ์ง ์์ ์์์ ๋ดค์ ๊ฒฝ์ฐ, Collaborative Filtering
์ ํตํด ๋ค๋ฅธ ์ ์ ์๊ฒ๋ ์ด๋ฅผ ์ ์ฉํ๋ค๊ณ ํ๋ค.
์ถ๊ฐ์ ์ผ๋ก ๊ฐ ์ ์ ๋ง๋ค ํ์ ๋ ๊ฐ์๋งํผ์ ์ํ์ ์ฌ์ฉํ๋๋ฐ ๊ทธ ์ด์ ๋ ์์ ๊ทธ๋ฃน์ ํค๋น ์ ์ ์ ๋ฐ์ดํฐ์ ์ํด ํธํฅ๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ Taylor Swift
๋ฅผ ๊ฒ์ํ์ ๋๋ฅผ ์์๋ก ๋ ๋ค. ์ถ์ฒ์ ์ฃผ์ ๋ชฉ์ ์ ๋ค์์ ๋ณผ ์์์ ์ถ์ฒ
ํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ณผ์ฐ ๋ค์์ ๋ณผ ์์์ Taylor Swift
์์์ ์ถ์ฒํ๋ ๊ฒ์ด ์ณ์ ์ถ์ฒ์ผ๊น? ๋
ผ๋ฌธ์์๋ ๋ง์ง๋ง ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ถ์ฒ๊ฐ์ ๊ฒฝ์ฐ, ์ฑ๋ฅ์ด ๊ต์ฅํ ์ ์ข๋ค๊ณ ์ธ๊ธํ๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ทธ ์ด์ ๋ ๋ฌด์์ผ๊น? ์ ์ ์ ์๋น ํจํด์ ๊ต์ฅํ ๋น๋์นญ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ ๋ค๋ฉด ์๋ฆฌ์ฆ๋ก ์ด๋ฃจ์ด์ง ์์์ ๋ณด์์ ๊ฒฝ์ฐ, ๊ทธ๋๋ ๊ณ์ ์ด์ด์ ๋ณผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ํ์ง๋ง ๋จ์ผ ์์์ ๋ํด์๋ ํ๋ฒ ๋ณด๊ณ ๋ง๋, ํน์ ํ ๋ฒ ๊ฒ์ํด๋ณธ ๊ฒฝ์ฐ์ผ ์๋ ์๋ค.
์ ํ๋ธ๋ ์ด์ ๊ฐ์ ๋น๋์นญ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ํ๋ธ๋ ๋๋ค์ ๊ดํด prediction ์ ์งํํ๋ ๊ฒ๋ณด๋ค next prediction ์ ํตํด ์์ ๊ฐ์ ๋น๋์นญ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค๊ณ ํ๋ค. ์ด๋ ๊ธ๋ณด๋ค ๊ทธ๋ฆผ์ ํตํด ๋ณด๋ฉด ์ดํด๊ฐ ๋์ฑ ๋น ๋ฅด๋ค.
์ฌํ ๊ธฐ์กด Collaborative Filter
๊ฐ์ ๊ฒฝ์ฐ ๋ชจ๋ ์์ดํ
๋ค์ ํผ์ณ๋๊ณ ์ ์ ์ ์ด๋ ฅ์ ์ด์ฉํ์ฌ ๊ทธ ์ค ์ถ์ฒํ ๋งํ ์์ดํ
์ ์ฐพ๋ ๊ฒ์ด๋ค. ์ด๋ ๋ฏธ๋ ์ ๋ณด์ ๋ํ leakage ๊ฐ ๋ฐ์ํ๋ฉฐ ๋ํ ๋น๋์นญ ์๋น ํจํด์ ๋ฌด์ํ๋ ๊ฒฝํฅ์ด ์๋ค. ์ด๊ฒ์ ํด๊ฒฐํ๊ณ ์ b ๋ฐฉ๋ฒ
์ ์ฑํํ์๋ค๊ณ ํ๋ค.
โ Ranking
๋ญํน ๋ชจ๋ธ๊ฐ์ ๊ฒฝ์ฐ ๋ง๋ค์ด์ง ํ๋ณด๊ตฐ ์ค์์ ์ ์ ๊ฐ ์ ๋ง ๋ณผ ๊ฒ ๊ฐ์ ์์์ ๋ญํน์ ๋ฉ๊ธฐ๋ ๊ฐ๋จํ deep ๋คํธ์ํฌ์ด๋ค.
๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ ๋คํธ์ํฌ์ ๋ ์ด์ด๋ 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 ํ ์คํธ์์ ํฐ ์ฑ๋ฅ ํฅ์์ ์ด๋ค๋ธ ๊ฒ์ด ์ฃผ๋ชฉํ ๋งํ ํฌ์ธํธ๋ผ๊ณ ์๊ฐํ๋ค.