논문 리뷰&구현/RecSys | Recommender System

[논문 리뷰] AutoRec: Autoencoders Meet Collaborative Filtering

yeons 2024. 7. 17. 23:42

추천시스템의 Collaborative Filtering을 위한 autoencoder framwork인 AutoRec 논문을 리뷰하고자 합니다. 논문의 제목은 "AutoRec: Autoencoders Meet Collaborative Filtering"로 이곳에서 확인 가능합니다.

 

이 논문은 Movielens와 Netflix 데이터셋에 대해 SOTA를 달성한 CF(biased matrix factorization, RBM-CF, LLORMA)에 비해 compact하고 효율적으로 학습 가능한 모델이라고 AutoRec을 소개한다.

 

1. Introduction

Deep neural network 모델과 vision, 그리고 speech에서 최근 좋은 성능을 보인 autoencoder를 기본으로 한 새로운 CF 모델인 AutoRec를 제안한다. AutoRec은 현재 존재하는 CF에 대한 신경망 방법들 중에서 표현적인 측면, 그리고 계산적인 측면에서 이점을 가지고 있는데 SOTA를 달성했다.

 

2. The AutoRec Model

Rating-based collaborative filtering 모델에서 m명의 user, n개의 item 그리고 관측된 user-item rating matrix는 $R \in \mathbb{R}^{m \times n}$로 구성된다. Item-based(User-based) AutoRec의 input은 관측된 $\mathbf{r}^{(i)} (\mathbf{r}^{(u)})$이며, 이를 저차원의 latent space로 매핑한 후 다시 $\mathbf{r}^{(i)} (\mathbf{r}^{(u)})$로 재구성하여 결측된 rating을 예측한다. 이 과정을 수식으로 표현하면 아래와 같다.

\[
h(\mathbf{r}; \theta) = f\left( \mathbf{W} \cdot g(\mathbf{V} \mathbf{r} + \boldsymbol{\mu}) + \mathbf{b} \right)
\]

$h(\mathbf{r}; \theta)$는 input $\mathbf{r} \in \mathbb{R}^{d}$에 대해 재구성한 값이다. $f(\cdot), g(\cdot)$는 activation function이며 각 파라미터들은 $\mathbf{W} \in \mathbb{R}^{d \times k}, \mathbf{V} \in \mathbb{R}^{k \times d}$ 그리고 $\boldsymbol{\mu} \in \mathbb{R}^{k}, \mathbf{b} \in \mathbb{R}^{d}$다. 그렇기에 입력의 차원은 d 그리고 latent space인 k 차원으로 축소된 후 다시 d 차원으로 재구성되며 rating을 예측한다.

다음 그림은 AutoRec 모델을 보여준 것이다. 회색으로 색칠된 원의 경우 관측된 rating을 의미하며 선 또한 굵은 선으로 그려져있다. 이는 관측된 rating만을 이용해 학습에 이용한다는 것을 의미한다. 

AutoRec 모델 그림



본 모델은 앞서 구한 예측 rating을 이용해 실제 rating과의 차이를 최소화한다. 수식은 아래와 같다.

\[
\min_{\theta} \sum_{\mathbf{r} \in S} \|\mathbf{r} - h(\mathbf{r}; \theta)\|_{2}^{2}
\]

또한 관측된 rating에 대한 overfitting을 막고자 정규화를 사용한다. 아래의 수식은 Item-based AutoRec 에 대한 목적 함수다. 

\[
\min_{\theta} \sum_{i=1}^{n} \|\mathbf{r}^{(i)} - h(\mathbf{r}^{(i)}; \theta)\|_{2 \odot}^{2} + \frac{\lambda}{2} \cdot (\|\mathbf{W}\|_{F}^{2} + \|\mathbf{V}\|_{F}^{2})
\]

 

AutoRec는 RBM-based CF model과 다른점이 몇가지 존재한다. RBM-CF의 경우 restricted Boltzmann machine을 기반한 generative, probabilistic model 모델이며 AutoRec은 autoencoder를 기반으로 한 discriminative model이다. 또한 RBM-CF는 log likelihood를 최대화함으로써 파라미터를 추정하고 AutoRec은 RMSE를 최소화하는 방법을 사용한다. 그리고 RBM-CF는 contrastive divergence를, AutoRec은 gradient-based backprogation을 학습하는데 사용한다. 마지막으로 RBM-CF는 discrete한 rating에만 사용이 가능하기 때문에 nkr 혹은 mkr 만큼의 파라미터가 필요하지만 AutoRec는 이에 구애받지 않기 때문에 훨씬 적은 수의 파라미터를 통해 적은 메모리를 사용하고 과적합에 덜 걸린다는 장점이 존재한다. MF 모델과의 차이점에서는 MF는 item과 user 모두 latent space에 embedding하지만 AutoRec는 item 혹은 user만 embedding한다는 점이다. 그리고 MF는 linear한 latent representation을 하는 반면, AutoRec는 activation function을 통해 nonlinear한 latent representation이 가능하다. 

 

3. Experimental Evaluation

AutoRec 모델의 실험은 8:1:1로 train, valid, test 데이터셋을 분리했으며 5개의 cross validation을 수행했다. 그 결과 모델의 RMSE가 큰 편차를 보이지 않음을 통해 모델이 안정적임을 확인했다. 

 

각 데이터셋과 모델에 대한 실험 결과는 아래와 같다. 우선 (a)는 Movielens 데이터셋에 대해 RBM-CF와 AutoRec 모델의 결과를 비교한다. 결론적으로 Item-based AutoRec이 가장 좋은 성능을 보임을 확인할 수 있다. 두번째 (b)는 I-AutoRec 모델의 activation function에 대해서 linear, nonlinear 중 어떤 경우가 좋은지 실험한 것이다. hidden layer의 nonlinear한 activation function $g(\cdot)$는 좋은 성능을 보인다. 마지막 (c)를 통해 I-AutoRec이 다른 모델들에 비해 각 데이터셋에 대해 좋은 성능을 보이는 것을 확인할 수 있다. 

 

또한 hidden unit의 개수를 통해 수가 증가할수록 RMSE의 경우 많이 감소하는 것을 통해 hidden unit의 개수가 증가하면 좋은 성능을 보임을 알 수 있다.

 

그리고 마지막으로 I-AutoRec의 hidden layer의 수를 높일수록 RMSE 값이 낮아지는 것을 통해 이 또한 효과적임을 알 수 있다.