[๋…ผ๋ฌธ]Neural Collaborative Filtering(2017, Xiangnan He)

Carvinยท2021๋…„ 4์›” 8์ผ
0
post-thumbnail

๐Ÿ“„ Neural Collaborative Filtering(2017, Xiangnan He)

0. ํฌ์ŠคํŒ… ๊ฐœ์š”

Neural Collaborative Filtering์€ ์ง€๊ธˆ์œผ๋กœ๋ถ€ํ„ฐ ์•ฝ 4๋…„ ์ „ 2017๋…„์— ๋ฐœ์ œ๋œ ๋…ผ๋ฌธ์œผ๋กœ, ๊ฐ•ํ™”ํ•™์Šต, ๊ทธ๋ž˜ํ”„ ๋“ฑ ๋‹ค์–‘ํ•œ ๋”ฅ๋Ÿฌ๋‹ ์ ‘๊ทผ๋ฒ•๋“ค์ด ์ถ”์ฒœ์‹œ์Šคํ…œ๊ณผ ์œตํ•ฉ๋˜๊ณ  ์žˆ๋Š” ํ˜„์žฌ์™€ ๋น„๊ตํ•ด๋ณด๋ฉด ๊ฝค ์˜ค๋ž˜๋œ ๋…ผ๋ฌธ ๋ฐ ์—ฐ๊ตฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ•ด๋‹น ๋…ผ๋ฌธ์„ ๋ฆฌ๋ทฐํ•˜๊ฒŒ ๋œ ์ด์œ ๋Š” ์ถ”์ฒœ ์‹œ์Šคํ…œ์— ์ธ๊ณต์‹ ๊ฒฝ๋ง, Neural Network๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ ์šฉ๋œ ์ดˆ๊ธฐ ์‚ฌ๋ก€๋ผ๊ณ  ์ƒ๊ฐ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

Neural Collaborative Filtering์„ ๋ฆฌ๋ทฐํ•จ์œผ๋กœ์จ, ์ถ”์ฒœ์‹œ์Šคํ…œ์— ๋”ฅ๋Ÿฌ๋‹์ด ์ฒ˜์Œ ์ ์šฉ๋˜๊ณ  ํ™œ์šฉ๋˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ NCF๋Š” ๋ชจ๋ธ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ๋‹จ์ˆœํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ด๋Œ์–ด๋‚ด๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ์™€ ๊ณผ์ •์ด ๋น„๊ต์  ๋‹จ์ˆœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ทฐ ๋ฐ ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ์ถ”์ฒœ ๊ฒฐ๊ณผ๋ฅผ ์ด๋Œ์–ด ๋‚ด๋Š” ๊ณผ์ •์„ ์ดํ•ดํ•˜๊ธฐ ์ˆ˜์›”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Neural Collaborative Filtering์€ ์ดํ›„์— ๋“ฑ์žฅํ•œ ๋งŽ์€ ๋ชจ๋ธ์—์„œ ํ•ด๋‹น ๊ตฌ์กฐ๊ฐ€ ์ฐจ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ž์„ธํ•˜๊ฒŒ ์ดํ•ดํ•œ๋‹ค๋ฉด ์ถ”ํ›„ ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ์ดํ•ดํ•  ๋•Œ์—๋„ ๋„์›€์ด ๋งŽ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


ABSTRACT

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

  • ์ด๋ฒˆ ๋…ผ๋ฌธ์—์„œ๋Š”, implicit feedback์— ๊ธฐ๋ฐ˜ํ•œ collaborative filtering์ด๋ผ๋Š” ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฅ๋Ÿฌ๋‹์„ ์ ์šฉํ•˜์—ฌ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • ์ถ”์ฒœ ์‹œ์Šคํ…œ์— ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•œ ์ตœ๊ทผ(2017๋…„) ์—ฐ๊ตฌ๋“ค์„ ๋ณด๊ฒŒ ๋˜๋ฉด, ๋Œ€๋ถ€๋ถ„ ์•„์ดํ…œ์˜ ์„ค๋ช… ํ…์ŠคํŠธ, ๋…ธ๋ž˜์˜ ์Œํ–ฅ ์ •๋ณด์™€ ๊ฐ™์€ ๋ถ€๊ฐ€ ์ •๋ณด(auxiliary information)๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

  • collaborative filtering์˜ key factor์„ ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ ์ €์™€ ์•„์ดํ…œ ๊ฐ„์˜ interaction์ด ์š”๊ตฌ๋˜๋ฉฐ, ์—ฌ์ „ํžˆ matrix factorization ๊ธฐ๋ฒ•์— ์˜์กดํ•˜๊ณ  ์œ ์ €์™€ ์•„์ดํ…œ์˜ latent features์˜ ๋‚ด์  ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • ๋‚ด์  ๊ณผ์ •์„ ๋น„์„ ํ˜•์  ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋กœ ๋Œ€์ฒดํ•œ๋‹ค๋ฉด, Neural Network-based Collaborative Filtering, NCF ๋ผ๋Š” ๋ชจ๋ธ์„ ์ œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋น„์„ ํ˜•์ ์ธ ํŠน์ง•์„ ๋ชจ๋ธ์—์„œ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด, ์œ ์ €์™€ ์•„์ดํ…œ ๊ฐ„์˜ interaction์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” MLP๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด๋ฒˆ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•œ NCF ๋ชจ๋ธ์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์…‹์—์„œ ๋‹ค๋ฅธ ์ตœ์‹  ๋ชจ๋ธ๋“ค๊ณผ ๋น„๊ตํ•ด์„œ ๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•œ ์ถ”์ฒœ ์‹œ์Šคํ…œ์ด ๋ณด๋‹ค ์šฐ์ˆ˜ํ•œ ์ถ”์ฒœ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ๊ฒƒ์€ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊นจ๋‹ฌ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

