Deep Learning based Recommendation Algorithms

[์ฐธ์กฐ ๋…ผ๋ฌธ ๋ฐ ์‚ฌ์ดํŠธ]
โ˜žDeep Learning based Recommender System: A Survey and New Perspectives
โ˜žReinforcement Learning to Rank in E-Commerce Search Engine:Formalization, Analysis, and Application
โ˜žPersonalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks
โ˜žWide & Deep Learning for Recommender Systems
โ˜žConvolutional Matrix Factorization for Document Context-Aware Recommendation
โ˜žDeep Neural Networks for YouTube Recommendations
โ˜žITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING
โ˜žDocument Context-Aware Recommendation
โ˜žA Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation

1.์—ฐ๊ด€๊ทœ์น™๋ถ„์„(A Priori Algorithm)/ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ถ„์„(Market Basket Analysis)

๊ต๊ณผ์„œ์—์„œ ๋งŽ์ด ๋ณด์•˜์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ˜„์—…์—์„œ๋Š” ์•„๋ฌด๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์ง€๋งŒ, ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ์ดˆ๊ฒฉ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…์„ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜๊ฒ ๋‹ค. ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ถ„์„์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณ ๊ฐ์˜ ๊ตฌ๋งค ์ด๋ ฅ์„ ๋ฐ”ํƒ•์œผ๋กœ A๋ผ๋Š” ์ œํ’ˆ์„ ๋งŽ์ด ์‚ฌ๋Š” ์‚ฌ๋žŒ์ด B๋ผ๋Š” ์ œํ’ˆ์„ ๋งŽ์ด ์‚ฌ๋”๋ผ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ถ”๋ก ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

์กฐ๊ฑด์ ˆ๊ฒฐ๊ณผ์ ˆ์ง€์ง€๋„์‹ ๋ขฐ๋„ํ–ฅ์ƒ๋„
์ฐธ์น˜์บ”๋‹ฌ๊ฑ€, ๋ผ๋ฉด12.52.5
์ฐธ์น˜์บ”๋‹ฌ๊ฑ€11.51.5
๋ผ๋ฉด,์ฐธ์น˜์บ”๋‹ฌ๊ฑ€111

์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์—์„œ ์œ„์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ฐธ์น˜์บ”์„ ์‚ฐ ์‚ฌ๋žŒ์—๊ฒŒ ๋‹ฌ๊ฑ€์„ ์ถ”์ฒœํ•˜๋Š” ์‹์œผ๋กœ ํ™œ์šฉํ•œ๋‹ค๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚˜์˜ค๋Š” ์ง€์ง€๋„(support)์™€ ์‹ ๋ขฐ๋„(confidence)ํ–ฅ์ƒ๋„(lift) ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ง€์ง€๋„(support) s(Xโ†’Y)  = X์™€ Y๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๊ฑฐ๋ž˜ ์ˆ˜ / ์ „์ฒด ๊ฑฐ๋ž˜ ์ˆ˜ = n(XโˆชY) / N
  • ์‹ ๋ขฐ๋„(Confidence) c(Xโ†’Y)  = X์™€ Y๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๊ฑฐ๋ž˜ ์ˆ˜ / X๊ฐ€ ํฌํ•จ๋œ ๊ฑฐ๋ž˜ ์ˆ˜ = n(XโˆชY) / n(X) 
  • ํ–ฅ์ƒ๋„(Lift) = ์—ฐ๊ด€๊ทœ์น™์˜ ์‹ ๋ขฐ๋„/์ง€์ง€๋„ = c(Xโ†’Y) / s(Y)

์ฐธ์กฐ : https://ratsgo.github.io/machine%20learning/2017/04/08/apriori/

2.ํ˜‘์—…ํ•„ํ„ฐ(Collaborative Filtering)

ํ˜‘์—…ํ•„ํ„ฐ๋Š” ๊ณ ๊ฐ์˜ ๊ตฌ๋งค ์ด๋ ฅ ํ˜น์€ ๋ณ„์ ๋“ฑ์˜ ์ด๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ์‚ฌํ•œ ๊ณ ๊ฐ๊ทธ๋ฃน ํ˜น์€ ์ œํ’ˆ ๊ทธ๋ฃน์„ ์ฐพ์•„ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ๋•Œ๋ฌธ์— ์‹ ๊ทœ ๊ณ ๊ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†๋Š”, Cold Start ๋ฌธ์ œ ๋“ฑ์ด ์กด์žฌํ•˜์ง€๋งŒ, ํ˜„์žฌ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ ์ถ”์ฒœ ๋ชจ๋ธ์—์„œ๋„ ๊ธฐ๋ณธ ๊ฐœ๋…์œผ๋กœ์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•ด๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ตฌ๋งค/์ถ”์ฒœ ๋“ฑ ๋ฐ์ดํ„ฐ๋Š” ์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ์˜ Sparse Matrix ํ˜•ํƒœ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๊ณ , ํ•˜๋‚˜์˜ ๊ณ ๊ฐ์€ ๋ณต์ˆ˜์˜ ์ œํ’ˆ์— ๋Œ€ํ•œ ์„ ํ˜ธ๋„๋กœ ๊ทธ ํŠน์„ฑ์ด Featureํ˜•ํƒœ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋Ÿฌํ•œ Feature ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ํ†ตํ•ด ํ•ด๋‹น User ๋Š” Buy ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ์œ ์‚ฌ ๊ทธ๋ฃน์€ ๋งŽ์ด Buy ํ•œ ๋ฌผ๊ฑด์„ ์ถ”์ฒœํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด ์ง€๋Š” ๊ฒƒ์ด ํ˜‘์—… ํ•„ํ„ฐ๋ง์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์ด ๋˜๊ฒ ๋‹ค.
์œ„์˜ Matrix ๊ฐ€ ๋งค์šฐ ๋งŽ์€ User ์™€ ์ œํ’ˆ์— ๋Œ€ํ•ด์„œ ํ‘œํ˜„๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ฉด, ์—„์ฒญ๋‚˜๊ฒŒ ๊ทธ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ์™€ ๊ณ„์‚ฐ๋Ÿ‰์€ ์ปค์ง€๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๋•Œ๋ฌธ์— 2000๋…„๋Œ€ Hadoop/Spark ๋ถ„์‚ฐ์ฒ˜๋ฆฌ์™€ ๊ฒฐํ•ฉ์„ ํ†ตํ•œ CF ๊ธฐ๋ฒ•์ด ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ ๋Š” ํ•˜์˜€๋‹ค.

