Naver boostcamp AI Tech/논문리뷰 스터디

논문리뷰 - Attribute mapping and autoencoder neural network based matrix factorization initialization for recommendation systems

sseldne0 2023. 3. 27. 23:29

Introduction

전통적인 추천 알고리즘은 content-based / collaborative filtering 에 기반을 두고 있다. 최근 가장 각광받는 알고리즘으로는 latent feature decomposition 의 collaborative filtering 기반이 있다. 그 예로는 SVD, SVD++, TimeSVD++ 가 있다. 이들은 user 와 item 이 rating matrix 를 근사하여 잡히는 latent feature vector 로 표현할 수 있다는 특징이 있다. 

하지만, 이런 전통적인 알고리즘은 1) feature matrix dimension 을 결정하는데 너무 많은 실험을 필요로 하고, 2) feature vector 는 주로 랜덤값으로 초기화된다는 문제점을 가진다.

이를 해결하기 위해, 위 논문에서는 1) matrix factorization 의 초기화에 item attribute를 사용하는 attribute mapping 방법을 제안하며, 2) feature matrix dimension에 attribute type 개수를 사용하며, 3) convergence efficiency 와 accuracy를 높이기 위해 autoencoder neural network 기반의 모델을 최초로 제안한다.

 

Related Work

  • Matrix Factorization (SVD, SVD++, TimeSVD++)
    • 추천시스템에서 자주 사용되는 기법으로, user와 item feature 사이 관계를 표현하는 matrix 를 user matrix / item matrix 로 각각 분해하는 것.
    • 초기값 세팅을 적절하게 잘 해주면, 알고리즘 속도와 성능이 좋게 나오기 때문에 많은 연구자들이 초기값 설정에 대해 연구해왔다. 그 연구들은 보통 초기화 과정에만 집중할 뿐, item attributes 정보를 전혀 사용하지 않았다. 
  • Feature Dimension 결정
    • dimension 이 클수록, 추정치는 정확해지지만 time complexity 가 높아진다는 단점을 가지고 있기에, 많은 연구자들은 computational cost 를 낮추면서도 정확도를 유지하는 적절한 차원을 추정하는 방법에 대해 연구해왔다. 
    • feature vector에 mapping하기 위해 item의 attribute 정보를 사용하였고, feature dimension 을 결정하기 위해 Neural Network 를 사용해 reducing한 attribute type 의 개수를 사용하였다.

 

Attribute mapping and autoencoder neural network based initialization

1. SVD++ model

SVD 기반이며, user rating 을 예측하기 위해 implicit feedback 정보를 이용한다.

* SVD 는 user 와 item feature 를 k-차원 latent 공간에 매핑한다. 이는 RSE 를 최소화하여 학습한다

SVD ++ 는 Gradient Descent 를 이용하여 최소화한다.

 

2. Attribute mapping mechanism

item feature 를 초기화하기 위해 item attribute 이용하며, item feature dimension 은 attribute type 개수와 동일하다.

item attribute matrix 내 attribute vector of item $a_i$ 는 1 (해당 아이템이 해당 feature 를 포함하는 explicit 일 경우), 0 (그 반대) 으로 이루어져있다.

 

3. Attribute mapping-based initialization

SVD++ 의 accuracy 와 convergence efficiency 를 높이기 위해, item feature $q_i$ 를 초기화하기 위해 item attributes vector $a_i$ 를 사용하고, feature dimension 을 결정하기 위해 item attribute type 의 개수를 사용한다.

$q_i$ 는 아래 3가지 방법에 따라 형태가 달라진다. (IAI = Item's Attributes Initialization)

ex. 원본 $q_i$ 는 (1, 1, 0, 0, 1, 0, 0, 0, 1, 0)

1) IAI_Fix : $q_i$ 를 상수로 취급 -> $q_i$ = (1, 1, 0, 0, 1, 0, 0, 0, 1, 0)

2) IAI_Part : $q_i^0$ 은 변수로, $q_i^1$ 은 상수로 취급 -> $q_i$ = (1, 1, x, x, 1, x, x, x, 1, x)

3) IAI_All : $q_i$ 를 변수로 취급 -> $q_i$ = (x, x, x, x, x, x, x, x, x, x)

 

4. AutoEncoder neural network-based initialization (ANNInit)

ANNInit 은 AutoEncoder NN 을 이용하여 item 의 초기값을 추출한다. 이는 off-line learning 을 이용해 feature dimension 을 감소시키고, SVD++를 초기화할 때 그 감소된 feature 를 사용한다.

1) ANNInit learning the deep item features

  • 3 layer 로 구성 : input / hidden / output
    • Encoder = Input & Hidden Layer
    • Decoder = Hidden & Output Layer : input 과 output 사이 error 를 최소화하는 방향으로 input 을 reconstruct

2) ANNInit initializing item feature matrix 

  • item attributes matrix A 를 이용하여 item feature matrix Q 를 초기화한 뒤, Q를 ANN의 input 으로 넣고, hidden layer 를 거친 결과 낮은 dimension 과 더 추상적인 representation 을 얻는다.
  • ANNInit 은 위에서 얻어진 hidden layer feature 를 이용하여 SVD++를 위한 item feature matrix 를 초기화한다. 

Experiment

  • Dataset : MovieLens 100K & MovieLens 1M
  • Result - Evaluation on..
    • 3 Initialization Methods : IAI_All 이 최고 성능
    • Convergence Efficiency : ANNInit과 IAI_All 이 convergence 에 최단 속도로 도달하였고, 최고 성능
    • Prediction Accuracy : ANNInit과 IAI_All 이 최고 성능
    • Adaptability : 다른 matrix factorization method 에도 확장 가능 
    • Convergence time : 차원이 낮을수록 convergence time 도 짧았으며, ANNInit 과 IAI_All 의 정확도는 비슷했으나 ANNInit이 convergence time 이 더 짧았다

Conclusion

현존하는 SVD 방법은 item feature vector 를 랜덤값으로 초기화하였기에 성능이 좋지 않았고, feature dimension 을 결정하기 위해 여러 실험을 거쳐야했다는 문제점이 있다.

이를 해결하기 위해, 위 논문에서는 3가지 초기화 방법을 제시한다. : IAI_Fix, IAI_Part, IAI_All

1. convergence efficiency 와 prediction accuracy 측면에서 세 가지 방법을 비교했다.

2. SVD++ 을 초기화하기 위해 autoencoder neural network-based 초기화 방법을 적용하였다.

3. 다른 matrix factorization 방법들에도 적용하여 더 좋은 성능을 냈다.