1. INTRODUCTION

  • ์ •๋ณด ํญ๋ฐœ ์‹œ๋Œ€์—์„œ, ์ถ”์ฒœ ์‹œ์Šคํ…œ์€ e-์ปค๋จธ์Šค, ์˜จ๋ผ์ธ ๋‰ด์Šค, sns ๋“ฑ๊ณผ ๊ฐ™์€ ์˜จ๋ผ์ธ ์„œ๋น„์Šค์—์„œ ์ •๋ณด ๊ณผ๋‹ค๋ฅผ ์™„ํ™”ํ•˜๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ ์‹œ์Šคํ…œ์˜ ๋ฐฉ๋ฒ•์€ ์•„์ดํ…œ์— ๋Œ€ํ•œ ์œ ์ €์˜ ์„ ํ˜ธ๋„์™€ ๊ณผ๊ฑฐ interaction ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜๋Š” collaborative filtering๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋‹ค์–‘ํ•œ collaborative filtering ๋ฐฉ๋ฒ• ์ค‘์—์„œ, Matrix Factorization(MF)์€ ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ, ์œ ์ €์™€ ์•„์ดํ…œ์˜ latent features(์ž ์žฌ ์š”์ธ)์„ ๋ฒกํ„ฐํ™”ํ•จ์œผ๋กœ์จ, ์œ ์ €์™€ ์•„์ดํ…œ์„ ํ•œ ๊ณต๊ฐ„์œผ๋กœ ํˆฌ์˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • Netfix prize๊ฐ€ ์œ ๋ช…ํ•ด์ง€๋ฉด์„œ, MF๋Š” ์ž ์žฌ ์š”์ธ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ de facto(๊ธฐ๋ณธ์ ์ธ) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋งŽ์€ ์—ฐ๊ตฌ๋“ค์ด MF ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, neighbor-based models์„ ์ ์šฉํ•ด๋ณด๊ฑฐ๋‚˜, ์•„์ดํ…œ ๋ฐ์ดํ„ฐ์˜ ํ† ํ”ฝ ๋ชจ๋ธ๋ง์„ ๊ฒฐํ•ฉํ•˜๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ feature๋ฅผ ํฌ๊ด„์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด factorization machine ๋ชจ๋ธ๋กœ ํ™•์žฅํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

    • collaborative filtering์—์„œ MF๊ฐ€ ํšจ๊ณผ์ ์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋‚ด์ ์„ ํ†ตํ•œ interaction์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์˜ˆ๋ฅผ ๋“ค์–ด, explicit feedback์„ ํ†ตํ•œ ํ‰์  ์˜ˆ์ธก ๊ณผ์ œ์—์„œ, ์œ ์ €์™€ ์•„์ดํ…œ์˜ bias ํ•ญ์„ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ฆ‰, ํ•ญ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์‹œ๋„๋Š” ๋‚ด์  ๊ณผ์ •์— ์žˆ์–ด ์•„์ฃผ ์‚ฌ์†Œํ•œ ๋ณ€๊ฒฝ ํ˜น์€ ์‹œ๋„์— ๋ถˆ๊ณผํ•˜์ง€๋งŒ, ์œ ์ €์™€ ์•„์ดํ…œ ๊ฐ„์˜ latent feature interaction์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์— ์žˆ์–ด์„œ๋Š” ๋งค์šฐ ๊ธ์ •์ ์ธ ํšจ๊ณผ์™€ ๊ฒฐ๊ณผ๋ฅผ ์ด๋Œ์–ด ๋‚ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • latent features์„ ์„ ํ˜•์ ์œผ๋กœ ๊ณฑํ•˜์—ฌ ๊ฒฐํ•ฉํ•˜๋Š” ๋‚ด์  ๊ณผ์ •์€ ์œ ์ € interaction ๋ฐ์ดํ„ฐ์—์„œ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•จ์— ์žˆ์–ด ์ถฉ๋ถ„์น˜ ๋ชปํ•œ๋‹ค๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด ๋…ผ๋ฌธ์—์„œ๋Š” handcraft๊ฐ€ ์ฃผ๋กœ ์ด๋ค„์กŒ๋˜ ๋งŽ์€ ์ด์ „ ์—ฐ๊ตฌ์™€๋Š” ๋‹ฌ๋ฆฌ, ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ interaction์„ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์—ฐ๊ตฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ธ๊ณต์‹ ๊ฒฝ๋ง์€ continuous function(์—ฐ์† ํ•จ์ˆ˜)๋ฅผ ๊ทผ์‚ฌํ•จ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๊พธ์ค€ํžˆ ๋ฐํ˜€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ตœ๊ทผ์—๋Š” ๋”ฅ๋Ÿฌ๋‹์ด ๋ณด๋‹ค ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Œ์ด ์ฆ๋ช…๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , MF์˜ ๋ฐฉ๋Œ€ํ•œ ์—ฐ๊ตฌ์ž๋ฃŒ์™€ ๋Œ€์กฐ์ ์œผ๋กœ ์ถ”์ฒœ ์‹œ์Šคํ…œ์— ๋”ฅ๋Ÿฌ๋‹์ด ํ™œ์šฉ๋œ ์—ฐ๊ตฌ ์‚ฌ๋ก€๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๊ต‰์žฅํžˆ ์ ์—ˆ์Šต๋‹ˆ๋‹ค.

    • ๋”ฅ๋Ÿฌ๋‹์ด ์ ์šฉ๋œ ์ถ”์ฒœ ์‹œ์Šคํ…œ์˜ ์ตœ๊ทผ ์—ฐ๊ตฌ ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ๋Œ€๋ถ€๋ถ„ ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ๊ฒƒ ์ •๋„์— ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฒˆ ๋…ผ๋ฌธ์—์„œ๋Š” collaborative filtering์˜ ๊ด€์ ์—์„œ ์ธ๊ณต์‹ ๊ฒฝ๋ง ์ ‘๊ทผ๋ฒ•์„ ๊ตฌ์ฒดํ™”ํ•จ์œผ๋กœ์จ ์•ž์„  ์—ฐ๊ตฌ ์ž๋ฃŒ๋“ค์˜ ๋ฌธ์ œ์ ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ๊ณผ์ •์—์„œ๋Š”, ๋น„๋””์˜ค๋ฅผ ๋ณด๊ฑฐ๋‚˜, ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜, ์•„์ดํ…œ์„ ํด๋ฆญํ•˜๋Š” ํ–‰๋™์— ๋Œ€ํ•œ ์œ ์ €์˜ ์„ ํ˜ธ๋„๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ๋ฐ˜์˜ํ•œ implicit feedback์— ๋ณด๋‹ค ์ดˆ์ ์„ ๋งž์ถ”์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ๋ทฐ๋‚˜ ํ‰์ ๊ณผ ๊ฐ™์€ explicit feedback๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, implicit feedback์€ ์ž๋™์ ์œผ๋กœ ํ˜น์€ ๋” ์‰ฝ๊ฒŒ ์ถ”์ ํ•˜๊ณ  ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ๋…ผ๋ฌธ์˜ ์ฃผ์š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    • ์œ ์ €์™€ ์•„์ดํ…œ์˜ latent feature๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์ œ์‹œํ•˜๊ณ  ๊ตฌ์ฒดํ™”ํ•˜์—ฌ, ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ collaborative filtering ๋ชจ๋ธ์ธ NCF๋ฅผ ์„ค๊ณ„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    • *MF ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋”ฐ๋ฅด๋Š” NCF๋Š” MLP๋ฅผ ํ†ตํ•ด ๊ณ ์ฐจ์›์˜ ๋น„์„ ํ˜•์ ์ธ ํŠน์ง•์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • 2๊ฐ€์ง€ ํ˜„์‹ค ๋ฐ์ดํ„ฐ์— NCF๋ฅผ ์ ์šฉํ•ด๋ด„์œผ๋กœ์จ, ๋”ฅ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•œ collaborative filtering์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ํšจ๊ณผ์„ฑ์— ๋Œ€ํ•ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

