논문리뷰

[WWW'15] AutoRec Autoencoders Meet Collaborative Filtering

pushpush 2024. 1. 22. 04:09

Introduction

협업 필터링(CF) 모델은 항목에 대한 사용자의 선호도에 대한 정보를 활용해 개인화된 추천을 제공하는 것을 목표로 합니다.

넷플릭스의 도전으로 인하여 다양한 CF 모델이 제안되었고 그중 MF와 neighborhood model이 널리 사용되고 있습니다.

 

해당 논문에서는 AutoEncoder 기반의 새로운 CF 모델 AutoRec을 제안합니다.

본 논문은 AutoRec이 CF에 대한 기존 neural approach에 비해 표현적, 계산적인 이점이 있다고 말하고 SOTA 모델임을 경험적으로 입증했다고 합니다.

 

The AutoRec Model

Rating-based CF 모델에선 \( m \)명의 사용자와 \( n \)개의 item이 있을 때, user-item rating matrix를 \( R \in \mathbb{R}^{m \times n } \)로 표현합니다.

사용자는 \( u \in U = \{ 1 \dots m \} \)를 \( r^{(u)}=(R_{u1}, \dots ,R_{un}) \in \mathbb{R}^n \)로,

항목 \( i \in I = \{ 1 \dots n \} \)는 \( r^{(i)}=(R_{1i}, \dots ,R_{mi}) \in \mathbb{R}^m \)로 표현합니다.

 

이 논문에서의 목표는 \( r^{(i)} (r^{(u)}) \)를 low-dimensional latent (hidden) space로 project 한 뒤, output space에서 missing rate를 예측한 \( r^{(i)} (r^{(u)}) \)로 reconstruct 하는 것입니다.

autoencoder는 위의 그림을 보면 이해하는데 도움이 됩니다.

 

\( \mathbb{R}^d \)에서의 벡터들의 집합 \( S \)가 주어지고 \( k \in \mathbb{N}_{+} \) 를 만족할 때, autoencoder의 Loss는 다음과 같습니다.

$$ (1) min_{ \theta } \Sigma_{r \in S} ||r-h(r;\theta)||^2_2 $$

위의 식은 원래의 rating 값인 \( r \) 값과 \( h(r;\theta ) \)의 차이 L-2 Norm을 최소화하게 됩니다.

이때 \( h(r;\theta ) = f(W \cdot g(Vr + \mu ) + b ) \)로 표현이 되는데 이는 모델의 예측 평점(reconstruction of input \( r \in \mathbb{R}^d \)를 의미합니다.

  • \( f(\cdot ), g(\cdot ) \) : activation function
  • \( \theta  = \{W, V, \mu, b\} \) : backpropagation을 위해 학습됨
  • \( W \in \mathbb{R}^{d \times k}, V \in \mathbb{R}^{k \times d} \)
  • \( \mu \in \mathbb{R}^k, b \in \mathbb{R}^d \) : bias

 

Figure 1에 표시된 itme-based AutoRec 모델은 (1)에 따라 autoencoder를 벡터 집합  \( \{r^{(i)}\}^n_{i=1}\)에 적용되고 여기서 두 가지 변경사항이 있다고 합니다.

1. 행렬 인수분해 및 RBM approach에서 흔히 볼 수 있는 것처럼 관측된 input과 연관된 weigh만 backpropation 과정에서 업데이트를 함으로써 \( r^{(i)} \)가 부분적으로 관측된다는 사실을 증명합니다

2. overfitting을 방지하기 위해 파라미터들을 정규화합니다.

이때 item-based AutoRec의 objective function에서 \( \lambda > 0 \)이며 아래의 식을 통해 진행됩니다.

$$ (2) min_{ \theta } \Sigma_{r \in S} ||r-h(r;\theta)||^2_{\mathcal{O}} + \frac{\lambda}{2} \cdot (||W||^2_F + ||V||^2_F)  $$

여기서  \( || \cdot ||^2_{\mathcal{O}} \)는 관찰된 평점의 기여도만 고려한다 것을 의미합니다.

 \( r^{(i)} \)는 I-AutoRec(item-based AutoRec)의 ratings vector를 의미하고, user-based AutoRec의 경우, \( \{ r^{(i)}\}^m_{u=1}\)로 표기합니다.

이때 학습이 진행되는 파라미터는 \( 2mk+m+k \)개 이며, encoder, decoder가 각각 mk개의 embedding paramter를 갖고, bias를 위해서 m, k개의 파라미터가 사용됩니다.

 

최종적으로 학습된 파라미터들을 통해 I-AutoRec은 다음의 수식을 통해 평점을 예측합니다.

$$ (3) \hat{R_{ui}} = (h(r^{(i)};\hat{\theta }))_u $$

 

본 논문에서는 AutoRec이 기존에 존재하는 CF approach들과 구별된다고 합니다.

RBM-based CF와 비교했을때, 몇가지 차이점이 있는데

첫번째, RBM-CF는 제한전 Boltzmann machine에 기반한 생성적 확률 모델을 제안하지만, AutoRec은 Autoencoder 기반 판별적인 모델이라고 합니다.

두번째, RBM-CF는 log likelihood를 최대화하여 파라미터를 추정하지만, AutoRec은 RMSE를 직접적으로 최소화합니다.

세번째, AutoRec은 gradient-based backpropagation을 통해 더 빠르게 파라미터를 업데이트할 수 있습니다.

마지막으로, RBM-CF는 \( nkr \) 또는 \(mkr \)의 파라미터를 가지게 됩니다. 하지만 AutoRec은 r에 영향을 받지 않아 더 적은 수의 파라미터가 필요하며, 이는 메모리 사용량이 적음과 동시에 overfitting의 가능성이 낮다는 것을 의미하게 됩니다.

 

matrix factorization(MF)와 비교해보겠습니다.

먼저 MF는 사용자와 항목를 모두 latent space에 포함하게 되지만, i-AutoRec은 항목만 latent space에 포함합니다.

또한 MF는 linear latent representation을 학습할 수 있는 반면, AutoRec은 활성화함수 \( g(\cdot ) \)를 통해 nonlinear latent representation을 학습할 수 있습니다.

 

Experimental Evaluation

본 논문에서는 RBM-CF, Biased Matrix Factorization(BiasedMF), Local Low-Rank Matrix Factorization(LLORMA) 모델을 ML-1M, ML-10M, Netfilx dataset을 사용하여 비교실험을 진행하였습니다.

또한 train:test = 9:1로 진행을 하였고 평가는 RMSE를 통해 평가하였습니다.

 

 

(a)에서는 I-AutoRec이 가장 좋은 성능을 보였습니다.

(b)에서는 활성화함수의 조합을 결정할 때 실험적으로 결정하였는데 실험 결과, hidden layer의 활성화함수인 \(g( \cdot ) \)를 Sigmoid로, Output layer의 활성화함수인 \( f( \cdot ) \) 을 ldentity로 진행했을 때 가장 좋은 결과가 나왔다고 합니다.

(c)에서는 I-AutoRec과 다른 비교 모델들의 실험 결과를 보여주고 I-AutoRec이 가장 낮은 RMSE 값을 가짐으로써 가장 좋은 성능을 보였다는 것을 말하고 있습니다.

 

 

또한 AutoRec은 hidden units이 커질수록 더 좋은 성능을 보였습니다.이때 RMSE값이 0.831에서 0.827로 향상되었다고 합니다.