์—ฌ๊ธฐ์„œ ์‹ค์ œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ Memory Based์™€ Model Based ๋กœ ๋‚˜๋ˆ„์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋‘ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด๋Š” ML ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ๋ผ๋ฉ”ํ„ฐ๋ฅผ ํ›ˆ๋ จํ•˜๋Š”์ง€ ์•„๋‹ˆ๋ฉด ๊ทธ๋Ÿฐ ๊ณผ์ • ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•˜๋Š”์ง€๋กœ ์ดํ•ดํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.

  • Memory Based : Euclidean, Cosine, Pearson ๋“ฑ ์œ ์‚ฌ๋„ ๋“ฑ ๊ฑฐ๋ฆฌ ์ธก์ • ๋ฐฉ๋ฒ•
  • Model Based : Clustering(KNN ๋“ฑ), ์ฐจ์›์ถ•์†Œ(SVD,PMF,NMF,PCA ๋“ฑ) , Deep Learning ๋“ฑ
matrix factorization์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ
Matrix Factorization ์˜ ์˜ˆ์‹œ

CF ๊ฐœ๋…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ ์—ฐ๊ตฌ๊ฐ€ ์ด๋ฃจ์–ด ์ง€๋Š”๋ฐ, ๋‹จ์ˆœํ•˜๊ฒŒ Memory Based ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ, Matrix Decomposition ํ›„ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•, Matrix Decomposition ํ›„ Deep Learning ์— Input ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์ ์šฉ ๋  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

3.Item2Vec

์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ถ„์„์€ ์–ด๋–ค ์ƒํ’ˆ์„ ๊ตฌ์ž…ํ• ๋•Œ ๊ฐ™์ด ๊ตฌ๋งคํ•˜๋Š” ์ƒํ’ˆ์ด๋ผ๋Š” ๊ด€์ ์—์„œ ์ง€์ง€๋„(support)์™€ ์‹ ๋ขฐ๋„(confidence)ํ–ฅ์ƒ๋„(lift) ๋ฅผ Measure ๋กœ ์‚ฌ์šฉํ•˜์˜€๋‹ค. CF(ํ˜‘์—…ํ•„ํ„ฐ์—์„œ๋Š”) ์‚ฌ์šฉ์ž์˜ ๊ตฌ๋งค/์ถ”์ฒœ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ทธ ์œ ์‚ฌ๋„๋ฅผ Measure ๋กœ ์ถ”์ฒœ ์ƒํ’ˆ์„ ๊ฒฐ์ •ํ•˜์˜€๋‹ค. (๋ฌผ๋ก  MF ๊ธฐ๋ฐ˜์œผ๋กœ Matrix ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ์ƒํ’ˆ ๊ธฐ์ค€์˜ Feature ๋„ ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์žˆ์ง€๋งŒ) Item2Vec๋ผ๋Š” ๊ฐœ๋…์—์„œ๋Š” ์ปจํƒ ์ธ ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” “์ œ๋ชฉ”,”์Œ์„ฑ”,”์˜์ƒ”,”์„ค๋ช…”๋“ฑ ๋น„์ •ํ˜• ์ •๋ณด๋ฅผ ์ง์ ‘ Vector ํ™” ํ•˜๊ณ  ๊ทธ ์œ ์‚ฌ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”์ฒœํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.
Contents ์ž์ฒด์˜ Feature ๋ฅผ ๋„์ถœํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ Word2Vec, Doc2Vec, LDA2Vec, DEC(Autoencoder), Deep Learning Based Language Model ์‚ฌ์šฉ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‚˜, 2000๋…„๋Œ€ Item2Vec ์— ์˜๊ฐ์„ ์ค€ ์—ฐ๊ตฌ๋Š” ๋‹จ์—ฐ Word2Vec ์ด์˜€์„ ๊ฒƒ์ด๋‹ค.

์ฐธ์กฐ : ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING

word2vec์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ
Word2Vec ์˜ ๋Œ€ํ‘œ์ ์ธ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

4. Document Context-Aware Recommendation(CF + CNN, AutoEncoder .. Etc)

CF ์™€ CNN, AutoEncoder ๋“ฑ Deep Learning ๋ชจ๋ธ์„ ๊ฒฐํ•ฉํ•˜๋Š” ํ˜•ํƒœ์˜ ์—ฐ๊ตฌ๋“ค์ด ์ง„ํ–‰๋˜์—ˆ๋‹ค. Item2Vec ์—์„œ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ฒœ์— ํ™œ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์—ฐ๊ตฌ๋กœ๋ถ€ํ„ฐ ๊ธฐ์กด์˜ ์—ฐ๊ตฌ์™€์˜ ๊ฒฐํ•ฉํ˜•ํƒœ๋กœ ๋งŽ์ด ์ง„ํ–‰์ด ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค. ์ด ์‹œ๊ธฐ๊นŒ์ง€๋„ ์—ฌ์ „ํžˆ ๊ธฐ์กด์˜ ๋ฐฉ๋ฒ•๋ก ์— Deep Learning ์€ Feature ๋งŒ ์ž˜ ๋ฝ‘์•„ ์ฃผ๋ฉด ๋œ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋งŽ์ด ๋А๊ปด์ง„๋‹ค.

์œ„ ๊ตฌ์กฐ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Œ

  • Document Information ์„ CNN ์„ ํ†ตํ•ด์„œ Feature ๋ฅผ ์ž˜ ์ถ”์ถœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • CF ์˜ Spare ํ•œ Matrix ์„ Matrix Factorization์„ ํ†ตํ•ด User ์™€ Item Vector ๋กœ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅ
  • ์œ„์˜ Document ์—์„œ ์ถ”์ถœํ•œ Feature ๋ฅผ Item Vector ๋กœ ์‚ฌ์šฉํ•จ
  • ํŠน์ • User Vector ๋ฅผ ์•Œ๊ณ  ํ•ด๋‹น User ์˜ CF Matrix ์„ ์•Œ๊ณ  ์žˆ์œผ๋‹ˆ Loss Function ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•ด ์ง

