본문 바로가기

paper review

[논문 리뷰/추천시스템] NCF(Neural Collaborative Filtering)

ABSTRACT

  • 몇년간 음성 인식, 컴퓨터 비전, 자연어처리 등이 Deep Neural Network에 의해 큰 성공을 보인 것에 반해 추천시스템은 상대적으로 Deep Neural Network 에 있어 덜 부각되었다.
  • 해당 논문은 Neural Network를 사용하여 implicit feedback을 기반으로 하는 Collaborative Filtering의 핵심 문제점을 해결하고자 한다.
  • Collaborative Filtering에서 내적을 신경망으로 대체한 프레임워크 NCF를 소개한다.
  • 실제 데이터에 실험한 내용을 통해서 NCF의 성능이 기존 방식들을 뛰어넘는 성능을 가짐을 논문에서 보여준다.

KEYWORDS

  • Collaborative Filtering
  • Neural Networks
  • Deep Learning
  • Matrix Factorization
  • Implicit Feedback

1. INTRODUCTION

  • 단순히 잠재 요인을 선형으로 곱하고 결합하는 내적은 user의 interaction data의 복잡한 구조를 충분히 설명하지 못한다.
  • 신경망을 collaborative filtering에 접목하는 해당 논문에서는 implicit feedback에 초점을 둔다. Implicit feedback이란 사용자의 경향을 간접적으로 반영하는 정보다. 예를 들어, 영상 조회 기록, 구매 기록, 클릭 기록 등을 말한다. Explicit feedback과 다르게 자동으로 정보가 트랙되며, 수집하기 쉽다. 다만, explicit feedback보다 데이터 활용이 어렵다.
  • 해당 논문에서는 다음과 같은 결과물을 보여준다.
    1. user와 item 간의 잠재요인을 신경망 구조를 통해 모델링하며, 신경망 기반 NCF를 소개한다.
    2. MF는 NCF의 특별한 케이스 중 하나임을 보여준다.
    3. 실제 데이터를 통해 NCF의 성능을 보여준다.

2. PREMINARIES

2.1 Learning from Implicit Data

  • Implicit feedback의 문제점은 item에 대한 interation 값이 0일 때 이것이 불호를 뜻한다기 보다는 사용자가 해당 item을 인지하지 못했다는 것을 뜻한다. 따라서 부정적인 피드백 데이터들의 결핍이 존재한다.
  • Interaction function 이 내적일때 loss function은 두 종류가 쓰이는데, 하나는 pointwise loss이고 하나는 pairwise loss이다. NCF는 두가지 학습 방법을 모두 서포트한다.

2.2 Matrix Factorization

  • 다음은 MF 모델을 나타낸 식이다. (K는 잠재 공간의 차원, pu는 user u의 잠재 벡터, qi는 item i의 잠재 벡터를 나타냄.)

  • MF 모델은 잠재 요인의 선형 모델로 간주된다.
  • Figure 1은 MF에서 내적 함수의 제한된 표현력의 문제점을 보여준다.

 

  • u4를 user latent space에 p4로써 대응시키려고 하는데 공간상의 어디에 두어도 정확한 유사도 랭킹을 나타내지 못한다.
  • 즉, 새로운 데이터가 들어왔을 때, linear space와 같은 저차원에서는 user와 item간의 복잡한 관계를 제대로 표현하지 못한다.
  • 해결 방법은 잠재 공간의 차원인 K를 큰 숫자로 사용하는 것이다. 다만 sparse setting과 같은 경우에는 오버 피팅의 문제가 일어날 수 있다.
  • 이제부터 DNN을 사용하여 interaction function의 표현력 제한 문제점을 해결해보자.

3. NEURAL COLLABORATIVEFILTERING

3.1 General Framework

 

NCF의 프레임워크는 다음과 같다.

  • Input layer에는 user u 와 item i를 one-hot encoding한 벡터가 들어간다.
  • Embedding layer에서는 input의 sparse한 벡터를 dense vector로 맵핑시킨다.
  • Neural CF layers는 user와 item의 latent vector를 결합하여 DNN에 통과시킨다.
  • Output layer에서는 예측 스코어 값인 y^hat을 구한다.

NCF 모델 수식은 다음과 같다.

 

3.1.1 Learning NCF

  • Likelihood function은 다음과 같다.

  • Loss function은 다음과 같다. (6)에 음의 로그함수를 취해준 형태이다.

  • 예상했을 수도 있지만, 해당 Loss는 Binary cross-entropy loss (=log loss)와 동일하다. 즉, NCF에 확률적 접근을 취함으로써 추천시스템 문제를 이진 분류 문제로 전환시켰다.

3.2 Generalized Matrix Factorization (GMF)

  • 다음으로 MF가 NCF의 스페셜 케이스임을 설명한다.

  • 여기서 활성화함수 aout 이 identity function 이고, h가 1로 이루어진 벡터라면, MF 모델이 된다.
  • 따라서, 활성화함수 aout에 non-linear function을 사용하거나 h를 학습된 값을 사용하게 된다면 더 다양한 MF의 버전을 나타낼 수 있을 것이다. 이것이 바로 GMF 이다.
  • 해당 논문에서는 aout을 시그모이드 함수로 두었고, h를 학습 가능한 값으로 두었다.

3.3 Multi-Layer Perceptron (MLP)

  • User embedding vector와 Item embedding vector를 concatenate하여 사용한다.
  • 단순한 벡터 결합을 하는게 아니라, hidden layer를 거치며 MLP를 사용하여 user와 item 간의 잠재 요인들을 학습시킨다.
  • GMF는 단순히 element-wise 곱을 하는것에 반해, MLP는 모델이 좀 더 유연하고 비선형성으로 interaction을 학습할 수 있도록 해준다.
  • NCF 에서의 MLP 모델은 다음과 같다.

 

  • 활성화함수로는 ReLU, tanh, sigmoid 등이 가능하다.

3.4 Fusion of GMF and MLP

  • GMF와 MLP를 NCF에서 결합시키는 것에 대해 설명한다.

  • 직관적인 방법은 GMF와 MLP를 동일한 임베딩 레이어에서 공유하게 하는 것이다. 하지만 이러한 방법은 모델의 성능을 제한시킨다.
  • 유연성을 위해, GMF와 MLP를 각각의 임베딩 레이어에서 학습시키고 마지막 히든 레이어에서 두개의 모델을 결합시킨다. 이를 설명한 수식은 다음과 같다.

  • MF의 선형성과 DNN의 비선형성을 결합하며, 이러한 모델을 NeuMF (Neural Matrix Factorization)이라고 한다.

4. EXPERIMENTS

  • 3가지 목적을 가지고 실험을 진행하였다.
    1. NCF가 기존의 최신 collaborative filtering 방법론들의 성능을 뛰어넘는가?
    2. Log loss with negative sampling 방법이 추천시스템 task에서 효과가 있나?
    3. User-item interaction data를 학습하는데 있어 더 깊은 레이어가 도움이 되나?

4.2 Performance Comparison(RQ1)

  • HR@10과 NDCH@10를 기반으로 하여 모델별로 성능 평가를 해본 결과 NeuMF가 모든 경우에 SOTA를 달성하였다.

4.3 Log Loss with Negative Sampling

  • 학습이 진행됨에 따라 loss는 감소하며 성능은 올라가는 모습을 보인다. log loss with negative sampling이 효과가 있음을 보여준다.
  • Pointwise log loss는 negative sampling ratio를 조절할 수 있다는게 장점이다.

4.4 Is Deep Learning Helpful?

  • 레이어를 깊게 쌓을 수록 성능이 올라감을 확인할 수 있다.