TL;DR
- source : https://arxiv.org/pdf/1804.10862
- code : https://github.com/tebesu/CollaborativeMemoryNetwork/tree/master
- ์ผ๋ฐ์ ์ผ๋ก Collaborative Filtering๋ ํฌ๊ฒ ๋ ๊ฐ์ง
- Latent factor ๋ชจ๋ธ : MF๊ฐ์ ๊ฒ์ผ๋ก global ๊ตฌ์กฐ ์ ํ์ต
- Neighborhood ๊ธฐ๋ฐ ๋ชจ๋ธ : Local ๊ตฌ์กฐ ์ ํ์ต
- (SVD++๊ฐ์ด 2๊ฐ๋ฅผ ํฉ์น hybrid๋ ์์)
- Latent factor์ Neighborhood ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋ฅ๋ฌ๋์ผ๋ก ๊ฒฐํฉ
- Memory Network๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๋์ ํด์ ์ ์ฌํ user์ ๋ํ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌใ
- Contributions
- External memory์ neural attention์ ์ด์ฉํ Collaborative Memory Network (CMN) ๊ตฌ์กฐ ์ ์.
- attention ๋ฉ์ปค๋์ฆ์ด ์ด์ ์ ๋ณด์ ๋ํ nonlinearํ weight๋ฅผ adaptiveํ๊ฒ ํ์ต
- output module์ ์ด์์ ๋ํ ์ ๋ณด์ user, item ์ ๋ณด๋ฅผ nonlinearํ๊ฒ ๊ฒฐํฉ
- CMN๊ณผ ๋ํ์ ์ธ 2๊ฐ์ CF ๋ชจ๋ธ (latent factor, neighborhood-based)๊ณผ์ ๊ด๋ จ์ฑ ๋ฐํ๋
Memory Augmented Neural Networks
- ์ ์ : ์ผ๋ฐ์ ์ธ ์ ๊ฒฝ๋ง์ ์ธ๋ถ ๋ฉ๋ชจ๋ฆฌ ์ปดํฌ๋ํธ ์ถ๊ฐํด์ ๋ชจ๋ธ์ ๋ฅ๋ ฅ ํฅ์์ํจ ๊ตฌ์กฐ
- ์ฃผ์ ๊ตฌ์ฑ ์์
- ์ธ๋ถ ๋ฉ๋ชจ๋ฆฌ : ํ๋ ฌ ํํ๋ก ์ง์ ์ ์ฅํ๋ ์ญํ
- ์ปจํธ๋กค๋ฌ : ์ผ๋ฐ์ ์ผ๋ก NN์ ์ด์ฉํด ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์ฐ์ฐ ์ํ
- Associative Addressing ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๋ฐฉ์ : ์ฃผ์ด์ง ์ฟผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๋ด์ฉ ๊ฐ์ ์ ์ฌ์ฑ์ ๊ณ์ฐํด์ ๋ฉ๋ชจ๋ฆฌ ์์น ์ฐพ๋ ๋ฐฉ์
- inner product + softmax ๋ฅผ ํตํด ๊ณ์ฐ
- attention ๋ฉ์ปค๋์ฆ๊ณผ ์ ์ฌํด์ ์ค์ํ๋ค๊ณ ์๊ฐ๋๋ ๋ฉ๋ชจ๋ฆฌ ์์น์ ๋ ๋์ ๊ฐ์ค์น ๋ถ์ฌ
Collaborative Memory Network (CMN)
์ธ ๊ฐ์ง์ ๋ฉ๋ชจ๋ฆฌ (Input)
- User specific memory : ๊ฐ ์ฌ์ฉ์์ ๊ณ ์ ํ ์ ํธ๋ ์ ์ฅ
- ์ด ๋ช ์ User๊ฐ ์์ ๋, ๊ฐ User์ ๋ํ ์๋ฒ ๋ฉ ํ๋ ฌ
- Item specific memory : ๊ฐ ์์ดํ
์ ๊ณ ์ ํ ์์ฑ ์ ์ฅ
- ์ด ๊ฐ์ Item์ด ์์ ๋, ๊ฐ Item ๋ํ ์๋ฒ ๋ฉ ํ๋ ฌ
- collective neighborhood state : ํน์ ์์ดํ
์ ๋ํด ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ฌ์ฉ์๋ค(์ด์)์ ์งํฉ์ ์ธ ์ ํธ๋ ์ ์ฅ
- row : ์ฌ์ฉ์ v๊ฐ ๊ณผ๊ฑฐ์ ์๋นํ ์์ดํ ยท์ปจํ ์คํธ๋ฅผ ์์ฝํ representation
- attention ์ํํ ๋, value๋ก ๊ฐ์ ธ์์ neighborhood ์งํฉ ์ ๋ณด ์ ๋ฌ
Neighborhood Attention
๊ทธ๋์ ์ฌ๊ธฐ์๋ ์ด๋ป๊ฒ ์ด์์ ๋ํ ์ ๋ณด๋ฅผ ํ์ฉํ๋๊ฑฐ์ง?
- ํน์ User์ Item ์กฐํฉ ์ ๋ํด์ ๋จผ์ item ์ ์ํธ์์ฉํ user ๋ฆฌ์คํธ ํ์ธ (๋ณธ์ธ ํฌํจ)
- ํฌ๊ธฐ์ user preference vector ์์ฑ
- ๊ฐ ์ฐจ์์ ์๋ฏธ : User ์ ์ด์์ธ ์์ ๊ด๊ณ, ์๋์ ์ค์๋
- ์ ๊ฐ ์ฐจ์์ softmax ์์์ ๋ฅผ weighted sumํด์ ์ต์ข neighborhood representation ์์ฑ
CMN์ ์ ์ ๋ค ๊ฐ์ ์ ์ฌ์ ์ ์ก์๋ด๊ณ target item์ ๊ธฐ๋ฐํด์ ๊ฐ ์ด์๋ค์ ๊ธฐ์ฌ๋๋ฅผ ๋์ ์ผ๋ก ํ ๋น
- : โํ์ฌ ์ ๊ด์ ์์ ์ด๋ค ์ด์์ด ์ค์ํ ๊นโ๋ฅผ ์ฐพ๋ Key
- : โ๊ฐ ์ด์์ด ์ค๋ ๊ธฐ๊ฐ ์ถ์ ํด์จ ํน์ฑโ์ ๋ด์ Value
- : ๊ณผ๊ฑฐ ํ๋์ด ๋์ถ๋ ์ฅ๊ธฐ ํจํด ๋ฐ์
Output Module
๊ทธ๋์ ์ต์ข ์ ์ผ๋ก ์์ธก์ ์ด๋ป๊ฒ ํ๋๊ฑฐ์ง?
- ์ผ์ชฝ ๋ถ๋ถ์์๋ neighborhood attention ์งํํด์ ์ต์ข ์ ์ผ๋ก ๋์ด
- ์ค๋ฅธ์ชฝ ๋ถ๋ถ์์๋ ๋ด์ + MLP
- ์ต์ข ์ ์ผ๋ก concatํ๊ณ MLP, ReLU ํ์์ ์์ธก
- ์ฅ์
- ํน์ user์ ๋ํ feedback์ด sparseํ ๋, ์ด์๋ ํ์ฉํ๊ธฐ ๋๋ฌธ์ ์ ๋ฆฌ
- neural attention ๋ฉ์ปค๋์ฆ์ด ์์์ ํน์ item์ ๋ํ ๊ฐ user์ ๊ธฐ์ฌ๋๋ฅผ ์กฐ์
- local neighborhood์ global latent factor ๊ฐ์ nonlinear ์ํธ์์ฉ ํ์ต
Neighborhood attention์ผ๋ก ์ป์ ์ด์ ๊ธฐ๋ฐ ์ ๋ณด + User, Item์ ์๋ฒ ๋ฉ์ ์ด์ฉํ Latent factor ๊ธฐ๋ฐ ์ ๋ณด nonlinearํ๊ฒ ๊ฒฐํฉ
Loss : BPR optimization criterion ์ฌ์ฉ1
- ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ํธ์์ฉํ ์์ดํ ์ ๋ณด์ง ์์ ์์ดํ ๋ณด๋ค ์ ํธ๋๋คโ๋ผ๋ pairwise ์์ ๊ฐ์ ์ ์ต๋๋ก ๋ง์กฑํ๋๋ก ํ๋ผ๋ฏธํฐ ฮ๋ฅผ ํ์ต
- ์ด๊ณ ๊ธฐ๋ณธ๊ฐ์ผ๋ก L2 regularization
- ํน์ง
- AUC(Area Under ROC Curve) ์ ๋ฐ์ : ์ ๋ชฉ์ ์์ ๊ธฐ๋ AUC๋ฅผ ์ง์ ์ต๋ํํ๋ log likelihood
- Smooth & Differentiable: sigmoid ๊ธฐ๋ฐ์ด๋ผ hingeยทranking loss ๋๋น ๋ถ๋๋ฝ๊ณ ๋ฏธ๋ถ ๊ฐ๋ฅ
- Implicit feedback ์นํ์ : explicit feedback์ด ์์ด๋ ํ์ต ๊ฐ๋ฅ
- Pairwise Sampling ํ์: ํ์ต ๋ฏธ๋๋ฐฐ์น๋ง๋ค ์ผ์ค์์ ๋ฌด์์๋ก ์ํ๋งํ์ฌ SGD ์ ๋ฐ์ดํธ
Multiple Hops
์ข ๋ memory network ์ฑ๋ฅ ๊ฐ์ ์ ์ํด ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต
- ์ฒซ๋ฒ์งธ attention์ ๊ฒฐ๊ณผ์ธ ๊ณผ ์ MLP๋ก ๊ฒฐํฉํด์ ๋ค์ hop์ input ์์ฑ
๋ค๋ฅธ ๋ชจ๋ธ๊ณผ์ ๊ด๊ณ
-
Latent Factor Model
- rating ํ๋ ฌ์ ์ ์ฐจ์ ํ๋ ฌ์ ๊ณฑ์ผ๋ก ํํํด์ ์จ๊ฒจ์ง ๊ด๊ณ ๋ฐ๊ฒฌ
- CMN์์ ์ด์ ์ ๋ณด ์ฒ๋ฆฌํ๋ ๋ถ๋ถ๊ณผ MLP, activation function ๋จ์ํ ํ๋ฉด GMF์ ๋์ผ
-
Neighborhood-based Similarity Model
- ๋ชฉ์ : user-user similarity ํ๋ ฌ ์ถ์
- memory module์ด similarity ํ๋ ฌ ์ญํ ์ํ
-
Hybrid Model
- SVD ++ ๋ 1, 2๋ฅผ ํฉ์น ๋ฐฉ์์ผ๋ก ๋์
- MLP๋ activation function๋ง ์ ์ฒ๋ฆฌํ๋ฉด ๋์ผ