5. A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation

DSSM( A deep structured semantic model ) ๊ณ„์—ด์˜ ์—ฐ๊ตฌ๋“ค์€ ์‚ฌ์šฉ์ž์˜ ๊ฒ€์ƒ‰/ํ–‰๋™๋“ฑ์„ Encoding ํ•˜๊ณ  ๊ฐ Item์— ๋Œ€ํ•œ ํŠน์„ฑ์„ Encoding ํ•œ ํ›„์— ์•„๋ž˜์™€ ๊ฐ™์ด Cosine ์œ ์‚ฌ๋„๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ์˜ ํ–‰๋™๊ณผ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ์ƒํ’ˆ์„ ์ถ”์ฒœํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํ›ˆ๋ จ์€ ๋‹น์—ฐํžˆ ์‹ค์ œ ๊ตฌ๋งค/ํด๋ฆญํ•œ ์ƒํ’ˆ์˜ ๊ฒฝ์šฐ 1 ์•„๋‹ˆ๋ฉด 0์œผ๋กœ ์œ ์‚ฌ๋„์™€ CE ๋ฅผ ํ†ตํ•ด ํ›ˆ๋ จํ•˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.
์œ„ ๋…ผ๋ฌธ์˜ ๊ฒฝ์šฐ ๊ธฐ์กด DSSM ์—์„œ ํŠน์ • ๋ถ„์•ผ์—์„œ์˜ ๊ณ ๊ฐ์˜ ์†Œ๋น„ ํŒจํ„ด์€ ๋‹ค๋ฅธ ๋ถ„์•ผ์—์„œ๋„ ์ ์šฉ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๋Š” Cross-Domain ๊ฐœ๋…์ด ์ถ”๊ฐ€๋œ ํ˜•ํƒœ๋กœ ์ดํ•ดํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.

6. Deep Neural Networks for YouTube Recommendations

์ด ์‹œ๊ธฐ๋ถ€ํ„ฐ ๊ธ‰์†๋„๋กœ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ ์—ฐ๊ตฌ๋กœ Phase ๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋œ๋‹ค. ํ๋ฆ„ ์ž์ฒด๊ฐ€ ๊ธฐ์กด์˜ CF, CB ๋“ฑ์˜ ๊ฐœ๋…์— ์ข…์†๋˜๊ธฐ ๋ณด๋‹ค๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ์‹ ๊ฒฝ๋ง์— ๋„ฃ๊ณ  ์˜ˆ์ธก์„ ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰๋˜๋ฉฐ, ์ถ”์ฒœ ๊ด€๋ จ ์—ฐ๊ตฌ๋ผ๊ธฐ ๋ณด๋‹ค๋Š” ๋”ฅ๋Ÿฌ๋‹ ๊ด€๋ จ ์—ฐ๊ตฌ์˜ ๋ฐœ์ „์— ๋”ฐ๋ผ ํ•ด๋‹น ์—ฐ๊ตฌ๋ฅผ ์ถ”์ฒœ์— ์ฐจ์šฉํ•˜๊ณ  ๋ณตํ•ฉ์ ์œผ๋กœ ์ ์šฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ์—ฐ๊ตฌ๊ฐ€ ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „๋œ๋‹ค๊ณ  ์ดํ•ด๋œ๋‹ค.

YouTube ์ถ”์ฒœ์— ์‚ฌ์šฉ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋กœ, ํฌ๊ฒŒ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ง„๋‹ค. ํ›„๋ณด ์ถ”์ถœ ๋ชจ๋“ˆ๊ณผ ๋žญํ‚น ๋ชจ๋“ˆ์ด๋‹ค.

์œ„๋Š” N ๊ฐœ์˜ ํ›„๋ณด ๋Œ€์ƒ์œผ๋กœ ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ์˜ ์•„ํ‚คํƒ์ณ์ด๋‹ค. Input ์€ ์ž์‹ ์ด ๋ณด์•˜๋˜ ์˜ํ™”๋“ค์˜ Avg Feature ์™€ ๊ฒ€์ƒ‰ํ•˜์˜€๋˜ ์˜์ƒ๋“ค์˜ Avg Feature ๋ฐ ๊ธฐํƒ€ ์„ฑ๋ณ„, ์ง€์—ญ ๋“ฑ ์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Y ๋ ˆ์ด๋ธ”์€ ์ข‹์•„์š” ๋“ฑ์˜ Flag ๊ฐ€ ์•„๋‹Œ ๋๊ฐ€์ง€ ์‹œ์ฒญํ•˜์˜€๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Output Layer ๋Š” Extreme multiclass classification ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋ชจ๋“  ์˜ํ™”์˜ ์ข…๋ฅ˜๋ณ„๋กœ ๋ณผ ํ™•๋ฅ (0~1)์„ ๊ตฌํ•œ๋‹ค. Train ์‹œ์—๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” Y Label ๊ณผ์˜ CE ๋ฅผ Loss ๋กœ ์‹ ๊ฒฝ๋ง์„ ํ›ˆ๋ จํ•˜๋ฉฐ, Inference ์‹œ์—๋Š” ๋งˆ์ง€๋ง‰ Feature ๋ฅผ ๊ฐ ์˜ํ™”๋ณ„ Feature Index(ํ›ˆ๋ จ์‹œ์— Update)์™€ ์œ ์‚ฌ๋„ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์ถ”์ฒœ์„ ์‹คํ–‰ํ•œ๋‹ค. (Top K ๊ฐœ๋ฅผ ๊ณ ๋ฅด๋Š” ํ–‰์œ„๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค)

