[논문리뷰] Neural Collaborative Filtering

youngchae·2023년 6월 26일
0

논문리뷰

목록 보기
4/6

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

  1. user와 item의 latent features를 모델링하기 위한 neural network 구조를 제안한다. (General Framewrok NCF)
  2. Matrix Factorization은 NCF의 특별한 케이스임을 증명하고, Multi-layer Perceptron을 사용한다.
  3. 실제 데이터(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

  1. Input Layer
    • User, Item을 나타내는 feature vector vuU,viIv_u^U, v_i^I로 구성
    • User와 Item을 one-hot-vector로 표현
  2. Embedding Layer
    • Sparse one-hot vectordense vector로 매핑
    • User latent vector는 embedding matrix PRM×KP\in \mathbb{R}^{M\times K}.에 대해 PTVuUP^TV_u^U로 표현
    • Item latent vector는 embedding matrix QRN×KQ \in \mathbb{R}^{N\times K}에 대해 QTviIQ^Tv_i^I로 표현
  3. Neural CF Layers
    • User latent vector와 Item latent vector를 concat해서 layer 통과
    • 비선형 관계를 학습
  4. Neural CF Layers
    • User u와 Item i의 상관관계를 0과 1 사이의 점수로 나타냄
    • predicted score y^ui\hat{y}_{ui}를 예측, target yuiy_{ui}와의 비교를 통해 학습 진행

3-1-1. Learning NCF

  • Label이 Binary이기 때문에, Beroulli Distribution을 사용

  • γ\gammayu,i=1y_{u,i}=1인 집단, γ\gamma^-yu,iy_{u,i}=0인 집단을 나타낸다.

    • Loss function은 binary cross entropy를 사용한다.
    • 위의 L을 최소화하는 파라미터를 찾는다.
    • 학습은 SGD를 사용한다.

3-2. Generalized Matrix Factorization

  • Matrix Factorization이 Neural CF의 특별 케이스로 된다는 것을 보여줌

    • a는 non-linear activation function (sigmoid)
    • hTh^T는 내적할 때, 가중치 역할을 하여 latent vector를 학습할 수 있게 만들고 중요도를 조절하도록 한다.
    • a가 1이고, hTh^T가 uniform vector이면 Matrix Factorization이 된다.

3-3. Multi-Layer Perceptron

  • GMF보다 더 간단하게 user-item interaction을 학습할 수 있다.
  • wx,bx,axw_x, b_x, a_x는 순서대로 weight matrix, bias vector, x번째 층 activation function이다.
  • ϕ1\phi_1은 user와 item의 latent vector를 concat한다.
  • 이후 모든 ϕL\phi_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

  • 다음과같은 3가지 질문 기반으로 실험 진행
  • 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

    1. ItemPop : popularity에 따라 아이템 순위를 매김
    2. ItemKNN : Standard Item-based CF 방법을 implicit feedback에 적용
    3. BPR : MF 모델을 최적화하는 방법
    4. eALS : 아이템 추천에서의 state-of-the-art MF 방법

4-2. Performance Comparison (RQ1)

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

  1. General Framework NCF를 제안함. : GMF, MLP, NeuralMF
  2. Linear 모델의 한계를 Neural Network를 사용해서 해결할 수 있음
  3. GMF와 MLP의 장점을 합하여 NeuralMF를 제안했으며, 성능 향상에 기여
  4. User-Item Interaction을 다루는 Collaborative Filtering 아이디어에 집중
profile
we_need_to_talk_about_ds

0개의 댓글