He, Xiangnan, et al. "Neural collaborative filtering." Proceedings of the 26th international conference on world wide web. 2017. 논문 리뷰입니다.
0. Abstract
- 최근 여러 분야에서의 딥러닝이 사용되었지만 추천시스템에서는 괄목할만한 성과가 x
- .이 연구에서는 추천의 핵심 문제를 해결하기 위해 neural networks을 기반으로한 collaborative filtering 사용
- Neural network based Collaborative Filtering (NCF)
- 내적을 neural architecture로 바꾼 generic한 모델
- matrix factorization를 표현하고 일반화 가능
- 여러 실험을 통해 NCF 구조가 다른 SOTA 방법론들보다 개선된 성능을 보임을 밝힘
1. Introduction
- Matrix Factorization(MF)
- user와 item의 interaction을 latent vector의 inner product으로 학습되고, 만들어진 latent space의 경우 user 와 item이 모두 공유
- 이렇게 사용되는 inner product는 단순한 선형결합이어서 복잡한 interaction 정보를 capture하기 어려움
- Neural network based Collaborative Filtering (NCF)
- 위와같은 기존 Linear Matrix Factorization의 단점을 해결하고자 함
- Neural Network 기반의 Collaborative Filtering으로 non-linear한 부분을 커버할 수 있도록 함
- user와 item 관계를 보다 복잡하게 모델링 가능
- 본문은 주로 implicit feedback에 집중하여 노이즈가 많은 implicit feedback data를 모델링하는 방법을 다룬다.
1-1. Contributions
- user와 item의 latent features를 모델링하기 위한 neural network 구조를 제안한다. (General Framewrok NCF)
- Matrix Factorization은 NCF의 특별한 케이스임을 증명하고, Multi-layer Perceptron을 사용한다.
- 실제 데이터(MovieLens, Pinterest)를 사용하여 다양한 실험을 진행하였으며, 이를 통해 NCF의 가능성을 입증한다.
2. Preliminaries
2-1. Learning from Implicit Data

- M과 N은 user와 item 수, rating 데이터가 아닌 0과 1의 binary 데이터
- user가 item을 관측했는지에 따라 0 또는 1로 표현 → interaction이 있는지 여부를 표시한다.
- 선호, 비선호를 나타내는 것이 아니다. (implicit feedback data)
- Interaction function f를 정의하고, user와 item 간 interaction이 있는지 확률을 예측하는 문제
- 2가지 objective function (Point-wise loss와 Pair-wise loss) 모두 사용가능하다.
- Point-wise : 실제값과 예측값 차이를 최소화
- Pair-wise : BPR에서 사용했으며, 1이 0보다 큰 값을 갖도록 마진을 최대화
2-2. Matrix Factorization
-
User-Item Interaction Matix의 한계점을 지적한다.

- (a) u4 → u1 > u3 > u2 (jaccard coefficient를 사용해 유사성을 구했을 때 가까운 순)
- (b) p4 → p1 > p2 > p3 (latent space에서의 가까운 순서 표현)
-
User와 item의 복잡한 관계를 low dimension에 표현하면서 문제가 발생
-
그렇다고 해서 Dimension 크기를 키우면 overfitting 발생
-
이러한 문제를 해결하기 위해 non-linear한 neural network를 사용해서 복잡한 상관관계를 표현
3. Neural Collaborative Filtering
3-1. General Framework

- Input Layer
- User, Item을 나타내는 feature vector vuU,viI로 구성
- User와 Item을 one-hot-vector로 표현
- Embedding Layer
- Sparse one-hot vector를 dense vector로 매핑
- User latent vector는 embedding matrix P∈RM×K.에 대해 PTVuU로 표현
- Item latent vector는 embedding matrix Q∈RN×K에 대해 QTviI로 표현
- Neural CF Layers
- User latent vector와 Item latent vector를 concat해서 layer 통과
- 비선형 관계를 학습
- Neural CF Layers
- User u와 Item i의 상관관계를 0과 1 사이의 점수로 나타냄
- predicted score y^ui를 예측, target yui와의 비교를 통해 학습 진행
3-1-1. Learning NCF
-
Label이 Binary이기 때문에, Beroulli Distribution을 사용
-
γ는 yu,i=1인 집단, γ−는 yu,i=0인 집단을 나타낸다.

- Loss function은 binary cross entropy를 사용한다.
- 위의 L을 최소화하는 파라미터를 찾는다.
- 학습은 SGD를 사용한다.
3-2. Generalized Matrix Factorization
3-3. Multi-Layer Perceptron

- GMF보다 더 간단하게 user-item interaction을 학습할 수 있다.
- wx,bx,ax는 순서대로 weight matrix, bias vector, x번째 층 activation function이다.
- ϕ1은 user와 item의 latent vector를 concat한다.
- 이후 모든 ϕL은 weight matrix와 bias vector로 표현한다.
- 최종 식은 GMF와 동일한 구조를 갖는다.
3-4. Fusion of GMF and MLP


- GMF와 MLP에서 사용하는 latent vector dimension이 다를 수 있다.
- 최종 score는 MLP와 GMF의 output을 concat하여 사용한다.
- MF의 linearity와 MLP의 non-linearity를 결합하여 장점만 선택
4. Experiments
- RQ1 : 제안한 NCF 모델이 다른 SOTA implicit collaborative filtering 방법들보다 좋은 성능을 내는가?
- RQ2 : 제안한 최적화 프레임워크 (log loss with negative sampling)가 효과적인가?
- RQ3 : deep neural network 구조가 user-item 관계를 학습함에 있어서 효과적인가?
4-1. Experimental Settings
-
Datasets
- MovieLens, Pinterest 2가지 데이터를 사용해서 실험 진행

- Pinterest의 경우 데이터셋이 매우 크지만 sparse
- 사용자의 20%가 pin이 하나만 존재
- 최소 20개 이상의 pin을 가진 user로 필터하여 사용함
-
Evaluation Protocols
- HR@10 (Hit Ratio) : 몇 개를 맞추었는지 (hit) 나타내는 지표
- NDCG@10 (Normalized Discounted Cumulative Gain) : 관련성이 높은 결과를 상위권에 노출시켰는지를 고려(순서고려)하는 평가지표
-
Baselines
- ItemPop : popularity에 따라 아이템 순위를 매김
- ItemKNN : Standard Item-based CF 방법을 implicit feedback에 적용
- BPR : MF 모델을 최적화하는 방법
- eALS : 아이템 추천에서의 state-of-the-art MF 방법

4-3. Log Loss with Negative Sampling (RQ2)

- 학습을 거듭할수록 성능이 지속적으로 증가했음을 알 수 있음
→ optimal한 negative sampling 수는 거의 3~7개임을 알 수 있음
- negative sampling : negative data는 positive data보다 implicit feedback을 사용하기 힘들기 때문에 사용
4-4. Is Deep Learning Helpful? (RQ3)

- Layer 수와 latent factor의 증가에 따라 성능이 거의 일관되게 증가하는 것을 확인할 수 있어 추천에 deep neural network를 사용하는 것이 효과적임을 밝힘
5. Conclusion
- General Framework NCF를 제안함. : GMF, MLP, NeuralMF
- Linear 모델의 한계를 Neural Network를 사용해서 해결할 수 있음
- GMF와 MLP의 장점을 합하여 NeuralMF를 제안했으며, 성능 향상에 기여
- User-Item Interaction을 다루는 Collaborative Filtering 아이디어에 집중