์ด์ œ๋Š” 1์ฐจ๋กœ ์ถ”์ฒœ๋œ ๋ชฉ๋ก์„ Ranking ์„ ๊ตฌํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ด ๋•Œ์—๋Š” ๋” ๋งŽ์€ ์ˆ˜๋ฐฑ๊ฐœ ์ด์ƒ์˜ ์š”์†Œ๋“ค์„ X ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜์—ฌ, ๋…ธ์ถœ๋Œ€๋น„ ์–ผ๋งˆ๋‚˜ ๋งŽ์ด ์‹œ์ฒญํ•˜์˜€๋Š”์ง€๋ฅผ Loss ๋กœ ํ•˜์—ฌ Real Time ์œผ๋กœ ๋ชจ๋ธ์„ ๊ณ„์†ํ•ด์„œ ํ›ˆ๋ จํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. (๊ณ ๊ฐ์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ฒœ ํ–ˆ์„ ๋•Œ, ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•˜์˜€๋Š”์ง€๋ฅผ ๋‹ค์‹œ Serving ์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, ๊ทธ ๊ณ ๊ฐ์ด ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š” ์ถ”์ฒœ ์˜์ƒ์ด ๊ณ„์† ์ถ”์ฒœ ๋  ๊ฒƒ์ž„) ๋˜, ์ด์ „์— ๋ดค๋˜ ์˜์ƒ๋“ค์˜ Avg ์™€ ์ง์ „์— ๋ณธ ์˜์ƒ์— ๋Œ€ํ•œ Feature๋Š” ๋ถ„๋ฆฌํ•˜์—ฌ Input ์— ๋„ฃ์–ด์ฃผ์–ด ํ˜„์žฌ ์˜์ƒ์„ ๋ณด๊ณ  ์žˆ๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์˜์ƒ์„ ๊ณ„์† ์ถ”์ฒœํ•˜๊ธฐ ์œ„ํ•œ ์žฅ์น˜๋ฅผ ๋งˆ๋ จํ•œ๋‹ค.

์ง€๊ธˆ์™€์„œ ๋ณด๋ฉด ์ „์ฒด์ ์œผ๋กœ ํŠน๋ณ„ํ•  ๊ฒƒ๋„ ์—†๊ณ  ํ‰์ดํ•œ ๋‚ด์šฉ๋“ค์ด ์ง„๋ถ€ํ•œ ๋‚˜์—ด๋กœ ๋ณด์ด๊ธฐ๋„ ํ•˜์ง€๋งŒ, ๊ทธ ๋‹น์‹œ์—๋Š” ๋ญ”๊ฐ€ ๊ธฐ์กด์˜ ํ‹€์„ ๊นจ๊ณ  ๋”ฅ๋Ÿฌ๋‹์œผ๋กœ End2End ์ถ”์ฒœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ํ›ˆ๋ จ๊ณผ์ •๊ณผ ์‚ฌ์šฉ๊ณผ์ •์„ Interactive ํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜์˜€๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ์—ˆ๋‹ค.

7. Wide & Deep Learning for Recommender Systems

This image has an empty alt attribute; its file name is image-22.png

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ•˜์—ฌ ํ•™์Šต์„ ์‹œํ‚จ ๊ฒฝ์šฐ, ํ•™์Šต ๋ฐ์ดํƒ€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ธํ™”๋œ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•ด์ค€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ (ํ”„๋ผ์ด๋“œ ์น˜ํ‚จ)์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ (์น˜ํ‚จ๊ณผ ์™€ํ”Œ)์„ ์ฃผ๋ฌธํ•œ ๊ธฐ๋ก์ด ๋งŽ์•˜๋‹ค๋ฉด, ์ด ๋ชจ๋ธ์€ (ํ”„๋ผ์ด๋“œ ์น˜ํ‚จ)์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ ์‚ฌ์šฉ์ž๋Š” ํ•ญ์ƒ (์น˜ํ‚จ๊ณผ ์™€ํ”Œ)์„ ์ถ”์ฒœํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค.  ์ฆ‰ ์˜ˆ์ „์— ๊ธฐ์–ต๋œ ๊ฐ’ (Memorization๋œ ๊ฐ’)์„ ํ†ตํ•ด์„œ ์˜ˆ์ธก์„ ํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ชจ๋ธ์„ ์™€์ด๋“œ ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ (ํ”„๋ผ์ด๋“œ ์น˜ํ‚จ)์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ™์€ ํŒจ์ŠคํŠธ ํ‘ธ๋“œ ์ข…๋ฅ˜์ธ ํ–„๋ฒ„๊ฑฐ๋‚˜ ํ”„๋ Œ์น˜ํ”„๋ผ์ด๋“ฑ์„ ์ถ”์ฒœํ•ด๋„ ์ž˜ ๊ตฌ๋งค๊ฐ€ ๋˜์ง€๋งŒ ์™€์ด๋“œ ๋ชจ๋ธ์€ ๊ธฐ์กด์— ๊ธฐ์–ต๋œ ๊ฒฐ๊ณผ๋กœ๋งŒ ์ถ”์ฒœ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.

๋‰ด๋Ÿด๋„คํŠธ์›Œํฌ ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ ํ”„๋ผ์ด๋“œ ์น˜ํ‚จ์„ ํ–„๋ฒ„๊ฑฐ, ํ”„๋žœ์น˜ ํ”„๋ผ์ด๋“ฑ์„ ์ผ๋ฐ˜ํ™” ์‹œ์ผœ์„œ ํŒจ์ŠคํŠธ ํ‘ธ๋“œ๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ํ”„๋ผ์ด๋“œ ์น˜ํ‚จ์œผ๋กœ ๊ฒ€์ƒ‰์„ ํ•ด๋„ ์ด์™€ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ํ–„๋ฒ„๊ฑฐ๋ฅผ ์ถ”์ฒœํ•ด๋„ ์‚ฌ์šฉ์ž๊ฐ€ ํƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

