이번 월간 슈도렉에서는 현재 추천시스템의 SOTA 성능을 나타내고 있는 GLocal-K 방법론을 저자의 오피셜 코드와 함께 리뷰하고자 합니다.
위의 이미지를 보시면 추천시스템에서 주로 쓰이는 벤치마크 데이터셋 중 두 개에서 가장 좋은 성능을 보이는 모델이라는 것을 확인하실 수 있습니다.
논문에서는 ML-100K, ML-1M, Douban Monti 세 개의 데이터셋에 대해 실험을 하였고 그 중 현재 두 개가 가장 좋은 성능을 보이고 있고 ML-100K는 두 번째로 가장 좋은 성능을 나타내고 있는 것으로 보아 GLocal-K가 SOTA 방법론이라는 것에 의심의 여지는 없을 것입니다.
GLocal-K는 Global and Local Kernels의 약어로 이름에서 알 수 있듯이 Global과 Local한 커널을 추천시스템에 활용한다는 것을 알 수 있습니다. 그렇다면 도대체 어떠한 커널을 활용했고 프레임워크를 어떻게 구성하였기에 SOTA 성능을 확보할 수 있었는지를 이번 월간슈도렉을 통해 톺아보도록 하겠습니다.
본 논문은 추천시스템에서 고차원의 희소 사용자-아이템 행렬을 소수의 중요한 피처가 포함된 저차원 공간으로 일반화하고 표현하는 것을 목표로 Global-Local 커널 기반의 matrix completion 프레임워크인 GLocal-K를 제안합니다.
GLocal-K는 크게 두 가지 단계로 나뉩니다.
첫 번째 단계는 2차원 RBF 커널을 사용하여 데이터를 하나의 공간에서 특징 공간으로 변환하는 local kernelised weight matrix로 AutoEncoder를 pre-train합니다.
두 번째 단계는 각 아이템의 특성을 포착하는 convolution-based global kernel에 의해 생성된 평점 행렬로 pre-train된 AutoEncoder를 fine-tuning합니다.
즉, 두 가지 커널을 활용하여 입력 데이터를 저차원 공간으로 변환하는 방식입니다. 이 모델은 side information 없이 사용자-아이템 평점 행렬만으로도 높은 성능을 달성하였습니다.
협업필터링 기반 추천시스템에서 사용자-아이템 행렬은 희소하며, 이는 고차원 행렬의 결측값을 완성하는 문제(matrix completion)로 표현할 수 있습니다.
여기에 더해서 최근의 연구들은 사용자 속성이나 의견 정보와 같은 side information을 활용하는 것에 집중하고 있지만, 대부분의 실제 환경에서는 사용자에 대한 충분한 side information이 없는 경우가 많습니다.
따라서 본 논문에서는 side information을 고려하는 대신, 고차원의 사용자-아이템 평점 행렬에서 저차원의 latent feature space로 feature extraction의 성능을 개선하는 데 중점을 두고 있습니다.
이러한 feature를 추출하기 위해 2가지의 유형의 커널을 활용합니다.
첫 번째 커널은 Local kernel로, 고차원 공간으로부터 데이터를 변환하는 능력을 가지고 있어 최적의 hyperplane을 제공할 수 있으며, 주로 서포트 벡터 머신(SVM)에서 사용됩니다. 두 번째 커널은 Global kernel로, 합성곱 신경망(CNN) 아키텍처에서 쓰이는 커널입니다. 여기서 커널이 깊어질수록(즉, 더 많은 계층이 쌓이면) feature 추출 능력이 향상됩니다. 이 두 가지 커널을 통합함으로써 저차원 feature 공간을 성공적으로 추출할 수 있습니다.
이러한 두 가지의 커널을 바탕으로 GLocal-K(Global and Local Kernels)라는 글로벌-로컬 커널 기반의 matrix completion 프레임워크를 제안합니다.