Diffusion Recommender Model

이두현·2024년 3월 17일
0

abstract

VAE, GAN 발전다음 diffusion이 오는 것처럼 앞선 방식으로 recommender system이 있으므로 diffusion으로도 noise 제거 해본다

Diffrec 의 두가지 extension

  • L-Diffrec : item 을 cluster하고 diffusion process를 latent space에서 한다
  • T-Diffrec : interaction timestep에 대해 reweight를 진행해서 temporal information을 반영하게 한다

Intro

GAN 단점

  • adversarial training이 unstable 하다

VAE 단점

  • 파라미터 수와 비례하는 representation ability

[forward]

  • Diffusion model은 x_0에서 시작해서 noise 계속 입혀 x_T를 만든다

[backward]

  • x_T에서 x_0로 recover 한다

original diffusion 과의 차이

  • user의 corrupted interaction에서 personalized information을 보존하기 위해서 이미지에서 했던 것처럼 완전히 pure noise로 바꾸지는 않는다 (noise scale을 줄임)

두가지 challenge에 도전

  • large-scale item prediction (L-DiffRec)
    • item을 group으로 cluster 한 다음 group specific VAE를 통해 latent vector로 만들어 latent space에서 forward와 backward 과정을 진행한다
  • temporal modeling (T-DiffRec)
    • time-aware reweight 전략을 사용해서 (later interaction에 높은 weight) 훈련

Method

[forward]

x0 = x_u 로 시작하는데 이 때 x_u 는 아래와 같이 정의됨

각 원소는 item i와 interaction 한 적이 있는가 여부로 0, 1 결정됨

[backward]

theta 로 parameterized 된 neural network 가 내뱉는 mean, variance로 이전 timestep 예측

[training]

t>1 일 때 loss

t=1 일 때

  • 이 부분의 근사는 MultiVAE 에서 가져옴

위의 두개가 ELBO 의 음수를 나타내는 것이므로 ELBO를 최대화 하려면 loss를 최소화 하는 방향으로 가야한다.
[Inference]

여기서 시작해서 forward 과정 후 다시 x_0_hat 을 예측

T-diffrec 같은 경우에는 여기에 timestep에 맞게 linear 증가하는 weight를 더해 temporal interest 변화를 반영한다.

profile
0100101

0개의 댓글