์ด๋Ÿฌํ•œ ๋ชจ๋ธ์„ ๋”ฅ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋”ฅ ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ์ ์ด, ๋„ˆ๋ฌด ์ผ๋ฐ˜ํ™”๊ฐ€(under fitting)  ๋˜์„œ ์—‰๋šฑํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ๋”ฐ๋œปํ•œ ์•„๋ฉ”๋ฆฌ์นด๋…ธ๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ๋Š”๋ฐ, ์ปคํ”ผ๋ผ๋Š” ์ผ๋ฐ˜ํ™” ๋ฒ”์ฃผ์—์„œ ์•„์ด์Šค ๋ผ๋–ผ๋ฅผ ์ถ”์ฒœํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ ์ปคํ”ผ๋ผ๋Š” ์ผ๋ฐ˜ํ™” ๋ฒ”์ฃผ์—์„œ ๋ผ๋–ผ๋Š” ๋งž๋Š” ์ถ”์ฒœ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋”ฐ๋œปํ•œ ์Œ๋ฃŒ๋ฅผ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์ฐจ๊ฐ€์šด ์Œ๋ฃŒ๋ฅผ ์ถ”์ฒœํ•˜๋Š” ์ง€๋‚˜์นœ ์ผ๋ฐ˜ํ™”๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ Logistic ๊ธฐ๋ฐ˜์˜ Wide ์™€ Deep Learning ๊ธฐ๋ฐ˜์˜ Deep ์„ ๋™์‹œ์— Ensemble ํ•˜์—ฌ ํŒ๋‹จํ•˜๋ฉด์„œ, End2End Network ๋กœ ํ•œ๋ฒˆ์— ํ›ˆ๋ จํ•  ์ˆ˜ ์žˆ๋„๋ก Joint Training ๊ฐœ๋…์„ ์ ์šฉํ•˜์˜€๋‹ค๋Š” ๊ฒƒ์ด ์ด ๋…ผ๋ฌธ์˜ ํ•ต์‹ฌ์ด ๋˜๊ฒ ๋‹ค.

8. Personalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks

Soccer
Anonym	1
Anonym	2
Time
Traditional	session-based	recommendation
Cartoons
NBA
Anonym	3

์ด ๋…ผ๋ฌธ์—์„œ์˜ ํ•ต์‹ฌ์€ Session ์ด๋ผ๋Š” ๊ฐœ๋…์ด๋‹ค. ์ „ํ†ต์ ์ธ CF(ํ˜‘์—…ํ•„ํ„ฐ) ๋ฐฉ์‹๋“ฑ์€ ๊ณ ๊ฐ์˜ Log Term Favor ๋ฅผ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜๋Š” ์žˆ์œผ๋‚˜, ์ตœ๊ทผ์˜ ์†Œ๋น„์— ๊ฐ•ํ•œ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ํ–‰๋™์„ ์ž˜ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ Session ์ด๋ผ๋Š” ๊ฐœ๋…์€ ๊ณ ๊ฐ์ด ํ•˜๋‚˜์˜ ์†Œ๋น„๋ฅผ ํ•˜๊ธฐ ์ „์— ์•ž์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ จ์˜ ์ˆœ์„œ์™€๋„ ๊ฐ™์€ ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ง‘์„ ์‚ฐ๋‹ค๊ณ  ํ•˜๋ฉด, ์ž์‹ ์˜ ์ง‘์ด ์–ผ๋งˆ์ธ์ง€ ์•Œ์•„๋ณด๊ณ , ๋Œ€์ถœ์ด ์–ผ๋งˆ ๊ฐ€๋Šฅํ•œ์ง€ ์•Œ์•„๋ณด๊ณ , ๋งค๋ฌผ์„ ์ฐพ์•„ ๋ณด๊ณ  ํ•˜๋Š” ์ผ๋ จ์˜ ํ–‰์œ„๋ฅผ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ํ•ฉ์ณ์„œ Session ์ด๋ผ๊ณ  ์ด์•ผ๊ธฐ ํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ Session ๋งŒ ๋ฐ˜์˜์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ณ ๊ฐ์˜ Long Term Favor ๋ฅผ ๋˜ ์žƒ์–ด ๋ฒ„๋ฆด ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

This image has an empty alt attribute; its file name is image-26.png

๊ทธ๋ž˜์„œ ์ด ์—ฐ๊ตฌ์—์„œ ์ œ์•ˆํ•˜๋Š” ๋ฐฉ์‹์ด Session ๋‹จ์œ„ Encoding ์„ ์œ„ํ•œ RNN ๊ณผ Long Term Favor ๋ฅผ Encoding ํ•˜๊ธฐ ์œ„ํ•œ RNN ์„ ๊ณ„์ธต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Hierarchical Recurrent Neural Networks ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค.

9. TF-Ranking: Scalable TensorFlow Library for Learning-to-Rank

LTR(Learn to Rank) ๋ฅผ Deep Learning ์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ตœ๊ทผ Tensorflow ์—์„œ๋„ ๊ด€๋ จ๋œ Loss Function ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€์˜ Metric(MRR, ARP, NDCG) ์™€ Pointwise, Pairwise, Listwise 3๊ฐ€์ง€ Loss Function์„ ๊ต์ฐจ๋กœ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.

This image has an empty alt attribute; its file name is image-40.png

๋”ฅ๋Ÿฌ๋‹์— LTR(Learn to Rank)๋ฅผ ์ ์šฉ์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์€ ํฌ๊ฒŒ ๋‘๊ฐœ ์ถ•์œผ๋กœ ์„ค๋ช…๋  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ํ‰๊ฐ€ Metric ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€์™€ ์–ด๋–ค Loss Function ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€ ์ด๋‹ค. ์šฐ์„  Loss Function ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์‚ดํŽด ๋ณด์ž. ์•„๋ž˜์˜ Loss Function ์ด ๊ฐ๊ฐ PointWise, PairWise, ListWise ์— ๋Œ€ํ•ญํ•˜๋Š” Loss Function ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

PointWise Sigmoid Cross Entropy Loss Function

PointWise ์— ํ•ด๋‹นํ•˜๋Š” Loss ๋กœ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„๋ฅ˜์— ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Cross Entropy ์ด๋ฉฐ, ์—ฌ๊ธฐ์„œ p ๋Š” Softmax ๊ฐ€ ์•„๋‹Œ Sigmoid ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•œ ๊ฒฐ๊ณผ์ด๊ณ  Sigmoid ์˜ Input ์€ ์œ„์—์„œ ์ด์•ผ๊ธฐํ•œ ํŠน์ • Score Metric ์˜ ๊ฒฐ๊ณผ๋กœ ์ดํ•ดํ•˜๋ฉด๋œ๋‹ค. ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, Ranking ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ์— ์žˆ์–ด์„œ๋Š” ๊ทธ๋ฆฌ ํšจ๊ณผ์ ์ด์ง€ ์•Š๋‹ค.

