본문 바로가기
ML&DL/Recommender System

[Recommender System / Paper review] #25 AutoRec: Autoencoders Meet Collaborative Filtering

by 거북이주인장 2023. 4. 25.

Summary

  • 유저x아이템 행렬은 보통 부분적으로 관측된다. 본 논문은 autoencoder을 통해 부분적으로 관측된 데이터를 저차원으로 projection하고 이를 다시 reconstruct하는 network을 학습함으로써 관측되지 않은 데이터를 복원하고자 한다.
  • 유저x아이템 행렬에서 유저 벡터를 복원할 수도 있고 아이템 벡터를 복원할 수도 있다. 논문에서는 아이템를 autoencoder을 통해 복원하는 Item-based AutoRec을 제안한다.
  • I-AutoRec은 encoder와 decoder 모두 one hidden layer로 구성된 아주 간단한 neural network이다.
  • 실험을 통해 RBM 기반 CF에 비해 더 우수한 성능을 보임을 입증한다.

Motivation

  • RBM 기반 CF와 비교 실험을 진행하지만 그렇다고 I-AutoRec가 RBM 기반 CF의 단점을 보완하기 위해 나온 것은 아니다.
  • 본 논문에서는 I-AutoRec가 어떤 방법을 보완하기 위해 개발되었다고는 언급되어 있지 않다.

Approach

Notation

  • m명의 유저와 n개의 아이템. 유저x아이템 행렬은 $R \in \mathbb{R}^{m \times n}$으로 표현한다.
  • $\mathbf{r}^{(u)} = (R_{u1}, \cdots, R_{un}) \in \mathbb{R}^n$: 유저 u에 대한 벡터
  • $\mathbf{r}^{(i)} = (R_{1i}, \cdots, R_{mi}) \in \mathbb{R}^m$: 아이템 i에 대한 벡터

Autoencoder approach

본 논문의 목표는 아이템 기반 (또는 유저 기반)의 autoencoder을 학습하는 것인데, 이는 부분적으로 관측된 $\mathbf{r}^{(i)}$ (또는 $\mathbf{r}^{(u)}$)을 받고 다시 $\mathbf{r}^{(i)}$ (또는 $\mathbf{r}^{(u)}$)을 복원하여 결측값을 채움으로써 유저에게 추천을 제공하는 것이다.

autoencoder는 $\mathbf{r} \in \mathbb{R}^d$에 대해 아래 objective function을 풀고자 한다.

여기서 $h$는 입력 벡터를 복원한 벡터이다.

  • 아주 간단한 autoencoder로, encoder와 decoder가 하나의 hidden layer로 구성된다.
  • $\mathbf{W}, \mathbf{V}$: encoder와 decoder의 weight matrix
  • $\mathbf{\mu}, \mathbf{b}$: encoder와 decoder의 bias
  • $f, g$: encoder와 decoder의 activation function

I-AutoRec은 위와 같은 autoencoder 구조를 반영하지만 아래의 두가지 다른 점이 있다.

  • 입력값으로 주어지는 $\mathbf{r}^{(i)}$가 부분적으로 관측되기 때문에 backpropagation할 때도 관측된 입력값과 연관된 weight만 업데이트 한다.
  • 위 아키텍쳐에서 칠해진 노드가 관측된 데이터이고 실선으로 연결된 화살표가 관측된 노드의 가중치만 업데이트함을 의미한다.
  • 관측된 데이터에 과적합되는 것을 막기 위해 regularization term을 추가한다.

위 두가지를 반영한 I-AutoRec의 objective function은 아래와 같다.

파라미터 학습이 끝났으면, 유저 u의 아이템 i에 대한 평점을 아래와 같이 예측한다.

i번째 아이템 벡터를 복원한 후에, 그 벡터에서 u번째 element을 유저 u의 아이템 i에 대한 평점으로 예측하는 것이다.

RBM 기반 CF와의 차이점

  • RBM 기반 CF는 확률론적인 generative 모델이지만 I-AutoRec은 autoencoder에 기반한 discriminative 모델이다.
  • RBM 기반 CF는 likelihood을 최대화하여 파라미터를 추정하지만 I-AutoRec은 RMSE를 최소화함으로써 파라미터를 추정한다.
  • RBM 기반 CF는 contrastive divergence의 사용을 제안하지만 I-AutoRec은 상대적으로 빠른 gradient 기반 backpropagation을 제안한다. 그에 따라 연산속도가 더 빠르다.

Results

Comparison model

  • RBM 기반 CF
  • Biased MF
  • Local low-rank matrix factorization

Datasets

  • movielens
  • netflix

  • movielens 데이터에 대해 I-AutoRec의 성능이 가장 우수하게 나왔다.
  • encoder와 decoder의 activation function을 각각 sigmoid, identity로 설정했을 때 결과가 좋았다.
  • netflix 데이터에 대해서도 다른 모델과 비교해봤을 때 I-AutoRec의 결과가 가장 좋았다.

Conclusion

  • 입력 벡터를 복원하는 개념을 추천 시스템에도 적용하여 부분적으로 관측된 유저x아이템 행렬을 복원하려는 시도가 인상적이었다.
  • 궁금한 점은, 관측된 데이터와 연결된 노드의 가중치만 업데이트한다고 했는데 그러면 추후에 예측하는 부분에서 학습되지 않은 노드와 연관된 가중치는 어떻게 계산이 되는지 궁금하다.
  • RBM 기반 CF도 공부해야겠다..

댓글