Neural Collaborative Filtering 리뷰

논문 링크 : https://arxiv.org/pdf/1708.05031.pdf
코드 링크 : https://github.com/hexiangnan/neural_collaborative_filtering

Absctract

해당 논문은 추천 시스템의 implicit 데이터를 다룬다. 기존 논문에서 Deep Neural Net 방식의 적용이 자연어 처리, 음성 인식등과 같이 메인 로직이 아닌 보조할 수 있는 로직에 국한되어 있다고 한다. 해당 논문에서는 Matrix Factorization의 두 행렬의 inner product 부분을 딥러닝 방식으로 교체한 모델을 설명하려는듯 하다.

2. PRELIMINARIES

2.1 Learning from Implicit Data

M,N은 각각 유저, 아이템의 갯수 이다.
Yui는 유저 u, 아이템 i간의 상호작용이 발견되면 1이고 아니면 0이다.

2.2 Matrix Factorization

일반적인 MF 수식을 나타낸다.
K는 latent space의 demension이다. 

3. NEURAL COLLABORATIVE FILTERING

3.1 General Framework

3.2 Generalized Matrix Factorization (GMF)

3.3 Multi-Layer Perceptron (MLP)

NCF에서 유저, 아이템 모델 벡터를 concate 한다는 개념은 직관적으로 이해가 가능하지만 그거 자체만으로는 설명이 어렵다고 한다. 여기서는 따라서 둘사이에 hidden layer로 MLP를 둔다고 한다. 
MLP

3.4 Fusion of GMF and MLP

GMF와 1 레이어 MLP를 단순하게 concate를 하면 다음과 같이 설명할 수 있다.

concate GMF with one layer MLP

해당 수식만으로는 한계점이 존재하는데, 두 레이어의 크기는 동일해야하며  두 레이어가 각각 최적화 되었다고 해도 마지막 레이어가 최적화 됨을 보장해 주지 못한다.
해당 논문에서는 최종적으로 아래의 [Figure 3]을 제안하며 GMF, MLP 각각 임베딩을 가지고 있으며 concate 단계도 Layer를 통해서 진행을 한다.
최종 모델
최종 수식 또한 아래와 같이 풀어 쓸 수 있으며 MLP는 다중 레이어, 최종 아웃풋은 1 Layer로 표현이 되어 있다.
최종 수식

4. EXPERIMENTS

측정하는데에 대하여 3가지에 초점을 둔다.
  1. SOTA에 비하여 성능이 좋은지. 
  2. negative sampling 을 통한 log loss가 최적화에 도움이 되는지
  3. Deep Layer가 유저 - 아이템관의 상호작용을 이해하는데에 도움이 되는지

4.1 Experimental Settings

무비렌즈, pinterest의 데이터를 사용; 

Baseline

ItemPop : BPR에 있는 벤치마크 중 하나 각 아이템을 interaction 횟수에 따라 정렬.
ItemKNN : 전형적인 CF 모델.
BPR
eALS : 당시 기준 SOTA 라고 함.

4.2 Performance Comparison (RQ1)

HR, NDCG은 평가 측도인듯 하다.
아래 결과를 보면 4가지 케이스에 대하여 NeuMF가 성능이 제일 좋다.

4.3 Log Loss with Negative Sampling (RQ2)

아래와 같이 10번까지의 학습이 가장 효과적이며 점점 할수록 overfit 한다고 한다.
NeuMF -> MLP -> GMF 순으로 Logg가 적어서 해당 모델의 최적화 수식이 유의미 하다고 판단할 수 있다.
Traning Loss

4.4 Is Deep Learning Helpful? (RQ3)

Table 3,4를 보면 레이어가 많아짐에 따라 성능이 향상됨을 볼 수 있다.
5. RELATED WORK
6. CONCLUSION AND FUTURE WORK

댓글

이 블로그의 인기 게시물

고려대학교 야간대학원 중간 후기

포켓몬 고 17셀 확인 포고맵 사용 방법

HTTP 오류 500.19 - Internal Server Error 에러 처리법