2. PRELIMINARIES

  • ๋จผ์ € implicit feedback์„ CF์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ˜„์žฌ์˜ ๋ฌธ์ œ์ ๊ณผ ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด์•„์•ผ ํ•˜๊ณ , MF ๋ชจ๋ธ์—์„œ ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋‚ด์  ๊ณผ์ •์˜ ํ•œ๊ณ„์ ์— ๋Œ€ํ•ด์„œ๋„ ๋‹ค๋ค„๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2.1 Learning from Implicit Data

yu,i={1,ย ifย interaction(userย u,ย itemย i)ย isย observed0,ย otherwisey_{u,i} = \begin{cases}1, \ \text{if interaction(user $u$, item $i$) is observed} \cr 0, \ \text{otherwise} \cr\end{cases}
  • ์œ ์ €์™€ ์•„์ดํ…œ์˜ ์ˆ˜๋ฅผ M๊ณผ N์œผ๋กœ ํ•˜๋Š” R ํ–‰๋ ฌ์„ ์ •์˜ํ•  ๋•Œ, feedback์˜ ๋ฐœ์ƒ ์—ฌ๋ถ€๋ฅผ ๊ธฐ์ค€์œผ๋กœ 1 / 0 ์œผ๋กœ ํ–‰๋ ฌ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด ๋•Œ, implicit feedback์ด๋ž€ ์œ ์ €์™€ ์•„์ดํ…œ์˜ interaction์„ ์˜๋ฏธํ•  ์ˆ˜๋Š” ์žˆ์œผ๋‚˜, ๋ฐœ์ƒ ์—ฌ๋ถ€๋ฅผ ์œ ์ €๊ฐ€ ์•„์ดํ…œ์„ ์„ ํ˜ธํ•œ๋‹ค๊ณ  ์ •์˜ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

    • ๋ฐ˜๋Œ€๋กœ, interaction์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ํ•˜๋”๋ผ๋„, ์œ ์ €๊ฐ€ ์•„์ดํ…œ์„ ์‹ซ์–ดํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ interaction์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 0์ด ๋ถ€์—ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ์œ ์ €์˜ ์„ ํ˜ธ๋„์— ๋Œ€ํ•œ noise ์‹ ํ˜ธ๋ฅผ ์˜๋ฏธํ•˜๋Š” implicit data๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•˜๋Š” ํ•™์Šต์˜ ์–ด๋ ค์›€์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋˜ํ•œ, ์œ ์ €์™€ ์•„์ดํ…œ ๊ฐ„์˜ interaction์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š”, ์ด๋ฅผ missing data๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋ฉฐ ๋ถ€์ •์ ์ธ feedback์— ๋Œ€ํ•œ interaction์„ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

  • implicit feedback์˜ ์ถ”์ฒœ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋กœ๋Š”, ์•„์ดํ…œ์„ ๋žญํ‚นํ™”ํ•˜๊ธฐ ์œ„ํ•œ unobserved enteries(=interaction์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์•„์ดํ…œ set)์˜ score๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋‹ค์Œ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

y^u,i=f(u,iโˆฃฮ˜),ย whereย fย ย isย interactionย function,ฮ˜ย isย modelย parameters\hat{y}_{u,i} = f(u,i|\Theta),\ \\ where \ f \ \ \text{is interaction function}, \Theta \ \text{is model parameters} \\
  • ์œ„ ์ˆ˜์‹์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์„ค๋ช…ํ•˜์ž๋ฉด, ff๋Š” ์œ ์ €์™€ ์•„์ดํ…œ์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, score๋ฅผ returnํ•˜๋Š” interaction function์ด๋ฉฐ, ฮ˜\Theta ๋Š” ํ•ด๋‹น function์˜ parameter๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ด ๋•Œ, ํ•ด๋‹น function์˜ parameter๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชฉ์  ํ•จ์ˆ˜, objective function์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

    • L1=min12(y^u,iโˆ’yu,i)2:pointwiseย lossL_{1} = min \dfrac {1}{2}(\hat{y}_{u, i} - y_{u, i})^2 : \text{pointwise loss}
    • L2=max(0,f(yunobs)โˆ’f(yobs)+ฮฑ)ย ย s.tย ย rank(yobs)>rank(yunobs):pairwiseย lossL_{2} = max(0, f(y_{unobs})-f(y_{obs})+\alpha) \ \ s.t \ \ rank(y_{obs}) >rank(y_{unobs}) : \text{pairwise loss}
  • pointwise loss์˜ ๊ฒฝ์šฐ์—๋Š” ์‹ค์ œ๊ฐ’๊ณผ ์˜ˆ์ธก๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œํ™”(minimize) ํ•˜๋Š” ๋ชฉ์  ํ•จ์ˆ˜๋กœ ๋ณดํ†ต ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ๋˜๊ณค ํ•ฉ๋‹ˆ๋‹ค.

    • negative feedback ๋ฐ์ดํ„ฐ์˜ ๋ถ€์กฑ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ, interaction์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜์—ฌ๊ธˆ negative feedback์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ sampling ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • pairwise loss์˜ ๊ฒฝ์šฐ์—๋Š” ๊ด€์ธก๋œ ๋ฐ์ดํ„ฐ(interaction์ด ๋ฐœ์ƒํ•œ)๊ฐ€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— ๋น„ํ•ด ๋งํ‚น์ด ๋†’์•„์•ผ ํ•œ๋‹ค๋Š” ์•„์ด๋””์–ด์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ, ๊ด€์ธก๋œ ๋ฐ์ดํ„ฐ์™€ ๊ด€์ธก๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์˜ ๋žญํ‚น ์ฐจ๋ฅผ ์ตœ๋Œ€ํ™”(maximize)ํ•˜๋Š” ๋ชฉ์  ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

  • ๋‹ค์‹œ ๋Œ์•„๊ฐ€์„œ, ๋…ผ๋ฌธ์—์„œ ์ œ์‹œํ•˜๋Š” NCF ๋ชจ๋ธ ๊ตฌ์กฐ๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์œ„ ๋‘ ๋ชฉ์  ํ•จ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

2.2 Matrix Factorization

  • MF, Matrix Factorization์€ ์œ ์ €, uu์™€ ์•„์ดํ…œ, ii์˜ latent features์ธ pu,qip_u, q_i์˜ ๋ฐ˜๋ณต์ ์ธ ๋‚ด์ ์„ ํ†ตํ•ด interaction์ธ yu,iy_{u,i}๋ฅผ ์ถ”์ •ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

    • KK๋Š” ๊ฐ latent feature์˜ ์ฐจ์›์„ ์˜๋ฏธํ•˜๋ฉฐ, ์œ ์ €์™€ ์•„์ดํ…œ์˜ ๋…๋ฆฝ์ ์ธ latent factor๋ฅผ ๋™์ผํ•œ weight๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ ํ˜•์ ์œผ๋กœ(linearly) ๊ฒฐํ•ฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
y^u,i=f(u,iโˆฃpu,qi)=puqiT=โˆ‘k=1Kpukqki\hat{y}_{u,i}= f(u,i|\mathbf{p}_{u}, \mathbf{q}_{i}) = \mathbf{p}_{u} \mathbf{q}_{i}^{T}= \sum_{k=1}^K p_{uk} q_{ki}
  • ๊ณ„์†ํ•ด์„œ MF์˜ ๋‚ด์  ๊ณผ์ •์€ ์œ ์ €์™€ ์•„์ดํ…œ์˜ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•จ์— ์žˆ์–ด ํ•œ๊ณ„์ ์„ ๊ฐ€์ง„๋‹ค๊ณ  ๋งํ•˜๋Š”๋ฐ, ๋‹ค์Œ ๊ทธ๋ฆผ์ด ์ด๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ์œ„์™€ ๊ฐ™์ด ์œ ์ €-์•„์ดํ…œ ํ–‰๋ ฌ์ด ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด, ๋‘ ์œ ์ €๊ฐ„ ์œ ์‚ฌ๋„๋Š” ๋‚ด์  ํ˜น์€ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„, ์ž์นด๋“œ ์œ ์‚ฌ๋„๋ฅผ ํ†ตํ•ด ๊ตฌํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์—ฌ๊ธฐ์„œ, ์œ ์ € uu ์™€ jj์˜ ์œ ์‚ฌ๋„๋ฅผ sijs_{ij}๋กœ ํ‘œํ˜„ํ•  ๋•Œ, ์œ ์‚ฌ๋„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ฒŒ ๋˜๋ฉด ์œ ์ € (2,3), ์œ ์ € (1,2), ์œ ์ € (1,3) ์ˆœ์œผ๋กœ ๋†’์€ ์œ ์‚ฌ๋„๋ฅผ ๋ณด์ด๋ฉฐ ์œ ์‚ฌ๋„ ๊ด€๊ณ„๋ฅผ ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ํ‘œํ˜„ํ•˜๊ฒŒ ๋˜๋ฉด ์šฐ์ธก ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

s23(0.66)>s12(0.5)>s13(0.4)s_{23}(0.66) > s_{12}(0.5) > s_{13}(0.4)
  • ๊ทธ๋Ÿฐ๋ฐ ์ด ๋•Œ, ์ƒˆ๋กœ์šด ์œ ์ € 4๊ฐ€ ๋“ฑ์žฅํ•จ์œผ๋กœ์จ, ๋‹ค๋ฅธ ์œ ์ €๋“ค๊ณผ์˜ ์œ ์‚ฌ๋„๊ฐ€ ๊ณ„์‚ฐ๋˜์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ์‚ฌ๋„ ๊ด€๊ณ„๊ฐ€ ํ˜•์„ฑ๋˜๊ฒŒ ๋˜๋ฉด MF ๋ชจ๋ธ์—์„œ ๊ณต์œ ํ•˜๊ณ  ์žˆ๋˜ ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ์œ ์ € 4๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์— ์žˆ์–ด ํ•œ๊ณ„๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ranking loss๊ฐ€ ์ปค์ง€๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
s41(0.6)>s43(0.4)>s42(0.2)s_{41}(0.6) > s_{43}(0.4) > s_{42}(0.2)
  • ์ •๋ฆฌํ•˜์ž๋ฉด, Matrix Factorization์˜ ๋‹จ์ˆœํ•˜๊ณ  ๊ณ ์ •๋œ ๋‚ด์  ๊ณผ์ •์€ ์ €์ฐจ์› latent space์—์„œ ๋ณต์žกํ•œ ์œ ์ €์™€ ์•„์ดํ…œ์˜ ๊ด€๊ณ„๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ์— ํ•œ๊ณ„์ ์„ ๊ฐ€์ง„๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ๋งค์šฐ ํฐ K์ฐจ์›์˜ latent factor๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, ์ด ๋ฐฉ๋ฒ• ๋˜ํ•œ ๋ชจ๋ธ์˜ generalization ๊ด€์ ์— ์žˆ์–ด ๋ถ€์ •์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. NEURAL COLLABORATIVE FILTERING

3.1 General Framework

  • ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ CF์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ, ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ•œ ์ธต์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅธ ์ธต์˜ ์ž…๋ ฅ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ interaction์„ ์ถ”์ •ํ•˜๋Š” MLP ๊ตฌ์กฐ๋ฅผ ์ ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ž…๋ ฅ์ธต์˜ vuU,viIv^U_u, v^I_i ๋‘ ๋ฒกํ„ฐ๋Š” ๊ฐ๊ฐ ์œ ์ €์™€ ์•„์ดํ…œ์˜ ๋ฒกํ„ฐ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž„๋ฒ ๋”ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด ๊ตฌ์กฐ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์ธ CF ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์˜ค์ง ์œ ์ €์™€ ์•„์ดํ…œ์˜ idx๋ฅผ ํ™œ์šฉํ•˜์—ฌ input feature๋ฅผ ๊ตฌ์„ฑํ•˜์˜€์œผ๋ฉฐ, ์›ํ•ซ ์ธ์ฝ”๋”ฉ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Embedding layer์—์„œ๋Š” Fully-connected layer๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ์ธต์˜ ๋ฒกํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ dense vector๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด ๋•Œ ์–ป์€ dense vector๋ฅผ ํ”ํžˆ ๋งํ•˜๋Š” ์œ ์ €์™€ ์•„์ดํ…œ์˜ latent vector๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, latent vecotr๋ฅผ neural collaborative filtering layers๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” MLP ๊ตฌ์กฐ์— ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด์„œ score๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ •์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

    • Fully-connected layer๋ฅผ ํ†ตํ•ด dense vector๋ฅผ ์–ป๋Š” ๊ณผ์ •์€ hidden layer์˜ weight(๊ฐ€์ค‘์น˜)๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • MLP ๊ตฌ์กฐ๋Š” ์ตœ์ข…์ ์œผ๋กœ ํŠน์ • ์œ ์ € uu ์™€ ํŠน์ • ์•„์ดํ…œ ii ์˜ score y^ui\hat {y}_{ui} ๋ฅผ ์‹ค์ œ๊ฐ’๊ณผ์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” pointwise loss๋ฅผ ์ ์šฉํ•˜์—ฌ ์ถ”์ •ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.(ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง ๋ชจ๋ธ๋ง์— ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ Bayesian Personalized Ranking์ด๋‚˜ margin-based loss์™€ ๊ฐ™์€ pairwise loss์— ๋Œ€ํ•œ ๊ณผ์ •์€ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.)

y^u,i=f(PTvuU,QTviIโˆฃP,Q,ฮ˜f)=ฯ•out(ฯ•X(...ฯ•2(ฯ•1(PTvuU,QTviI))...)),ย ย ย 0โ‰ฆy^u,iโ‰ฆ1\hat{y}_{u,i}= f(P^{T}v_{u}^{U}, Q^{T}v_{i}^{I}|P,Q,\Theta_{f}) = \phi_{out}(\phi_{X}(...\phi_{2}(\phi_{1}(P^{T}v_{u}^{U}, Q^{T}v_{i}^{I}))...)), \ \ \ 0 \leqq \hat{y}_{u,i} \leqq 1 \\

3.1.1 Learning NCF

  • ์˜ค์ฐจ๋ฅผ ํ™œ์šฉํ•˜๋Š” pointwise loss์—์„œ๋Š” ์ • ๋ถ„ํฌ์— ๊ทผ๊ฑฐํ•˜์—ฌ ๊ด€์ธก์น˜๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— interaction์˜ ๋ฐœ์ƒ ์—ฌ๋ถ€ 1 / 0 ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” implicit data์— ์ ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— implicit data์˜ binaryํ•œ ํŠน์ง•์„ ๊ณ ๋ คํ•˜์—ฌ logistic ํ˜น์€ probit function์ธ probabilistic function์„ ์‚ฌ์šฉํ•˜๊ณ  ์ถ”์ •ํ•˜๊ณ ์ž ํ•˜๋Š” y^ui\hat{y}_{ui}๊ฐ€ [0, 1]์˜ ๋ฒ”์œ„๊ฐ’์„ ๊ฐ€์ง€๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • probabilistic function์— ๋Œ€ํ•ด ์•„์ฃผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ™•๋ฅ  ์˜ˆ์ธก ๋ชจ๋ธ์—์„œ ์‹ค์ œ๊ฐ’ y=(1,0,0.0)y = (1,0, 0.0) ์ด๊ณ  ๋ชจ๋ธ์˜ ์˜ˆ์ธก์ด y^=(0.4,0.6)\hat {y} = (0.4, 0.6)์ด๋ผ๋ฉด probabilistic function์€ y^\hat {y}์ด yy์— ๊ฐ€๊นŒ์›Œ์ง€๋„๋ก ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ •ํ•ด๋‚˜๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ตญ Objective Function์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, binary cross-entropy loss์™€ ๊ฐ™๋‹ค๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์‹ค์ œ๊ฐ’ yu,i=1y_{u,i} = 1 ์ผ ๋•Œ, y^u,i=0\hat{y}_{u,i} = 0 ์ด๋ผ๋ฉด, L1=log0=โˆžL_1 = log 0 = \infty ์ด ๋  ๊ฒƒ์ด๋ฉฐ, y^u,i=1\hat{y}_{u,i} = 1 ์ด๋ผ๋ฉด, L1=log1=0L_1 = log 1 = 0์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชฉ์  ํ•จ์ˆ˜์˜ ๋ฐฉํ–ฅ์„ฑ์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
L=โˆ’โˆ‘(u,i)โˆˆYyu,iย logย y^u,iโˆ’(โˆ‘(u,j)ย inYโˆ’(1โˆ’yu,i)ย logย (1โˆ’y^u,j))=โˆ’โˆ‘(u,i)โˆˆYโˆชYโˆ’(yu,iย logย y^u,i+(1โˆ’yu,i)ย logย (1โˆ’y^u,i))L =-\sum_{(u,i) \in \mathcal{Y}} y_{u,i}\ log \ \hat{y}_{u,i} - (\sum_{(u,j) \ in \mathcal{Y}^{-}} (1- y_{u,i}) \ log \ (1-\hat{y}_{u,j}) ) \\ \\ = -\sum_{(u,i) \in \mathcal{Y} \cup \mathcal{Y}^{-} } ( y_{u,i}\ log \ \hat{y}_{u,i} + (1- y_{u,i}) \ log \ (1-\hat{y}_{u,i}))
  • ํ•ด๋‹น ๋ชฉ์  ํ•จ์ˆ˜์—์„œ ์กด์žฌํ•˜๋Š” Yโˆ’\mathcal{Y}^{-}์€ interaction์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋Š” unobserved interaction ๋ฐ์ดํ„ฐ์—์„œ negative sampling์„ ํ†ตํ•ด ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

3.2 Generalized Matrix Factorization (GMF)

  • ํ•ด๋‹น ์„น์…˜์—์„œ๋Š” ์ œ์•ˆํ•  NCF ๋ชจ๋ธ ๊ตฌ์กฐ์—์„œ ์ด๋ค„์ง€๋Š” Matrix Factorization์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • GMF๋Š” ๋ณธ๋ž˜์˜ Matrix Factorization๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅธ ์ ์€ ์—†์ง€๋งŒ ๋‚ด์ ์ธ ์•„๋‹Œ element-wise product๊ฐ€ ์ด๋ค„์ง€๊ณ , edge weights์™€ activation function์„ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ์ ์—์„œ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

y^ui=aout(hT(puโŠ™qi))whereย ย aout:sigmoidย function,ฯƒ(x),ย ย hT:edgeย weights\hat{y}_{ui} = a_{out}(h^T(p_u{\odot}q_i)) \\ where \ \ a_{out} : \text {sigmoid function}, \sigma(x),\ \ h^T : \text{edge weights}
  • ์ด๋ ‡๊ฒŒ ๊ธฐ์กด MF์™€ ์•ฝ๊ฐ„์˜ ๋‹ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๋ณด์ด๋Š” GMF๊ฐ€ ๊ฐ€์ง€๋Š” ์žฅ์ ์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    • hh ๊ฐ€์ค‘์น˜์— non-uniform ํŠน์ง•์œผ๋กœ ํ•™์Šตํ•˜๊ฒŒ ๋˜๋ฉด allows varing importance of latent dimension ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

    • ๊ทธ๋ฆฌ๊ณ  aouta_{out}์— non-linear function์„ ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด linearํ•œ MF ๋ชจ๋ธ ๋ณด๋‹ค ํ’๋ถ„ํ•œ ํ‘œํ˜„๋ ฅ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.3 Multi-Layer Perceptron (MLP)

  • NCF ๋ชจ๋ธ์—์„œ๋Š” ์œ ์ €์™€ ์•„์ดํ…œ์ด๋ผ๋Š” 2๊ฐ€์ง€ ๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๋ฒกํ„ฐ๋ฅผ ์—ฐ๊ฒฐ(concat)ํ•˜๋Š” ๊ฒƒ์œผ๋กœ MLP์— ๋Œ€ํ•œ ์ž…๋ ฅ ๋ฒกํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋˜ํ•œ ์œ ์ €์™€ ์•„์ดํ…œ ๊ฐ„์˜ ๋ณต์žกํ•œ interaction ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด์„œ hidden layer๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ flexibilityํ•˜๊ณ  non-linearityํ•œ ๋”ฅ๋Ÿฌ๋‹์˜ ์žฅ์ ์„ ๋ชจ๋ธ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • concat๋œ ์ž…๋ ฅ ๋ฒกํ„ฐ๊ฐ€ layer๋ฅผ ํ†ต๊ณผํ•˜๋ฉด, ์„ ํ˜• ๊ณ„์‚ฐ๊ณผ ๋น„์„ ํ˜• ๊ณ„์‚ฐ์˜ ๋ฐ˜๋ณต์ด ์ด๋ค„์ง€๊ฒŒ ๋˜๊ณ  output layer์—์„œ sigmoid function์„ ์ ์šฉํ•จ์œผ๋กœ์จ ํŠน์ • ์œ ์ €์™€ ํŠน์ • ์•„์ดํ…œ ๊ฐ„์˜ interaction ๋ฐœ์ƒ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ํ™•๋ฅ ๊ฐ’์„ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

z1=ฯ•1(PTvuU,QTviI)=[PTvuUQTviI]z2=ฯ•2(z1)=a2(W2Tz1+b2)โ‹ฏzL=ฯ•L(zLโˆ’1)=aL(WLTzLโˆ’1+bL)y^u,i=ฯƒ(hTฯ•L(zLโˆ’1))z_{1} = \phi_{1}(P^{T}v_{u}^{U}, Q^{T}v_{i}^{I}) = \begin{bmatrix} P^{T}v_{u}^{U} \\ Q^{T}v_{i}^{I} \end{bmatrix} \\ z_{2} = \phi_{2}(z_{1}) = a_{2}(W_{2}^{T}z_{1} + b_{2}) \\\cdots \\ z_{L} = \phi_{L}(z_{L-1}) = a_{L}(W_{L}^{T}z_{L-1} + b_{L}) \\ \hat{y}_{u,i} = \sigma(h^{T}\phi_{L}(z_{L-1}))

3.4 Fusion of GMF and MLP

  • ์ง€๊ธˆ๊นŒ์ง€ ์•Œ์•„๋ณธ latent feature interaction์— ๋Œ€ํ•œ ์„ ํ˜• ๊ณ„์‚ฐ์˜ GMF์™€ ๋น„์„ ํ˜• ๊ณ„์‚ฐ์˜ MLP๋ฅผ NCF ๋ชจ๋ธ ๊ตฌ์กฐ์—์„œ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์žฅ์ ์œผ๋กœ ์œ ์ €์™€ ์•„์ดํ…œ ๊ฐ„์˜ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•จ์— ์žˆ์–ด ๋ณด๋‹ค ์‹œ๋„ˆ์ง€ ํšจ๊ณผ๋ฅผ ๋‚ผ ๊ฒƒ์ด๋ผ๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” GMF์™€ MLP ๋ชจ๋‘ ๊ฐ™์€ embedding layer๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ๊ฐ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฒฐํ•ฉํ•˜์—ฌ ํ™•๋ฅ ๊ฐ’์„ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.(๊ฐ™์€ embedding layer๋ฅผ ๊ณต์œ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๊ฐ™์€ embedding vector๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.)

    • ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ embedding layer๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋ฉด, ์ž„๋ฒ ๋”ฉ ์ฐจ์›์ด ๊ฐ™์•„์•ผ ํ•จ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๋ชจ๋ธ์— ์ ํ•ฉํ•œ ์ž„๋ฒ ๋”ฉ ์ฐจ์›์„ ํƒํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ ์˜ ์•™์ƒ๋ธ” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ(fused) ๋ชจ๋ธ์— ์œ ์—ฐ์„ฑ์„ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ, GMF์™€ MLP์— ๋‹ค๋ฅธ embedding layer๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋‹ค๋ฅธ embbedding vector๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ฐ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ์—ฐ๊ฒฐ(concat)ํ•˜์—ฌ ํ™•๋ฅ ๊ฐ’์„ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ˆ˜์‹์„ ๋ณด๋ฉด ๊ฐ ๋ชจ๋ธ์— ์œ ์ € latent vactor๊ฐ€ puG,puMp^G_u, p^M_u๋กœ ๋‹ค๋ฅด๊ฒŒ ์ž…๋ ฅ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ฯ•GMF=puGโŠ™qiGฯ•MLP=aL(WLT(aLโˆ’1(...a2(W2T[puMqiM]+b2)...))+bL)y^u,i=ฯƒ(hT[ฯ•GMFฯ•MLP])\phi^{GMF} = p_{u}^{G} \odot q_{i}^{G} \\ \phi^{MLP} = a_{L}(W_{L}^{T}(a_{L-1}(...a_{2}(W_{2}^{T} \begin{bmatrix} p_{u}^{M} \\ q_{i}^{M} \end{bmatrix}+b_{2})...)) + b_{L}) \\ \hat{y}_{u,i} = \sigma(h^{T} \begin{bmatrix} \phi^{GMF} \\ \phi^{MLP} \end{bmatrix})
  • ๊ฒฐ๋ก ์ ์œผ๋กœ GMF์™€ MLP๊ฐ€ ๊ฒฐํ•ฉ๋œ ์œ„ ๋ชจ๋ธ์€ MF์˜ ์„ ํ˜•์„ฑ๊ณผ DNN์˜ ๋น„์„ ํ˜•์„ฑ์„ ๊ฒฐํ•ฉ ๋ฐ ํ™œ์šฉํ•˜์—ฌ ์œ ์ €์™€ ์•„์ดํ…œ์˜ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•œ ๊ตฌ์กฐ์ด๋ฉฐ ๋…ผ๋ฌธ์—์„œ๋Š” ํ•ด๋‹น ๋ชจ๋ธ์„ NeuMF, Neural Matrix Factorization ์ด๋ผ๊ณ  ์ •์˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

4. EXPERIMENTS

  • ์ด๋ฒˆ ์„น์…˜์—์„œ๋Š” ์„ค๊ณ„ํ•œ NeuMF์˜ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•œ ์‹คํ—˜์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ 3๊ฐ€์ง€ ์งˆ๋ฌธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

RQ1 ์ œ์‹œํ•œ NCF ๊ธฐ๋ฒ•์ด implicit CF ๊ธฐ๋ฒ•์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š”๊ฐ€?

RQ2 ์ œ์•ˆํ•œ ์ตœ์  ๊ตฌ์กฐ๊ฐ€ ์ถ”์ฒœ ๊ณผ์ œ์— ์žˆ์–ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”๊ฐ€?

RQ3 DNN ๊ตฌ์กฐ๊ฐ€ ์œ ์ € ์•„์ดํ…œ์˜ interation์„ ํ•™์Šตํ•จ์— ์žˆ์–ด ํšจ๊ณผ์ ์ธ๊ฐ€?

4.1 Experimental Settings

  • MovieLens์™€ Pinterest, 2๊ฐœ์˜ ๋ฐ์ดํ„ฐ์—์„œ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€์œผ๋ฉฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

4.2 Performance Comparison (RQ1)

  • ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ HR@10๊ณผ NDCH@10์— ๋Œ€ํ•œ ๊ฐ ๋ชจ๋ธ ๋ณ„ ์„ฑ๋Šฅ ํ‰๊ฐ€ํ‘œ์ž…๋‹ˆ๋‹ค.

    • ์ƒ๋‹จ ์„ฑ๋Šฅ ํ‰๊ฐ€ํ‘œ์˜ x์ถ•์ธ Factors๋Š” ๋งˆ์ง€๋ง‰ hidden layer์˜ ์ฐจ์›์„ ์˜๋ฏธํ•˜๋ฉฐ, ์—ฌ๊ธฐ์„œ๋Š” model capability ๊ทธ๋ฆฌ๊ณ  predictive factors๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

    • ํ•˜๋‹จ ์„ฑ๋Šฅ ํ‰๊ฐ€ํ‘œ๋Š” ๊ฐ ์„ฑ๋Šฅ ์ง€ํ‘œ์˜ Top-K๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ด ๋•Œ์—๋„ NeuMF๊ฐ€ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ž…๋‹ˆ๋‹ค.

4.3 Log Loss with Negative Sampling (RQ2)

  • Iteration์— ๋”ฐ๋ฅธ ๊ฐ history์™€ negative sampling ratio์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ํ‰๊ฐ€ํ‘œ์ž…๋‹ˆ๋‹ค.

    • ์ƒ๋‹จ history ํ‘œ๋ฅผ ํ†ตํ•ด 'The above findins provide empirical evidence for the rationality and effectiveness of optimizing the log loss for learning from implicit data'. ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ •ํ™•ํ•œ ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ, ํ•™์Šต์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ loss๊ฐ€ ์ค„์–ด๋“ค๊ณ  ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋จ์œผ๋กœ์จ ์ œ์•ˆํ•œ NeuMF๊ฐ€ implicit data์— ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.(๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด loss๊ฐ€ ์ค„์–ด๋“ค์ง€๋„, ์„ฑ๋Šฅ์ด ์ข‹์•„์ง€์ง€๋„ ์•Š์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.)

    • pairwise objective function์€ positive์™€ negative๊ฐ€ 1๋Œ€1์˜ ์Œ์ด ์ด๋ค„์ ธ์•ผํ•˜๋Š” ๋ฐ˜๋ฉด์— pointwise loss์„ ํ†ตํ•ด ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , negative sampling์˜ ๋น„์œจ์„ ๋‹ค๋ฅด๊ฒŒ ํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

4.4 Is Deep Learning Helpful? (RQ3)

  • ์œ ์ €์™€ ์•„์ดํ…œ์˜ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•จ์— ์žˆ์–ด DNN์„ ์ ์šฉํ•ด๋ณธ ๊ฐ„๋‹จํ•œ ์—ฐ๊ตฌ์˜€์ง€๋งŒ, ์ถ”์ฒœ ๊ณผ์ œ์— ์žˆ์–ด DNN ๊ตฌ์กฐ๊ฐ€ ๊ต‰์žฅํžˆ ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ํ•ด๋‹น ์„ฑ๋Šฅ ํ‰๊ฐ€ํ‘œ๋Š” ๋งˆ์ง€๋ง‰ hidden layer์˜ capacity์ธ factor์™€ layer-depth์— ๋”ฐ๋ฅธ ๊ฐ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ, layer๊ฐ€ ๊นŠ์–ด์งˆ์ˆ˜๋ก ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ

0๊ฐœ์˜ ๋Œ“๊ธ€