Collaborative Filltering(์ฌ์ฉ์์ ์ํ feature ์ฌ์ด์ ์ํธ์์ฉ)์ key factor๋ฅผ ๋ชจ๋ธ๋ง ํ ๋, Matrix Factorization์ ์ฌ์ฉํ๋ฉฐ ์ฌ์ฉ์์ ์ํ์ ์ ์ฌ feature์ ๋ด์ ์ ์ ์ฉํ๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ Neural Net ๊ธฐ๋ฐ์ architecture์ธ NCF(Neural Collaborative Filtering)์ ์ ์ํ๋ค.
๐ NCF๋
- ์ผ๋ฐ์ ์ด๊ณ framework์์์ MF๋ฅผ ์ผ๋ฐํ ํ ์ ์๋ค.
- user-item interaction function์ ํ์ตํ๊ธฐ ์ํด multi-layer perceptron์ ์ ์ํ๋ฉด์ ๋น์ ํ์ ์ธ ๋ชจ๋ธ๋ง์ ๊ฐํํ๋ค.
๊ฐ์ธ ์ถ์ฒ์์คํ ์ ํต์ฌ์ ๊ทธ๋ค์ ์ด์ interactions(ratings and clicks)์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ฌ์ฉ์์ ์ ํธ ์ํ์ ๋ชจ๋ธ๋ง ํ๋ ๊ฒ์ด๋ค.
MF๋ CF๋ฐฉ์ ์ค ๊ฐ์ฅ ์ ๋ช
ํ ๋ฐฉ๋ฒ์ผ๋ก latent features vector
์ ์ด์ฉํด์ ์ฌ์ฉ์์ ์ํ์ latent space๋ก ํฌ์์ํจ๋ค. ์ด ๋ ์ฌ์ฉ์์ ์ํ์ ์ํธ์์ฉ์ latent vector์ ๋ด์ ์ ํตํด ๊ตฌํด์ง๋ค. MF๋ CF์์ ํจ๊ณผ์ ์ด๊ธฐ๋ ํ๋ simple choice of the interaction function์ผ๋ก ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
๋ด์ (inner product)์ ์ ํ์ (linearly)
์ผ๋ก latent vector๋ฅผ ๊ฒฐํฉํ๊ธฐ ๋๋ฌธ์, ๋ณต์กํ ๊ตฌ์กฐ์ user interaction data์ ๋ํด์๋ ํจ๊ณผ์ ์ด์ง ๋ชปํ๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ ๋ณด์ํ๊ธฐ ์ํด ๋ณธ ๋
ผ๋ฌธ์์๋ deep neural networks(DNNs)๋ฅผ ์ฌ์ฉํ๋ค.
์ต๊ทผ DNNs๋ฅผ recommendation task์ ๋ง์ด ์ ์ฉํ์๊ณ , ์ ๋ขฐ์ฑ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์คฌ์ง๋ง ๋๋ถ๋ถ auxiliary information
์ DNNs์ ์ฌ์ฉํ๋ค. ๊ฒฐ๊ตญ user์ item latent feature์ ํฉ์น๊ธฐ ์ํด ์ฌ์ ํ MF๋ฅผ ์ฌ์ฉํ๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ implicit feedback์ ์ด์ ์ ๋์๋ค.
โ Implicit feedback์ด๋?
ํ๋์ ํตํด ๊ฐ์ ์ ์ผ๋ก ์ฌ์ฉ์์ ์ ํธ๋๋ฅผ ๋ฐ์ํ ์ ์๋ค.
- ๋น๋์ค ์์ฒญ
- ์ํ ๊ตฌ์
- ์ํ์ ํด๋ฆญ
explicit feedback๊ณผ ๋น๊ตํ์ ๋ implicit feedback์
์๋์ ์ผ๋ก ์ถ์
๋ ์ ์์ผ๋ฉฐ, ๋น๊ต์ ์์งํ๊ธฐ ์ฝ๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์์ ๋ง์กฑ๋๊ฐ ๊ด์ฐฐ๋์ง ์๊ณ ,negative feedback
์ natural scarcity๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํจ์ ์์ด ์ด๋ ค์์ด ์๋ค.
๋ณธ ๋ ผ๋ฌธ์ ์ฃผ์ contribution์ ๋ค์๊ณผ ๊ฐ๋ค.
๋จผ์ implicit feedback ๊ธฐ๋ฐ์ CF์ ๋ด์ ์ ์ด์ฉํ๋ MF๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ํ๊ณ๊ฐ ์์์ ๋ณด์ธ๋ค.
user-item interaction matrix ๋ก ๋ํ๋ธ๋ค. ์ด๋ matrix์ ์์๋ ๋ค์๊ณผ ๊ฐ์ userโs implicit feedback์ผ๋ก ๊ตฌ์ฑ๋๋ค.
๐๐ป ์ 1 ๊ฐ์ user ๊ณผ item ์ฌ์ด์ ์ํธ์์ฉ์ด ์์์ ๋ปํ๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๊ฐ ์ ์ค์ ๋ก ์ข์ํ๋ค๋ ์๋ฏธ๋ ์๋๋ค.
์ ์ฌํ๊ฒ, ์ 0 ๊ฐ์ ๊ฐ ์ ์ค์ ๋ก ์ซ์ดํ๋ค๋ ์๋ฏธ๊ฐ ์๋๋ค.
โ ์ฌ์ฉ์๊ฐ ์ํ์ ๋ชจ๋ฅผ ๊ฐ๋ฅ์ฑ์ด ์๋ค!
์ด๋ ๊ฒ ์ฌ์ฉ์์ ์ ํธ๋์ ๋ํ noisy signals์ด ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ implict data๋ฅผ ํ์ตํ๋๋ฐ ์ด๋ ค์์ด ์๋ค.
implicit feedbaack ์ถ์ฒ๋ฌธ์ ๋ ๊ฐ 1์ด ๋ ํ๋ฅ ์ ์์ธกํ๋ ๋ฌธ์ ๋ก ๊ท๊ฒฐ๋๋ฉฐ ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ํํ๋ ์ ์๋ค.
Objective function๋ ํ์ต์ ํตํด ์ต์ ํ์ํค๋ ค๋ ํจ์์ด๋ค.
๋ ์ข ๋ฅ์ Objective function์ด ํด๋น ๋ถ์ผ์์ ๊ฐ์ฅ ํํ๊ฒ ์ฌ์ฉ๋๋ค.
1๏ธโฃ pointwise loss
์์ธก๊ฐ๊ณผ ์ค์ ๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ต์ํ ์ํค๋ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋ฉฐ, ๋ณดํต ํ๊ท๋ฌธ์ ์์ ๋ง์ด ์ฌ์ฉ๋๋ค.
2๏ธโฃ pairwise loss
๊ด์ฐฐ๋ entries๊ฐ ๊ด์ฐฐ๋์ง ์์ entries๋ณด๋ค ์์๊ฐ ๋์ ๊ฒ์ด๋ผ๋ ์์ด๋์ด๋ฅผ ์ฐจ์ฉ
๊ด์ธก๊ฐ()๊ณผ ๊ด์ธก๋์ง ์์ ๊ฐ() ์ฌ์ด์ ๋ง์ง์ ์ต๋ํ ์ํค๋ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋ค.
๋ณธ ๋๋ฌธ์ ๋ฐ๋ฅด๋ฉด NCF๋ interaction function ์ neural networks๋ฅผ ์ฌ์ฉํ ๊ฒ์ผ๋ก, ์ด ๊ฒฝ์ฐ ์์ฐ์ค๋ฝ๊ฒ pointwise loss์ pairwise loss ๋ชจ๋๋ฅผ ์ด์ฉํ ์ ์๋ค.
MF๋ ์ ์ ๋ด์ ์ ํตํด interaction ๋ฅผ ์์ธกํ๋ฉฐ ์์ ์๋์ ๊ฐ๋ค.
์ด ๋, ์ ๋ ์ฌ์ฉ์ ์ ์ํ ์ ์ ์ฌ ๋ฒกํฐ๋ฅผ ์๋ฏธํ๋ค.
๐ก MF์ ํน์ง
- ์ฌ์ฉ์์ ์ํ์ latent factors์ ์๋ฐฉํฅ interaction์ ๋ชจ๋ธ๋งํ๋ค.
- ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ด๊ณ ๊ฐ์ ๊ฐ์ค์น๋ก ์ ํ ๊ฒฐํฉ์ ํ๋ค.
- latent factor์ linear model๋ก ์ฌ๊ฒจ์ง๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ ์ถ์ฒ ์์คํ
์์์ MF์ ํ๊ณ๋ฅผ ์ง์ ํ๋ค. MF๋ ์ฌ์ฉ์์ ์ํ์ ๋์ผํ latent space์ ๋งคํํ๊ณ ์ด๋ฅผ ๋ด์ ์ผ๋ก ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค.
1๏ธโฃ ex) (a) user-item matrix์์ ์ ์ด์ฉํด์ ์ ์ฌ๋๋ฅผ ๊ตฌํด๋ณด์
โถ๏ธย ๋ user ์ ์ ์ ์ฌ๋๋ฅผ ๋ํ๋ธ๋ค.
์ด๋ฅผ (b)์ ๊ฐ์ด ๋ฅผ ์ด์ฉํด latent space์์ ๊ธฐํํ์ ์ผ๋ก ํํํ๋ค๋ฉด user 2์ user 3์ด ๊ฐ์ฅ ๊ฐ๊น๊ณ , user 1๊ณผ user 3์ด ๊ฐ์ฅ ๊ฐ๊น์ด ์์นํจ์ ๋ณผ ์ ์๋ค.
2๏ธโฃ ex) ์์ 1์ ์ ์ถ๊ฐํด ์ ์ฌ๋๋ฅผ ๊ตฌํด๋ณด์
โถ๏ธย ๋ user ์ ์ ์ ์ฌ๋๋ฅผ ๋ํ๋ธ๋ค.
์ด๋ user 4์ user 1์ด ๊ฐ์ฅ ์ ์ฌํ๊ณ , ๋ค์์ผ๋ก user 3, user 2๊ฐ ์ ์ฌํจ์ ์๋ฏธํ๋ค. ํ์ง๋ง ์ด๋ฅผ (b)์์ ํํํ๊ธฐ ์ํ ๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ฐ๋ฉด์ ๋ณด๋ค ์ ๋ ๊ฐ๊น์ด ๋ฒกํฐ๋ฅผ ์ฐพ์ ์ ์๋ค.
์ด๋ MF๊ฐ ๋ณต์กํ user-item interaction์ ์ ์ฐจ์์ latent space๋ก ํฌ์์ํค๋๋ฐ ํ๊ณ๊ฐ ์์์ ๋ณด์ฌ์ค๋ค. ๋๋ฌธ์ ๋ณธ ๋ ผ๋ฌธ์์๋ DNNs์ ์ฌ์ฉํ interaction function์ ํ์ต์ํด์ผ๋ก์จ ์ด ํ๊ณ๋ฅผ ๋ค๋ฃจ๊ณ ์ ํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด user-item interaction ๋ฅผ ๋ชจ๋ธํํ๊ธฐ ์ํ multi-layer
๋ฅผ ์ ์ฉํ๋ค.
Input Layer
Embedding Layer
Neural CF Layer
Output Layer
score ๋ฅผ ์์ธกํ๋ค.
pointwise loss(์ ์ ์ฐจ์ด)๋ฅผ ์ต์ํํ๋ค.
NCF์ ์์ธก ๋ชจ๋ธ์ ์๋์ ๊ฐ๋ค.
, : latent factor matrix for users and items
: multi-layer neural network
๋ณธ ๋ ผ๋ฌธ์ implicit data์ ์ด์ง ์์ฑ์ ํน๋ณํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ pointwise NCF๋ฅผ ํ์ตํ๊ธฐ ์ํ ํ๋ฅ ๋ก ์ ์ ๊ทผ๋ฒ์ ์ ์ํ๋ค.
โถ๏ธ (6) likelihood function
โถ๏ธ (7) negative logarithm of the likelihood
(7)์์ objective function์ผ๋ก ์ฌ์ฉํ๋ฉฐ SGD๋ฅผ ์ด์ฉํด ๊ฐ์ด ์ต์ํ ๋๋ ์ต์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ๋๋ค.
์ด ๋ (7) ์์ binary cross-entropy loss (log loss)์ ์์๊ณผ ๋์ผํ๋ค. ์ฆ,ย NCF ๊ฒฐ๊ณผ๊ฐ์ ํ๋ฅ ์ ์ฒ๋ฆฌ๋ฅผ ์งํํจ์ผ๋ก์จ implicit feedback recommandation problem์ binary classification problem์ผ๋ก ๋ค๋ฃฐ ์ ์๋ค.
๋ณธ ์ฑํฐ์์๋ ์ด๋ป๊ฒ MF๊ฐ NCF์ ํน๋ณํ ์ผ์ด์ค๊ฐ ๋๋์ง ๋ณด์ฌ์ค๋ค.
mapping function of the first neural CF layer
output layer
๋ง์ฝ ๊ฐ identity function์ด๊ณ ๊ฐ ์ ํํ๋ผ๋ฉด ์์ ํ MF model์ด ๋๋ค.
๋ง์ฝ ๊ฐ non-linear function์ด๋ผ๋ฉด MF๋ฅผ non-linear setting์ผ๋ก ์ผ๋ฐํ ์ํฌ์ ์๋ค.
์ด๋, ๋ง์ฝ ๊ฐ sigmoid function ()์ด๊ณ , ๊ฐ ์ ํํ๋ฅผ ๋๊ณ ์๋ค๋ฉด ์ด๋ฅผ GMF(MF๋ฅผ ์ผ๋ฐํํ ๋ชจ๋ธ)์ด๋ผ๊ณ ํ๋ค. ์ด๋ ๋ ์์ log loss๋ก ๋ถํฐ ์ป์ด์จ data์ด๋ค.
NCF๋ input Layer๋ก item๊ณผ user 2๊ฐ์ง ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
๋ค๋ฅธ ๋ฅ๋ฌ๋ ๋ฌธ์ ์์์ ๋ฌ๋ฆฌ, item vector์ user vector๋ฅผ ๋จ์์ฐ๊ฒฐํ๋ ๊ฒ์ userโitem latent ์ํธ์์ฉ (latent ๊ตฌ์กฐ)์ ์ค๋ช ํ์ง ์์ผ๋ฏ๋ก CF๋ฅผ ๋ชจ๋ธ๋งํ๊ธฐ์ ๋ถ์ถฉ๋ถํ๋ค.
๋ฐ๋ผ์ย ๋ณธ ๋ ผ๋ฌธ์์๋ vector๋ฅผ ํฉ์น๋ ๊ตฌ๊ฐ์ hidden layer๋ฅผ ์ถ๊ฐํ์ฌ ์ฌ์ฉ์์ ์ํ๊ฐ์ latent feature์ฌ์ด์ ์ํธ์์ฉ์ ํ์ตํ๋ ํ์ค MLP ์ฌ์ฉ์ ์ ์ํ๋ค.
GMF๋ linearํ๊ณ fixedํ ํน์ง์ผ๋ก ์ธํด user ์ item๊ฐ์ ๋ณต์กํ ๊ด๊ณ๋ฅผ ํํํ์ง ๋ชปํ๋ ๋ฐ๋ฉด MLP๋ non-linearํ๊ณ flexible ํ๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ๋ณต์กํ ๊ด๊ณ๋ฅผ ํํํ ์ ์๋ค๊ณ ํ๋ค. ์ด์ ๋ฐ๋ฅด๋ฉด MLP๋ ์์ ๊ฐ์ด ํ๋ผ๋ฏธํฐ๋ผ์ด์ง ๋๋ค.
๋ณธ ๋ ผ๋ฌธ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด GMF์ MLP๋ฅผ ํตํฉํ ๋ชจ๋ธ(NeuMF)์ ์ ์ํ๋ค. ์ด๋ ๊ฐ์๊ฐ ๊ฐ์ง ์ฅ์ ์ ์ด๋ฆด ์ ์๋ ๋ฐ๋ฉด ๋จ์ ์ ์๋ก ๋ณด์ํ ์ ์๋ค๊ณ ํ๋ค.
๊ฐ์ฅ ํฐ ํน์ง์ GMF์ MLP๊ฐ ๊ฐ์ embedding layer๋ฅผ ๊ณต์ ํ๊ณ ๊ทธ๋ค์ interaction function์ ๊ฒฐ๊ณผ๋ฅผ ํฉ์น๋ค๋ ์ ์ด๋ค.
์์ ์์ one-layer MLP์ GMF๋ฅผ ํฉ์น ๋ชจ๋ธ์ด๋ค.
fused model์์ ๋ ์ ๋์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด GMF์ MLP๊ฐ separate embedding์ ํ์ตํ๋๋ก ํ๊ณ , ๋ง์ง๋ง hidden layer์์ concatenation์ ํจ์ผ๋ก์จ ๋ ๋ชจ๋ธ์ ๊ฒฐํฉํ๋ค.
๐ก ์์ ์๋์ ๊ฐ๋ค.
- ๋ GMF์ MLP์์์ ์ฌ์ฉ์ ์๋ฒ ๋ฉ์ด๋ค.
- ๋ GMF์ MLP์์์ ์ํ ์๋ฒ ๋ฉ์ด๋ค.
- ๋ฅผ ๊ตฌํ ๋๋, ๊ฐ ๋ชจ๋ธ์์ ๋์จ output์ธย ์ ๋ฅผ concatenationํ์ฌ ๋ก ๊ฐ์ค์น๋ฅผ ์ค ์ต์ข ๊ฐ์ ๊ตฌํ๊ฒ ๋๋ค.
GMF์ MLP์ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ NeuMF๋ฅผ ์ด๊ธฐํํ๋ค.
GMF์ MLP ๋งค๊ฐ๋ณ์๋ฅผ ๋ฌด์์๋ก ์ด๊ธฐํํ ์ํ์์ ํ์ต์ด ์์๋๋ฉฐ ์๋ ดํ ๋๊น์ง ์งํํ๋ค. GMF์ MLP ์ต์ ํ์๋ Adam(Adaptive Moment Estimation)์ ์ฌ์ฉํ๋ค.
์ฌ์ ํ์ต์ผ๋ก ์ป์ ๋งค๊ฐ ๋ณ์๋ก NeuMF ๋งค๊ฐ ๋ณ์๋ฅผ ์ด๊ธฐํํ๋ค.๊ฐ์ค์น ฮฑ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ๋ชจ๋ธ๋ฅผ ์ฐ๊ฒฐํ๋ค. NeuMF ์ต์ ํ์๋ vanilla SGD๋ฅผ ์ฌ์ฉํ๋ค