AI/Recommendation System

[Recommendation System] Multi-VAE, Variational Autoencoders for Collaborative Filtering 요약

밍츠 2023. 3. 1. 15:26

INTRODUCTION

  • 좋은 추천 시스템은 엄청난 양의 content와 유저 사이에 효과적인 상호작용을 만들어 준다(유저가 모르고 있던, 유저에게 적합한 content를 추천해주는 것). 따라서 좋은 추천 시스템은 소비자에게는 펀리함을, 기업에게는 새로운 기회를 제공해줄 수 있다.
  • Collaborative filtering은 유저와 아이템간의 유사한 패턴을 찾아내서 이를 활용하여 유저가 선호할만한 아이템을 추천해주는 것이다.
  • 대부분의 사람들은 주로 추천 시스템을 big-data problem로 생각하지만(많은 양의 유저와 데이터가 존재하기 때문에), 논문의 저자는 유저는 아주 적은 양의 아이템만 상호 작용하기 때문에 small-data problem이라고 주장한다.(유저-아이템 상호 작용 데이터는 매우 sparse함)
  • 본 논문에서는 a probabilistic latent-variable model을 만듦으로써 sparse한 데이터를 사용하고 모델의 과적합을 피했다.
    • latent-variable model을 사용하는 가장 큰 이유는 데이터가 자연스럽게 관찰되지 않을 수 있기 때문이다.
    • 관찰된 변수 집합과 잠재 변수 집합 사이의 관계를 설명하는 통계 모델의 한 유형으로, 후자는 직접 관찰할 수 없지만 전자로부터 추론된다. 직접 측정하거나 관찰할 수 없는 기저 변수의 존재를 상정하여 관찰된 변수의 거동을 설명하는 모델이다. 두 변수 간의 관계는 일반적으로 가우시안 분포와 같은 확률 분포를 사용하여 확률적으로 모델링된다.
  • 본 논문에서 제안하는 a probabilistic latent-variable model은 variational autoencoders를 변형한 모델이다.
  • 본 모델은 전통적인 Bayesian approach를 따르기 때문에 데이터의 크기에 매우 강건하다고 함
    • Bayesian approch는 관찰된 데이터 및 사전 지식을 기반으로 알려지지 않은 매개변수 또는 가설에 대해 추론하기 위한 통계적 프레임워크이다. 베이즈 정리를 사용하여 관찰된 데이터를 기반으로 가설 또는 매개변수 값의 확률을 업데이트한다.
    • 데이터 크기에 강건한 이유 :
      • 유연성, 베이지안 모델은 유연하고 적응력이 뛰어나 사전 지식, 복잡한 데이터 구조 및 다양한 불확실성 소스를 통합할 수 있다.
      • 해석 가능성, 베이지안 모델은 해석 가능한 결과를 제공하므로 분석가는 데이터를 구동하는 기본 요인과 추정치와 관련된 불확실성을 이해할 수 있다.
  • 본 모델은 multinomial likelihood를 사용하기 때문에 implicit feedback data를 더 잘 모델링 할 수 있다고 함(그래서 Multi-VAE 라고 부르는 것)
    • multinomial likelihood가 implicit feedback에 강한 이유
      • 견고성(Robustness): 희소성과 노이즈에 강하기 때문에 사용자가 모든 항목과 상호작용하지 않을 수 있고 관찰된 상호작용이 편향될 수 있으므로 강하다
      • 유연성: 광범위한 사용자 항목 상호 작용을 모델링할 수 있음
      • 확장성: 수백만 명의 사용자 및 항목이 있는 데규모 데이터 세트 모델링 할 수 있음
  • 본 모델은 annealing 기법을 사용하여 파라미터를 업데이트함으로써 모델의 과적합을 해소함
    • 점진적인 감소로 더 넓은 범위의 솔루션을 탐색할 수 있도록 하지만 알고리즘이 진행됨에 따라 점차적으로 검색 공간을 좁혀 더 나은 수렴 및 향상된 성능으로 이어지게 한다.
    • 따라서 최적화 및 시뮬레이션 알고리즘의 성능을 향상 시키는 강력한 기술이다.

 

METHOD

  • 본 모델은 implicit feedback인 위와 같은 user-item interaction matrix를 input으로 사용한다.
  • autoencoder 계열의 모델은 위와 같이 3종류로 나뉜다. VAE는 원래 생성 모델의 일종이기 때문에 autoencoder 계열이라고 말하기는 좀 그렇지만 모델 구조가 비슷하여 불린다.
  • 단순히 x를 encoder를 이용하여 latent representation z로 축소 후에 decoder로 복원하는 형태가 기본적인 Autoencoder
  • x에 noise를 넣은 후 encoder를 이용하여 latent representation z로 축소 후에 decoder로 복원하는 형태가 Denoising Autoencoder
  • x를 encoder를 이용하여 평균과 분산을 구한 후, 구해진 평균과 분산으로 K-dimensional latent representation z 샘플링하고, 해당 샘플링된 z를 다시 decoder로 복원하는 형태가 Variational Autoencoder ← 논문에서 제안한 모델은 해당 variational autoencoder 변형한 형태 모델
  • 논문에서 제안하는 VAE는 user-item interaction matrix x가 multinomial distribution이라고 가정하고 모델을 학습시켜 Multi-VAE라고 칭한다.
    • multinomial distribution : 범주가 세개 이상인 범주형 변수의 결과를 설명하는 확률 분포이다.

 

LOSS

  • 모델의 output인 reconstruct x를 어떠한 loss를 사용하여 최적화 하느냐에 따라 Gaussian, Logistic, Multinomial로 나누어진다.
    • Gaussian : MSE Loss사용, Gaussian-VAE
    • Logistic : BCE Loss사용, Logistic-VAE
    • Multinomial: Cross-entropy loss사용, Multi-VAE
  • $π_i(z_u)$는 output인 reconstruct x를 softmax 함수에 통과시킨 probability vector이다.
  • 해당 probability vector를 reconstruct x vector와 곱함으로써 1에 해당하는 위치의 값을 최대화 시킬 수 있다.
  • 이러한 probability vector를 사용하는 방식은 추천시스템의 top-N ranking에 적합하다고 할 수 있다.

 

파라미터 최적화

  • Multi-VAE는 중간에 z를 샘플링하는 reparametrization trick이 존재한다.
  • 이는 단순히 정규분포에서 샘플링된 입실론을 모델을 통해서 구한 분산과 평균을 곱하는 것이다.

 

목적함수

  • Multi-VAE의 목적함수는 기존 VAE와 달리 KL term에 베타라는 annealing 기법이 사용된다.

→ 과적합 방지를 위한 규제 방법

  • 베타는 하나의 파라미터로 0~1사이의 값으로 튜닝할 수 있다.
  • 모델의 epoch이 늘어남에 따라서 베타의 값을 조금씩 증가시키면서 loss에서 KL term의 비중을 높인다.
  • 따라서 annealing기법은 초반에는 모델이 probability vector를 제대로 만드는 것에 집중하게 만들고 점차 KL term의 비중을 높여가는 것이라고 할 수 있다.

 

참고 : https://velog.io/@2712qwer/Paper-Code-Review-2018-WWW-Variational-Autoencoders-for-Collaborative-Filtering