๐ ๋ ผ๋ฌธ ๋งํฌ: https://arxiv.org/pdf/1708.05031.pdf
He, X., Liao, L., Zhang, H., Nie, L., Hu, X., & Chua, T. S. (2017, April). Neural collaborative filtering.
In Proceedings of the 26th international conference on world wide web (pp. 173-182).
1. INTRODUCTION
๊ธฐ์กด ์ถ์ฒ์์คํ ์ฐ๊ตฌ๋ Collaborative Filtering์ ๊ธฐ๋ฐํ Matrix Factorization ๊ด๋ จ ์ฐ๊ตฌ๊ฐ ์ฃผ๋ฅ์๋ค. ๊ทธ๋ฌ๋ ๋จ์ inner-product๋ explicit ๋ฐ์ดํฐ์ linearํ ๊ด๊ณ๋ง์ ํํํ๋ค๋ ํ๊ณ๊ฐ ์๋ค. ๋ฅ๋ฌ๋์ ์ถ์ฒ์์คํ ์ ์ ์ฉํ ์ฐ๊ตฌ๋ค์ด ์์์ง๋ง implicitํ user interaction data์ ๋ณต์กํ latent feature๋ฅผ ๋ฐ์ํ๊ธฐ์๋ ํ๊ณ๊ฐ ์์๋ค.
๋ณธ ๋ ผ๋ฌธ์ user-item ๊ฐ์ implicit ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ user preference๋ฅผ ๋ ์ ํํํ๊ณ ์ ํ๋ค.
์ด๋ฅผ ์ํด Matrix Factorization ๊ธฐ๋ฐ GMF ๋ชจ๋ธ๊ณผ Neural Network ๊ธฐ๋ฐ MLP ๋ชจ๋ธ์ ๊ฒฐํฉํ NCF ํ๋ ์์ํฌ๋ฅผ ์ ์ํ๋ค.
2. PRELIMINARIES
2.1 Learning from implicit data
์ถ์ฒ ์์คํ ์์ user์ Item์ ๊ด๊ณ๋ Explicit / Implitcitํ ๋ฐ์ดํฐ๋ก ํํ๋๋ค. Explicit data๋ ํ์ , ์ข์์์ ๊ฐ์ด ๊ณ ๊ฐ์ด ์์ดํ ๋ํด ์ง์ ์ ํธ๋๋ฅผ ํ๊ฐํ ๋ช ์์ ๋ฐ์ดํฐ์ด๋ค. ๋ฐ๋ฉด Implicit data๋ ์์ฒญ ์๊ฐ, ๋ก๊ทธ ๊ธฐ๋ก๊ณผ ๊ฐ์ด ๋ฌต์์ ์ผ๋ก ๋ํ๋๋ ๋ฐ์ดํฐ์ด๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ user์ item๊ฐ์ implicit data๋ฅผ ํตํด latent feature๋ฅผ ํ์ตํ๊ณ ์ ํ๋ค. ์ด๋ฅผ ์ํด ํ์ ์ฌ๋ถ๋ฅผ 0 or 1๋ก ํํํ๋ค.
2.2 Matrix Factorization
์ ํ ์ฐ๊ตฌ๋ก MF์ ๊ดํ ์ง์์ด ํ์ํ๋ค. ์๋๋ 2009๋ ์ ๋ฐํ๋ Netflix Prize MF๋ ผ๋ฌธ ๋งํฌ์ด๋ค.
- Matrix Factorization Techniques for Recommender Systems (2009)
- ๋ ผ๋ฌธ ๋งํฌ: https://datajobs.com/data-science-repo/Recommender-Systems-%5BNetflix%5D.pdf
3. NEURAL COLLABORATIVE FILTERING
๋ ผ๋ฌธ์์ ์ ์ํ๋ new neural matrix factorization model์ MF์ MLP์ ์์๋ธ์ด๋ค.
๋ฐ๋ผ์ MF ์ linearity์ MLP์ non-linearity์ ์ฅ์ ์ ๋์์ ํ์ฉํ ์ ์๋ค.
- 3.1 General Framework
์ ์ํ๋ ํ๋ ์์ํฌ๋ ์ธํ์ผ๋ก User์ item์ binary Identity ๋ง์ one-hot encodingํ sparse vector๋ก ํ์ฉํ๋ค. ๊ฐ input layer๋ embedding layer๋ฅผ ํต๊ณผํ์ฌ dense vector๋ก ์๋ฒ ๋ฉ๋๋ค. ์ดํ ๋ณธ ๋ ผ๋ฌธ์์ ๋ช ๋ช ํ neural collaborative filtering layers๋ฅผ ์ง๋ ์ต์ข prediction scores๋ฅผ ๋์ถํ๋ค.
NCF์์ multi-layer-representation์ ์ ์ฉํ๊ธฐ ์ํ ๋ชจ๋ธ ๊ทธ๋ฆผ์ ์์ ๊ฐ๋ค. ๋ชจ๋ธ์ user-item interaction์ธ $y_{ui}$๋ฅผ ์์ธกํ๊ธฐ ์ํด ๊ฐ layer์ ์์ํ์ด ๋ค์ layer์ ์ธํ์ผ๋ก ํ์ฉ๋๋ค. User์ item์ ์ํซ ์ธ์ฝ๋ฉ ํ์ฌ ์ธํ ๋ฐ์ดํฐ๋ก ํ์ฉํ๋ค.
์ธํ ๋ฐ์ดํฐ๋ ์๋ฒ ๋ฉ ๋ ์ด์ด์ fully connected ๋ ์ด์ด๋ฅผ ๊ฑฐ์น๊ฒ ๋๋ค. ๊ฐ neural CF layer๋ ํน์ ํ latent structures๋ฅผ ๋ฐ๊ฒฌํ๊ธฐ ์ํด ์ปค์คํฐ๋ง์ด์ง ํ ์ ์๋ค. NCF์ prediction model์ fomulation์ ๋ค์๊ณผ ๊ฐ๋ค.
$$ \hat{y}_{ui} = f(P^T v^U_{u}, Q^T v^I_{i} |P, Q, \Theta_{f}) $$
$P \in \mathbb{R}^{M \times k}, Q \in \mathbb{R}^{N \times k}$ ๋ ๊ฐ๊ฐ user์ item์ latent fator matrix๋ฅผ ์๋ฏธํ๋ค. $\Theta_{f} $๋ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ์ด๋ค.
$$ f(P^T v^U_{u}, Q^T v^I_{i}) = \phi_{out}(\phi_{X}(...{\phi_{2}(\phi_{1}(P^T v^U_{u}, Q^T v^I_{i}))...})) $$
$\phi_{out}, \phi_{x}$๋ ๊ฐ๊ฐ output layer, x-th CF layer์ mapping function์ ์๋ฏธํ๋ค.
- 3.1.1 Learning NCF
๋ชจ๋ธ์ด ํ์ตํ๋ objective function์ ์๋์ ๊ฐ๋ค. NCF๋ ์๋ ์์ ์ต์ํ ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ ์งํํ๋ฉฐ SGD ๊ธฐ๋ฒ์ ํ์ฉํ๋ค. ๋ชฉ์ ํจ์๋ binary cross-entropy log loss ์๊ณผ ๊ฐ์ผ๋ฉฐ ํ์ต์๋ ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง($y^-$)์ ์ ์ฉํ ๊ฒ์ ์ ์ ์๋ค.
$$ L = - \sum_{(u,i)\in y}{\log{\hat{y_{ui}}}} - \sum_{(u,j)\in y^-}{\log({1 - \hat{y_{ui}}}}) = - \sum_{(u,i)\in y\cup y^-}{y_{ui}\log{\hat{y_{ui}}}} + (1-y_{ui})\log(1-\hat{y_{ui}}) $$
- 3.2 Generalized Matrix Factorization (GMF)
๋ณธ ๋ ผ๋ฌธ์์ ํฅ๋ฏธ๋กญ๊ฒ ์ฝ์ ๋ถ๋ถ์ด๋ค. ์ ์๋ค์ MF๋ฅผ ์ NCF ๋ชจ๋ธ์ special case๋ผ๊ณ ๋งํ๋ค. User latent vector $p_{u}$๋ฅผ $P^T v^U_{u}$๋ก ํํํ๊ณ Item latent vector ์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํํํ๋ค. ๋ฐ๋ผ์ first neural CF layer๋ ๋ค์๊ณผ ๊ฐ๋ค. ๋ ๊ฐ์ element-wise product๋ฅผ ์งํํ๋ค.
$$ \phi_{1}({p_{u}, q_{i}}) = p_{u} \odot q_{i} $$
Output layer ์์ ์๋์ ๊ฐ๋ค.
$$ \hat{y_{ui}} = a_{out}(h^T(p_{u} \odot q_{i}) $$
$ a_{out}$์ activation function, $h$๋ weight๋ฅผ ์๋ฏธํ๋ค. ์ด๋ $a_{out}$์ผ๋ก identity function, $h$๋ฅผ uniform vector of 1์ด๋ผ๋ฉด ์ ์์ ์ ํ์ด MF๋ชจ๋ธ๋ก ํํ๋๋ค. ๋ณธ ์ฐ๊ตฌ์์๋ activation์ผ๋ก sigmoid๋ฅผ ์ฌ์ฉํ์ฌ non_linearํ ํํ์ด ๊ฐ๋ฅํ๊ฒ ํ๋ค. ์ด ๋ถ๋ถ์ GMF๋ผ๊ณ ๋ช ๋ช ํ๊ณ ์๋ค.
- 3.3 Multi-Layer Perceptron (MLP)
MLP๋ user์ item feature๋ฅผ two path๋ก concatenationํ๋ค. ๊ทธ๋ฌ๋ ๋จ์ concat์ latent feature์ interaction์ ์ถฉ๋ถํ ๋ฐ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ hidden layer๋ฅผ ํตํด ๋ชจ๋ธ์ ๋์ ์ ์ฐ์ฑ๊ณผ ๋น์ ํ์ฑ์ ๋ถ์ฌํ๋ค. ์๋ ์๊ณผ ๊ฐ์ด MLP๋ layer ์๋งํผ activation ํจ์๋ฅผ ํต๊ณผ์ํจ๋ค. ์์์ $W_{x}$๋ ๊ฐ์ค์น ๋งคํธ๋ฆญ์ค, $b_{x}$๋ bias, $a_{x}$๋ ํ์ฑ ํจ์๋ฅผ ๋ปํ๊ณ ReLU๋ฅผ ์ฌ์ฉํ์๋ค. ์์ ์ผ๋ฐ์ ์ธ ๋ฅ๋ฌ๋์ MLP๊ตฌ์กฐ์ ๊ฐ๋ค.
$$ z_{1} = \phi(p_{u}, q_{i}) = \begin{bmatrix}p_{u} \\ q_{i} \end{bmatrix} $$
$$ \phi_{L}(z_{L-1}) = a_{L}(W^T_{L}z_{L-1} + b_{2}) $$
$$ \hat{y_{ui}} = \sigma (h^T\phi_{L}(z_{L-1})) $$
- 3.4 Fusion of GMF and MLP
์ต์ข ์ ์ผ๋ก ์ ์ํ๋ NeuMF ๋ชจ๋ธ์ด๋ค. ์์ ์ธ๊ธํ ๊ฒ๊ณผ ๊ฐ์ด GMF์ MLP๋ฅผ ํฉ์น ๋ชจ๋ธ์ด๋ค. ์ด๋ฌํ ์์๋ธ ๋ชจ๋ธ์ ํตํด linearity์ non-linearity์ ์ฅ์ ์ ๋์์ ํ์ฉํ ์ ์๋ค. ๋ณธ ์ฐ๊ตฌ์์๋ input ๋ฐ์ดํฐ๋ก user์ item ์ ํซ ์ธ์ฝ๋ฉ ๋ฒกํฐ๋ฅผ ์๋ฒ ๋ฉ layer์ ํต๊ณผ์ํจ ํ ์ฌ์ฉํ๋ค. ์ด ๋ ๋ ๋ชจ๋ธ์ด ๊ฐ์ embedding layer๋ฅผ shareํ ์๋ ์์ง๋ง, ๋ ์ฅ์ ์ ๋์์ ๊ณ ๋ คํ๊ธฐ ์ํด ์๋ฒ ๋ฉ ์ญ์ ๊ฐ๊ฐ ์งํํ๋ค. ์๋๋ ์ต์ข ๋ชจ๋ธ์ ๊ตฌ์กฐ์ ์์ด๋ค.
User์ Item ์ํซ ์ธ์ฝ๋ฉ ๋ฒกํฐ๋ฅผ GMF, MLP ๊ฐ๊ฐ ์๋ฒ ๋ฉ์ ์ํจ ํ ๊ฐ๊ฐ Layer๋ค์ ํต๊ณผํ๋ฉฐ ํ์ต์ ์งํํ๋ค. ์ดํ ์ต์ข ์ ์ผ๋ก ๋ ๋ฒกํฐ๋ฅผ concatํ ํ์ NeuMF Layer๋ฅผ ํต๊ณผํ์ฌ ์ต์ข $\hat{y_{ui}}$๋ฅผ ์์ธกํ๊ณ Log loss function์ ํตํด Training์ ์งํํ๋ค. ์ด๋ ํจ์จ์ ์ธ ํ์ต์ ์ํด (Local minimum์ ๋น ์ง์ง ์๊ธฐ ์ํด) GMF, MLP ๊ฐ๊ฐ pre-trained์ผ๋ก ํ์ต๋ ๋ ๋ฒกํฐ๋ฅผ concatํ์ฌ NeuMF Layer๋ฅผ ํ์ตํ๋ค. pretraining์ Adam, NeuMF๋ SGD ์ตํฐ๋ง์ด์ ๋ฅผ ์ฌ์ฉํ๋ค.
$$\phi^{GMF} = p^G_{u} \odot q^G_{i},$$
$$\phi^{MLP} = a_{L}(W^T_{L}(a_{L-1}(...a_2(W^T_2 \begin{bmatrix}p^M_u \\q^M_i \end{bmatrix} + b_2)...))+b_L),$$
$$\hat{y_{ui}} = \sigma(h^T\begin{bmatrix}\phi^{GMF} \\\phi^{MLP} \end{bmatrix}),$$
- $p^G_{u}$: User embedding for GMF
- $p^M_{u}$: User embedding for MLP
- $q^G_{i}$: Item embedding for GMF
- $q^M_{i}$: Item embedding for MLP
4. EXPERIMENTS
๋ ผ๋ฌธ์์ ํด๊ฒฐํ๊ณ ์ ํ๋ research question์ ์๋์ ๊ฐ๋ค.
- RQ1. Do our proposed NCF methods outperform the state-of-the-art implicit collaborative โltering methods?
- RQ2. How does our proposed optimization framework (log loss with negative sampling) work for the recommen dation task?
- RQ3. Are deeper layers of hidden units helpful for learning from user{item interaction data?
- ๋ฐ์ดํฐ ์ ์ ๋ฌด๋น๋ ์ฆ ๋ฐ์ดํฐ์ ํํฐ๋ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค.
์คํ์ ํตํด 3๊ฐ์ง RQ๋ค์ ํด๊ฒฐํ์๊ณ , ์ฑ๋ฅ ์ญ์ SOTA๋ฅผ ๋ฌ์ฑํ๋ค. ์คํ ๊ฒฐ๊ณผ์ ๊ฒฐ๋ก ์ ์๋ตํ๊ฒ ๋ค.
Review
๊ธฐ์กด MF๊ธฐ๋ฐ์ ์ถ์ฒ์์คํ ์ ๊ฐ์ ํ์ฌ ๋ฅ๋ฌ๋์ ์ ์ฉํ ํ๋ ์ ์ํฌ๋ฅผ ์ ์ํ ๋ ผ๋ฌธ์ด๋ค. non-linearity์ linearity๋ฅผ ์์๋ธ์ ํ์ฉํ์ฌ ๋์์ ํ์ตํ๋ ์ ์ด ํฅ๋ฏธ๋ก์ ๋ค. ๋ฅ๋ฌ๋ ์ถ์ฒ์์คํ ๋ถ์ผ์์ ๋ผ๋๊ฐ ๋๋ ๋ ผ๋ฌธ์ด๊ณ , ์ถํ์ NCF ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ ์๋ ผ๋ฌธ๋ ์จ๋ณด๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ๋ ผ๋ฌธ์์๋ ์ ์ , ์์ดํ ์ ์์ด๋ดํฐํฐ ๋ฒกํฐ๋ง์ ์ธํ์ผ๋ก ์ฌ์ฉํ์ง๋ง, ์ด๋ฅผ ๊ฐ์ ํ์ฌ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์๋ฒ ๋ฉ ํ ์ ์์ ๊ฒ ๊ฐ๋ค. ์ดํ์๋ NCF ์ฝ๋๋ฅผ ํฌ์คํ ํ ์์ ์ด๋ค.