PairWise Logistic Regression Loss Function

PairWise ๋Š” ์˜ˆ๋ฅผ๋“ค์–ด ์‹ค์ œ Label ์˜ Rank ๊ฐ€ A ์ƒํ’ˆ>B์ƒํ’ˆ ์ด๋ผ๊ณ  ํ–ˆ์„๋•Œ, ์˜ˆ์ธกํ•œ ๊ฒฐ๊ณผ๊ฐ€ B์ƒํ’ˆ>A์ƒํ’ˆ์ด๋ผ๊ณ  ํ•˜๋ฉด, ์‹ค์ œ ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— Loss ๋ฅผ ์ฆ๊ฐ€ ์‹œ์ผœ ์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๊ณ , B์™€ A ์ƒํ’ˆ์˜ ์ฐจ์ด ๋งŒํผ Loss ์˜ Sum ์ด ์ฆ๊ฐ€๋˜๋Š” ํ˜•ํƒœ๋กœ ์ด์• ํ•˜๋ฉด ๋œ๋‹ค. ์‹ค์ œ์™€ ๋™์ผํ•˜๊ฒŒ ์˜ˆ์ธกํ•œ ๊ฒฝ์šฐ I ํ•จ์ˆ˜๊ฐ€ (Indicator Function)์ด 0์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— Loss ๋Š” ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

ListWise Cross Entropy Loss Function

ListWise ๋Š” ์ „์ฒด List ์˜ ์ˆœ์„œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•˜๋А๋ƒ๋ฅผ Loss ๋กœ ์žฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ๋กœ ์ƒ๊ฐ๋œ๋‹ค. Log(Softmax) Term ์„ ๋ณด๋ฉด, Score ๊ฐ€ ๋†’์œผ๋ฉด 0์— ๊ฐ€๊นŒ์›Œ ์ง€๊ณ  Score ๊ฐ€ ์ ์œผ๋ฉด -๋ฌดํ•œ๋Œ€๋กœ ๊ฐ€๊นŒ์›Œ ์ง€๊ฒŒ ๋˜์–ด ์žˆ๋‹ค. ๊ฑฐ๊ธฐ์— Labled ๋œ Score ๋ฅผ ๊ณฑํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ์„ค๊ณ„๊ฐ€ ๋˜์–ด ์žˆ๋Š”๋ฐ, ํ•ด์„ํ•ด๋ณด๋ฉด ์Šค์ฝ”์–ด๊ฐ€ ๋†’์€๊ฑธ ๋†’๊ฒŒ ์˜ˆ์ธกํ•˜๋ฉด Loss ๊ฐ€ 0์— ๊ฐ€๊นŒ์›Œ ์ง€๊ณ  ๋†’์€๊ฑธ ๋‚ฎ๊ฒŒ ์˜ˆ์ธกํ•˜๋ฉด Loss ๊ฐ€ -๋ฌดํ•œ๋Œ€ * (-) ๋กœ Loss ๊ฐ€ ์ปค์ง€๊ฒŒ ๋œ๋‹ค.

NDCG ๋Š” ๊ฒ€์ƒ‰์—”์ง„์—์„œ ๋…ธ์ถœ ์ˆœ์„œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋งž๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ํฌ๊ฒŒ Gain(์–ผ๋งˆ๋‚˜ ์ž˜ ๋งž์ถ˜ ๊ฒƒ์ธ์ง€), Position Discount(ํ›„์ˆœ์œ„๋Š” ๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š์•„), Normalize(0~1์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ํ‘œํ˜„) , Cumulating(์ˆœ์„œ๋Œ€๋กœ ๋ˆ„์ ํ•ฉ) ํฌ๊ฒŒ 4๊ฐ€์ง€ ๋ถ€๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์–ผ๋งˆ๋‚˜ ์ž˜ ์ˆœ์„œ๋ฅผ ์ถ”์ฒœํ–ˆ๋Š”์ง€์— ๋”ฐ๋ผ์„œ ์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ ์ˆ˜๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.

Max DCG ๋Š” ์ฃผ์–ด์ง„ Label ๋กœ Ordering ํ–ˆ์„๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ ์ˆ˜๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋˜๋ฉฐ, Normalize ๋ฅผ ํ†ตํ•ด 0~1์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ์ ์ˆ˜๊ฐ€ ๊ณ„์‚ฐ๋œ๋‹ค. ์ด ์ ์ˆ˜๋ฅผ ์œ„์—์„œ ์„ค๋ช…ํ•œ Loss Function ์— ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ด Ranking ๋ฌธ์ œ์— ์žˆ์–ด์„œ ๊ธฐ์กด์˜ Cross Entropy ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ข‹์€ ์„ฑ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.

10. Reinforcement Learning to Rank in E-Commerce Search Engine: Formalization, Analysis, and Application

This image has an empty alt attribute; its file name is image-35.png

์ด ๋…ผ๋ฌธ์˜ ํ•ต์‹ฌ์€ ๊ธฐ์กด์˜ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด ์‚ฌ์šฉ์ž์˜ ์†Œ๋น„ ํŒจํ„ด์€ ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ฐ๊ฐ์˜ Session์€ ๋‹ค๋ฅธ Session ๋“ค๊ณผ ๋†’์€ ์—ฐ๊ด€์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‚˜, ๊ทธ๋Ÿฌํ•œ ์—ฐ๊ด€์„ฑ์„ ์ž˜ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด RL(๊ฐ•ํ™”ํ•™์Šต)์„ ์ ์šฉํ•˜์—ฌ ๊ทธ ์—ฐ๊ด€์„ฑ์„ ์ž˜ ๋ฐ˜์˜ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

markov decision process์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ

