` 1

Abstract

Deep learning techniques have become the method of choice for researchers working on algorithmic aspects of recommender systems. With the strongly increased interest in machine learning in general, it has, as a result, become difficult to keep track of what represents the state-of-the-art at the moment, e.g., for top-n recommendation tasks. At the same time, several recent publications point out problems in today’s research practice in applied machine learning, e.g., in terms of the reproducibility of the results or the choice of the baselines when proposing new models. In this work, we report the results of a systematic analysis of algorithmic proposals for top-n recommendation tasks. Specifically, we considered 18 algorithms that were presented at top-level research conferences in the last years. Only 7 of them could be reproduced with reasonable effort. For these methods, it however turned out that 6 of them can often be outperformed with comparably simple heuristic methods, e.g., based on nearest-neighbor or graph-based techniques. The remaining one clearly outperformed the baselines but did not consistently outperform a well-tuned non-neural linear ranking method. Overall, our work sheds light on a number of potential problems in today’s machine learning schol- arship and calls for improved scientific practices in this area.


딥러닝 기술은 많은 추천 시스템 연구자들에게 선택받기 시작했다.

최근 머신러닝에 관한 관심이 급격하게 증가하면서 상위 n개를 추천하는 작업과 같은 분야에서 SOTA 방법을 추적하기 굉장히 어려워졌다.

이와 동시에 새로운 모델을 제안할 때 baseline을 선택하는 과정에서 최근 논문들은 재생산성 부분에서 문제를 제기하고 있다.

이번 논문에서는 top-n 추천 작업에서 사용되는 다양한 분석 방법들을 리뷰한다.

작년에 주로 연구된 18 가지 알고리즘을 고려해보았지만, 그 중 7개 방법만이 재생산성을 실현할 수 있었다.

또한, 이 중 6개 방법이 기존에 사용되던 NN이나 graph-based와 같은 휴리스틱 알고리즘보다 더 나은 성능을 보여주었다.

그 외 나머지 방법은 baseline보다 나은 성능을 보여주긴 했지만, 잘 조정된 비신경망 선형 방법의 성능을 일관성있게 뛰어넘지는 않는 것을 보여주었다.

따라서 우리는 추천 시스템 분야에서 활발하게 사용되고 있는 머신러닝 방법에서 나타날 수 있는 잠재적 문제를 다루고, 과학적으로 실현할 수 있는 방법을 제안한다.


요약

  • 이미지나 자연어 처리에서 딥러닝이 성공적인 모습을 보여주고 있는만큼 추천시스템에서도 딥러닝 관련 논문이 다양하게 publish되고 있긴 하지만, 실질적인 진전이 일어나고 있는지는 의문이라고 합니다.
  • 현재 추천시스템에서 진전이 일어나지 않는 이유는 세 가지로 표현해볼 수 도 있는데, 다음과 같습니다. 1) basline의 부재 2) 새로운 방법론으로 채택하기엔 너무 빈약한 방법들 3) 결과의 재생산성과 비교의 어려움
  • baseline 문제는 publish 논문에서 비교하기엔 너무 쉬운 수준의 데이터셋이나 성능을 baseline으로 잡는 경우가 있고, 특히 제공된 baseline이 적절하게 fine-tune 되지 않아 문제가 되는 경우가 있습니다. 특히, 이 문제는 딥러닝 방법을 채택했을 때 다른 딥러닝 baseline을 비교하고자 하는 경우에 주로 발생한다고 합니다.
  • 특히 이 논문에서는 재생산성(Reproducibility)와 진전성(Progress)를 중점적으로 리뷰하고자 합니다.
  • 또 논문의 저자들은 선정한 논문(총 18편)을 직접 구현해보거나 실행해보았는데, 그 중 딥러닝 관련 논문은 대부분이 추천 시스템에서 사용되는 nearest-neighborhood 방법들보다 일관적으로 outperform하지 않다는 점을 발견했다고 합니다. 또한, 18편 중 단 7편만이 재생산성을 실현할 수 있었다고 합니다.
  • 이 논문에서 사용한 baseline은 다음과 같습니다. TopPopular, itemKNN, UserKNN, ItemKNN-CBF, ItemKNN-CFCBF, graph-based 방법
  • 이 다음 내용부터는 논문에서 저자가 위의 baseline 방법과 publish된 deep learning류의 방법들과 비교한 방법들입니다. 저는 이를 검증할 방법이라고 표현하겠습니다.

- 검증할 방법: CMN(Collaborative Memory Networks)
    - Attention mechanism을 활용한 방법입니다.
- 데이터셋: CiteULike-a, Pinterest, Epinions
- 평가지표: HR@5, NDCG@5, HR@10, NDCG@10

  • CiteLike-a와 Pinterest 데이터셋에서는 적어도 두 가지 이상의 baseline이 CMN보다 우수한 성능을 보여주었습니다.
  • 놀라운 점은 Epinions 데이터셋에서 개인화에 집중되지 않은 TopPopular baseline이 다른 모든 방법보다 훨씬 우수한 성능을 보여주었다는 것입니다.
  • 뿐만 아니라 Epinion 데이터셋에서는 CMN이 TopPopular 방법을 제외한 다른 모든 baseline의 성능을 뛰어넘었는데요. 
    CMN이 다른 baseline 성능을 뛰어넘은 이유는 다음과 같습니다.
    1) 데이터셋이 비교적 작은 경우
    2) 데이터셋이 sparse한 경우
    3) 데이터셋에 포함되어 있는 데이터의 분포가 고르지 않은 경우

- 검증할 방법: MCRec(Metapath based Context for RECommendation)
- 데이터셋: MovieLens100k, LastFm, Yelp
- 평가지표: Precision, Recall, NDCG

  • ItemKNN 방법이 가장 좋은 성능을 보여주었으며, 그 외에 방법들은 MCRec 방법이 outperform 했습니다. MCRec 논문을 보면 모든 방법에 있어서 최고 성능을 낸다고 발표하고 있지만, 실제로는 그렇지 않은 것으로 보아 부적절한 test-set, epoch 선택이 있었던 것 같습니다.

- 검증할 방법: CVAE(Collaborative Variational AutoEncoder)
    - content와 rating을 고려한 unsupervised 방법입니다.
- 데이터셋: CiteULike 135k(sparse version) and 205k(dense version)
- 평가지표: REC@50, REC@100, REC@300

  • 짧은 길이의 추천 항목에 있어서는 기존 CF 방법이 우수한 성능을 보여주었으며, 긴 길이의 추천 항목에서는 ItemKNN-CFCBF가 우수한 성능을 보여준다고 합니다.
  • 추천 항목의 길이가 100이거나 그 이상인 경우 CVAE가 대부분의 방법보다 outperform한다고 합니다.

- 검증할 방법: CDL(Collaborative Deep Learning)
    - stacked denoising AE(SDAE)와 CF를 혼합한 방법이라고 합니다.
- 데이터셋: CiteULike-a
- 평가지표: REC@50, REC@100, REC@300

  • content의 deep representation을 학습하기 위해 deep learning 기법을 사용합니다. CDL은 추천 항목의 길이가 100이 넘는 경우 higher Recall 성능을 보여준다고 합니다.
  • 하지만 표와 같이 대부분의 CF 방법이 CDL 방법보다 우수하며, CVAE 방법이 항상 CDL 방법보다 뛰어납니다.

- 검증할 방법: NCF(Neural Collaborative Filtering)
    - 추천시스템에서 흔히 사용되는 Matrix Factorization을 Neural Architecture로 대체함으로써 다양한 표현을 배우도록 한 방법입니다.
- 데이터셋: MovieLens1M, Pinterest
- 평가지표: HR@5, NDCG@5, HR@10, NDCG@10

  • 이 방법은 Pinterest 데이터셋은 대부분 CF 방법의 성능이 좋았지만, MovieLens1M 데이터셋에는 완벽하게 NCF 방법이 우수한 성능을 보여주고 있음을 알 수 있습니다. 
  • 추가 평가를 위해 저자는 Simple Linear Model(SLIM, 여기서는 scikit-learn에서 사용할 수 있는 ElasticNet을 뜻함)을 평가에 사용했는데, MovieLens1M 데이터셋에서 NCF보다 우수한 성능을 보여주었다고 합니다.

- 검증할 방법: SpectralCF(Spectral Collaborative Filtering)
    - Spectral Graph Theory를 사용하며, cold start 문제를 해결하기 위해 고안된 방법입니다.
- 데이터셋: MovieLens1M, HetRec, Amazon Instant Video
- 평가지표: Recall, MAP(Mean Average Precision)

  • spectralCF는 실제 논문에서는 모든 측면에서 baseline보다 나은 성능을 보여줬다고 합니다.
  • 이를 검증하기 위해 실제로 저자가 직접 결정한 하이퍼파라미터와 data split을 통해 결과를 확인해보니 오히려 반대의 결과를 만나볼 수 있었다고 합니다. 그 이유는 train/test data의 distribution이 굉장히 다르기 때문이라고 하네요.
    (그럼 spectralCF 원 논문에서는 좋은 감만 따서 썻다는 말이 되겠군요.....;;)

- 검증할 방법: Mult-VAE(Variational Autoencoders for Collaborative Filtering)
- 데이터셋: binarized datasets(movie ratings or song play counts)
- 평가지표: REC, NDCG

  • 저자가 직접 방법을 실행시켜보니 꽤나 좋은 성능, 그리고 일관적인 성능을 얻을 수 있는 방법 중 하나였고, SLIM 모델을 튜닝해서 사용해본 결과 성능이 우수하진 않았지만 비슷한 결과를 얻을 수 있었다고 합니다.
  • 저자가 추가로 실험한 부분에선 조금이나마 SLIM이 우수한 평가지표도 존재했는데, 이는 평가지표 선택에 따라 SLIM과 mult-VAE의 성능 차이가 결정될 수 있다고 언급합니다.
  • 이를 제가 다시 해석해보면, 역시 논문 특성상 Mult-VAE도 SLIM이 좋을만한 평가지표는 빼고 제공해주었다는 점이 되겠네요.

  • 위의 결과처럼 추천 시스템을 논문을 보고 직접 구현할때는 반드시 재생산성을 확인해봐야 한다고 합니다.
  • 학회 요구에 따라 모델 구조 등은 공유될 수 있겠지만, 데이터 전처리, 하이퍼파라미터 최적화 과정, 평가 방법 등은 아직 많은 논문이 공유하고 있지 않습니다.
  • 많은 딥러닝 방법들을 살펴보았지만, 여전히 신경망 기반의 방법들은 아직 기존 방법을 뛰어넘지 못하고 있습니다.
  • 최근들어 많은 딥러닝을 활용하여 추천시스템을 구현한 논문들이 NCF(Neural Collaborative Filtering) 방법을 baseline으로 사용하고 있는데, 이는 적절치 않다고 합니다. 그 이유는 단 한 가지 데이터셋에서만 성능이 좋다는 것을 확인할 수 있었고, 다른 데이터셋에서는 좋은 성능을 보여주지 못했다고 합니다.
  • 추천 시스템 논문들은 평가지표와 public dataset(무려 20개)이 너무도 많아 baseline을 확실히 결정하기가 어렵다고 합니다.

Reference

Dacrema, M. F., Cremonesi, P., & Jannach, D. (2019, September). Are we really making much progress? A worrying analysis of recent neural recommendation approaches. In Proceedings of the 13th ACM Conference on Recommender Systems (pp. 101-109).