- 논문 링크(1137회 인용)
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도 공부해야겠다..
댓글