์ด ๋…ผ๋ฌธ์—์„œ๋Š” MDP(Markov Decision Process)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ํŠน์„ฑ์„ ์ถ”๊ฐ€ํ•œ Search Session MDP ๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. (์œ„๋Š” MDP ์˜ ์ผ๋ฐ˜์ ์ธ ๊ตฌ์กฐ) , SSMDP ์—์„œ ๊ฐ ์š”์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ ๋œ๋‹ค.

  • Agent ๋Š” Search Engine ์œผ๋กœ Ranking Engine ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  • Environment ๋Š” ์‡ผํ•‘๋ชฐ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ณ ๊ฐ์˜ ์‡ผํ•‘ ํŒจํ„ด ์ •๋ณด์ด๋‹ค.
  • State ๋Š” ํฌ๊ฒŒ 3๊ฐœ๋กœ ์ •์˜(๊ณ„์† ์‡ผํ•‘, ์‡ผํ•‘ ์ค‘๋‹จ, ๋ฌผ๊ฑด ๊ตฌ๋งค), ์ด์ „ State ์™€ Action ์œผ๋กœ ํ™•๋ฅ  ํŒ๋‹จ
  • Action์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถ”์ฒœํ•˜๋Š” ์ƒํ’ˆ ๋ชฉ๋ก์ด๋‹ค.
  • Reward ๋Š” ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌผ๊ฑด์„ ๊ตฌ๋งค ํ–ˆ์„ ๋•Œ ์ถ”์ฒœํ•œ ๋ฌผ๊ฑด์˜ ๊ฐ€๊ฒฉ์ด ๋œ๋‹ค.

์œ„์˜ ์ •์˜๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‹ค์ œ ํ•˜๋‚˜์˜ Session ์„ ๊ตฌ์„ฑํ•ด ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‹œ๊ฐํ™”ํ•˜์—ฌ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค

  • C ๋Š” Continue ์ƒํƒœ๋กœ ๊ณ„์† ๋‹ค๋ฅธ ๊ฒ€์ƒ‰์„ ์ง„ํ–‰ํ•˜๋Š” non-terminal state ์ด๋‹ค
  • B ๋Š” Buy ์ƒํƒœ๋กœ ๋ฌผ๊ฑด์„ ๊ตฌ๋งคํ•˜๋Š” terminal state ์ด๋‹ค
  • L ์€ Leave ์ƒํƒœ๋กœ ๊ฒ€์ƒ‰์„ ์ข…๋ฃŒํ•˜๊ณ  ๋– ๋‚˜๋Š” terminal state ์ด๋‹ค
  • Red h ๋Š” ๊ณผ๊ฑฐ ์ถœ๋ ฅ๋œ Item ๋ชฉ๋ก ์ด๋ ฅ ์ •๋ณด ์ด๋‹ค
  • Blue ๋Š” ๊ฐ State ๋กœ ์ „์ดํ•  ํ™•๋ฅ ์ด๋‹ค.

์ด ๋‹ค์Œ์— B, C , L ์ค‘์— ์–ด๋–ค State ๋กœ ์ „์ดํ•  ๊ฒƒ์ด์ง€์— ๋Œ€ํ•œ ํ™•๋ฅ ์€ ์•„๋ž˜์™€ ๊ฐ™์ด. ์ด์ „ State ์™€ Action ์— ๋”ฐ๋ฅธ๋‹ค๊ณ  ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ฆ๋ช…ํ•˜๊ณ  ์žˆ๋‹ค. (์ฆ๋ช…์€ ๋…ผ๋ฌธ์—์„œ ์ฐธ์กฐ)

Reward ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด Buy State ๋กœ ๊ฐ”์„ ๋•Œ, h ๋Š” ์ถ”์ฒœ ๊ฒฐ๊ณผ, m(h) ๋Š” ์ถ”์ฒœ ๊ฐ€๊ฒฉ์„ ๋ฐ˜์˜ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ Reinforcement Learning ์„ ํ†ตํ•ด ํ›ˆ๋ จ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ์˜ˆ์ธกํ•ด์•ผ ํ•˜๋Š” Action ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์˜ ํ‘œ์—์„œ ๋ณด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Value๋ฐฉ์‹๊ณผ Policy ๋ฐฉ์‹์„ ๋ชจ๋‘ ์ทจํ•˜๋Š” Actor-Critic ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด Q Function ๊ณผ J Function ์ด ๋ชจ๋‘ ์ •์˜๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ, ์•„๋ž˜๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค. J Function ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ•ํ™”ํ•™์Šต์—์„œ ์‚ฌ์šฉํ•˜๋Š” Policy Gradient ์ตœ์ข… ๊ณต์‹๊ณผ ํฐ ์ฐจ์ด๊ฐ€ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ, Q Function ์€ ์œ„์—์„œ ์ •์˜ํ•œ ๋ณ€ํ•˜๋Š” State ์— ๋”ฐ๋ฅธ Reward ๋ฅผ ๋ฐ˜์˜ํ•œ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ์ด ๋˜๋Š” ๊ฒƒ์„ ๋ณผ์ˆ˜ ์žˆ๋‹ค. (Advantage ๊ฐœ๋…์€ ์•ˆ๋ณด์ด๋Š”๊ฑฐ ๊ฐ™๊ธฐ๋Š” ํ•œ๋ฐ..) ์•ž์— Term ์€ Buy ํ•˜๋Š” ๊ฒฝ์šฐ, ์˜ˆ์ƒ ํŒ๋งค๊ฐ€์ด๊ณ  ๋’ค์— Term ์€ ๊ณ„์† ์‡ผํ•‘์„ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฏธ๋ž˜์— ๊ธฐ๋Œ€๋˜๋Š” Reward ์ด๋‹ค.

Q Function
J Function (Policy)

์ด์ œ ์•„๋ž˜ ์ˆ˜๋„์ฝ”๋“œ์™€ ๊ฐ™์ด ํ›ˆ๋ จ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์„ธํƒ€๋Š” ํŒŒ์ด(ํด๋ฆฌ์‹œ)์— ๋Œ€ํ•œ ํŒŒ๋ฆฌ๋ฉ”ํ„ฐ์ด๊ณ , W ๋Š” Q(Value) ์— ๋Œ€ํ•œ ํŒŒ๋ผ๋ฉ”ํ„ฐ ์ด๋ฉฐ, ์„ธํƒ€๋Š” ์ผ๋ฐฉ์ ์ธ ๊ฐ•ํ™”ํ•™์Šต์˜ Policy ํ›ˆ๋ จ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„ธํƒ€ + ๋Ÿฌ๋‹๋ ˆ์ดํŠธ*Gradient(J)*Q ๋กœ ํ›ˆ๋ จํ•˜๊ณ , Q Function ์€ TD ๋ฐฉ์‹์œผ๋กœ ์ด์ „๊ณผ ์ดํ›„์˜ Value ์˜ ์ฐจ์ด๋ฅผ(MSE) ์ด์šฉํ•˜์—ฌ ํ›ˆ๋ จํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

