개발자식

[Recsys] 추천시스템_NGCF 모델 본문

AI/Recommendation System

[Recsys] 추천시스템_NGCF 모델

밍츠 2022. 10. 18. 22:56

Neural Collaborative Filtering(NCF) 등장 배경

  • Matrix Factorization은 latent factor간의 내적, 즉 선형 결합을 통해 유저-아이템 상호작용(Collaborative Signal)을 나타내기 때문에 복잡한 Signal을 알아내기 어렵다.
  • 또한 새로운 유저가 등장하면 저차원 공간에 이를 표현하기 어렵다

→ Neural Collaborative Filtering 등장

 

Neural Graph Collaborative Filtering(NGCF) 등장 배경

  • Neural Collaborative Filtering은 Neural Network를 사용하여 유저-아이템간 상호작용을 학습하는데 비선형적인 Collaborative Signal을 표현할 수 있다는 것이 MF와의 차이점이다.
  • 그렇지만 NCF조차도 유저-아이템간 상호작용을 나타내기 부족하다고 새로운 모델을 제안했다.

→ Neural Graph Collaborative Filtering 등장

 

일반적인 CF 모델 구성

  • 유저와 아이템을 벡터로 변환하는 임베딩 과정
  • 상호작용 모델링

으로 구성되어 있다.

  • 기존 CF 모델(MF, NCF)들은 임베딩에 유저-아이템의 상호작용을 반영하지 않았다.

→ 부정확한 추천의 원인이 될 수 있다.

→ 기존 CF 모델의 한계점을 극복하기 위해 NGCF 모델에서는 High-order Connectivity라는 새로운 특성을 모델에 반영하고자 했다.

 

NGCF의 Collaborative Signal

  • 유저-아이템의 상호작용이 임베딩 단에서부터 학습될 수 있도록 접근
  • 모든 상호작용을 표현하기엔 한계가 존재

→ GNN을 통해 High-order Connectivity를 임베딩 (경로가 1보다 큰 연결 의미)

  • NGCF Model의 High-order connectivity
    • u1←i2←u2: u1과 u2 간 유사성 존재 (두 사용자 모두 i_{2}와 상호작용을 했기 때문)
    • u1←i2←u2←i4: u1은 i4를 사용할 가능성이 있음 (u1은 u2와 유사)
    • u1은 i5보다 i4를 선호할 것: u2 뿐만 아니라, u1와 유사한 또 다른 유저 u3도 i4를 사용하기 때문

→ 이러한 아이디어를 NGCF 모델 구조에서 embedding propagation layer에서 실현

 

NGCF 구조

  1. 임베딩 레이어(Embedding layer) : 유저-아이템 초기 임베딩 제공
  2. 임베딩 전파 레이어(Embedding propagation layer) : high-order connectivity 학습
  3. 유저-아이템 선호도 예측 레이어(Prediction layer) : 서로 다른 전파 레이어에서 refine된 임베딩 concat

 

임베딩 레이어

  • 임베딩을 GNN상에 전파시켜 ‘refine’한다.
  • collaborative signal을 명시적으로 임베딩 레이어에서 주입하기 위한 과정이다.

 

임베딩 전파 레이어

  • First-order propagation : 첫번째 Embedding Propagation Layer에서 발생하는 전파
  • High-order propagation : 두번째 ~ l번째 Embedding Propagation Layer에서 발생하는 전파

 

임베딩 전파 레이어 - First-order propagation

  • 유저-아이템의 collaborative signal을 담을 ‘message’를 구성하고 결합하는 단계
  • message construction : 유저-아이템 간 affinity를 고려할 수 있도록 메시지 구성(weight sharing)
  • message aggregation : u의 이웃 노드로부터 전파된 message들을 결합하면 1-hop 전파를 통한 임베딩 완료

message construction
message aggregation

 

임베딩 전파 레이어 - High-order propagation

  • l개의 임베딩 전파 레이어를 쌓으면, 유저 노드는 l-차 이웃으로부터 전파된 메세지 이용 가능
  • l단계에서 유저 u의 임베딩은 (l-1) 단계의 임베딩을 통해 재귀적으로 형성

 

선호도 예측 레이어

  • L차까지의 임베딩 벡터를 concatenate하여 최종 임베딩 벡터를 계산한 후, 유저-아이템 벡터를 내적하여 최종 선호도 예측값을 계산한다.

 

NGCF 결과 및 요약

  • 임베딩 전파 레이어가 많아질수록 모델의 추천 성능 향상
  • 다만 레이어가 너무 많이 쌓이면 overfitting 발생
  • L = 3~4 일 때 가장 좋은 성능을 보임
  • MF와 비교하여 유저-아이템 임베딩 공간에서 더 명확하게 구분된다는 것을 알 수 있다.

 

Comments