ํ•˜๋‚˜์˜ Session(T Time) ๊นŒ์ง€ ๊ฐ Step ์— ๋”ฐ๋ผ Gradient w์™€ ์„ธํƒ€๋ฅผ ์ถ•์ ํ•˜๋‹ค๊ฐ€(Sum) ํ•œ Session ์ด ๋๋‚˜๋ฉด, T ๋กœ ๋‚˜๋ˆ„์–ด Update ํ•˜๋Š” ํ˜•ํƒœ๋กœ ํ›ˆ๋ จ์ด ์ง„ํ–‰๋œ๋‹ค.

11. Personalized Re-ranking for Recommendation

์ด ๋…ผ๋ฌธ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Item ์ถ”์ฒœ ์ˆœ์œ„์˜ Re-Ordering ์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ๋‘ ๊ฐ€์ง€๋กœ ์ƒ๊ฐ๋œ๋‹ค. ํ•˜๋‚˜๋Š” Item ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค. (๊ทธ๋ž˜์„œ ์–‘๋ฐฉํ–ฅ์˜ ๊ด€๊ณ„๋ฅผ ์ž˜ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” Attention ๊ธฐ๋ฐ˜์˜ Transformer ์•„ํ‚คํƒ์ณ๊ฐ€ ์ ํ•ฉํ•˜๋‹ค๊ณ  ์ด์•ผ๊ธฐ ํ•จ). ํ•˜๋‚˜์˜ Item์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์—ฐ๊ด€๋œ Item ๋“ค๋„ ์ถ”์ฒœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋ฅผ ์ƒ๊ฐํ•œ ๊ฒƒ ๊ฐ™์Œ(ex: ์ˆ , ์˜ค์ง•์–ด, ๋‹ด๋ฐฐ ์™€ ๊ฐ™์ด)

R์€ ๋ชจ๋“  User ์—๊ฒŒ ์ถ”์ฒœ ๋˜์—ˆ๋˜ Item, I ๋Š” ํ•ด๋‹น ์œ ์ €์—๊ฒŒ ์ถ”์ฒœ๋˜์—ˆ๋˜ ์•„์ดํ…œ, x ๋Š” ์•„์ดํ…œ์˜ ์†์„ฑ, y ๋Š” ์ถ”์ฒœ ์•„์ดํ…œ์˜ ํด๋ฆญ ์—ฌ๋ถ€

์œ„์˜ ๋‚ด์šฉ์„ ๊ฐ€์ง€๊ณ  Re-Ranking ์— ๋Œ€ํ•œ Loss ๋ฅผ ์ •์˜ํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ๋  ๊ฒƒ์ด๋‹ค.(์ด๊ฑธ LTR: Learn to Rank ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค๊ณ  ํ•จ) ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์—์„œ ๋น ์ง„ ๊ฒƒ์ด ์žˆ๋Š”๋ฐ, ์ด์ „์˜ ์—ฐ๊ตฌ๋“ค์—์„œ ์‚ฌ์šฉ๋˜๋˜, ๊ฐœ์ธ์˜ ์„ ํ˜ธ ๋ฐ Session ์ด๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ ์ตœ๊ทผ ์กฐ์ž‘ ์ •๋ณด ๋“ฑ ์ •๋ณด๊ฐ€ Re-Ranking ํŒ๋‹จ์‹œ ์ ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.

๋‚˜๋จธ์ง€ ์ƒ๋™, PV ๋Š” Personalized Vector

๊ทธ๋ž˜์„œ PV ๋ผ๋Š” ITEM ๋ณ„๋กœ ๊ฐœ์ธ์˜ ์„ฑํ–ฅ ๋ฐ ์กฐ์ž‘ ์ •๋ณด๋ฅผ Input ์œผ๋กœ Pretrained ๋ชจ๋ธ์„ ๊ฑฐ์ณ ๋‚˜์˜จ Feature ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜๊ณ  ์žˆ๋‹ค. ํ•ด๋‹น ๋ชจ๋ธ์˜ ์œ„ ๊ทธ๋ฆผ์˜ C ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ธ๋ฐ, Input ์œผ๋กœ ๊ฐœ์ธ์— ๋Œ€ํ•œ ์ •๋ณด + ๊ฐœ์ธ์˜ Action History + Item Vector ๋ฅผ ๋„ฃ๊ณ  Output ์œผ๋กœ ํ•ด๋‹น Item ์„ ํด๋ฆญ ํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ Loss Function ์œผ๋กœ ๋ชจ๋ธ์„ Pretrain ํ•˜๊ณ  (b) ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œ item,user ๋ณ„๋กœ ๋งˆ์ง€๋ง‰ Layer ์˜ ๊ฐ’์„ PV ๋กœ ์ถ”์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

์กฐ๊ธˆ์€ ์˜๋ฌธ์Šค๋Ÿฌ์šด ๋ถ€๋ถ„์€ Session ์ด๋ผ๋Š” ๊ฐœ๋…์˜ ์ •๋ณด๋Š” ๋ถ„๋ช…ํžˆ ์‹œ๊ณ„์—ด ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์‚ฌ์šฉ์ž์˜ Action ์€ ๊ณผ๊ฑฐ์˜ Action ๋ณด๋‹ค ๋ถ„๋ช… ๋” ํฐ ์˜ํ–ฅ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ๊ทธ๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ์ž˜ ๋ฐ˜์˜ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณผ ์ƒ๊ฐ๋˜๋Š”๋ฐ ๊ทธ๋Ÿฐํ•œ ๊ฐœ๋…์ด ์ž˜ ์„ค๋ช…๋˜์ง€๋Š” ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค..

Leave a Reply

Your email address will not be published. Required fields are marked *