[논문리뷰] GLocal-K

안경준·2025년 4월 30일

👓 Abstract

  • 추천 시스템에서는 유저-아이템(user-item) 간의 희소한(high-dimensional sparse) 평점 행렬을 완성하는 것이 핵심 문제
  • 일반적으로 행렬 완성(Matrix Completion)으로 해결하는데, 대부분의 유저는 일부 아이템만 평가해서 데이터가 매우 희소함
  • 본 논문에서는 Global 커널과 Local 커널을 결합해 희소 행렬에서 유용한 feature를 추출하고자 함

💡 Method

Pre-training: Local Kernel 기반 AutoEncoder 학습

  • RBF(Radial Basis Function) 커널 기반의 Local 커널을 weight matrix에 적용하여 AE(오토인코더)를 학습
    • 이 커널은 가깝게 관련 있는 유저-아이템 간의 관계를 강조하고, 그렇지 않은 것들은 약화시켜서 sparse한 weight는 더 sparse하게, 밀집된 weight를 더 밀집되게 만듦
  • 즉, 입력 벡터 간 거리 기반으로 weight matrix를 재정의해서 feature를 더 뾰족하게 추출

Local Kernel: 머신러닝에서 말하는 커널 트릭

  • 커널 트릭(kernel trick)은 고차원의 feature 공간으로 데이터를 매핑해서 비선형 문제를 선형으로 푸는 방법(예를 들어 SVM)
  • 이 논문에서는 RBF(Radial Basis Function) 커널을 사용해서, weight matrix 자체를 커널화하는 방식
  • uiu_i, viv_i 는 각각 유저와 아이템의 벡터
  • 두 벡터 간 거리가 가까울수록 값이 1에 가까워지고, 멀수록 0에 가까워짐
  • 이 커널을 AutoEncoder의 weight matrix에 Hadamard 곱(요소별 곱)으로 적용해서 학습 시 weight에 거리 기반 sparsity를 부여함

📌 왜 쓰나?

  • 평점 행렬이 매우 희소하기 때문에 무작정 학습하면 일반화가 잘 안 됨
  • 커널 트릭을 weight에 직접 적용하면, 유사한 유저-아이템 쌍을 더 강조하고, 아닌 것들은 억제하는 식으로 학습이 더 견고하게 됨

Fine-tuning: Global Kernel 기반으로 전체 구조 보정

  • Pre-trained AE의 출력을 기반으로 CNN의 전역 커널을 구성하고, 이를 다시 전체 평점 행렬에 적용해서 특성을 전역적으로 추출
    • 이 Global Kernel은 아이템 기반 pooling을 통해 만들어지고, 최종적으로 평점 행렬에 컨볼루션 연산을 적용해서 fine-tuning에 사용됨

Global Kernel: CNN의 필터 (Convolutional Kernel)

  • CNN에서 사용하는 커널(또는 필터)은 입력 행렬에서 feature를 추출하는 작은 윈도우 형태의 연산자
  • ex) 이미지에서 모서리, 선 등을 인식하는 것처럼, 여기선 행렬 내 구조적 패턴(예를 들어 유저-아이템 간의 평점 분포)을 추출
  • pre-training된 AE의 출력(예측 평점)을 가지고 item 단위로 평균을 내서 요약 벡터 μi\mu_i를 만듦
  • μi\mu_i를 를 기반으로 다양한 kernel을 가중합하여 global kernel 𝐺𝐾𝐺𝐾을 생성
  • 이 global kernel을 사용해, 원래 평점 행렬에 대해 convolution 연산을 수행
  • 여기서 ⊗ 는 컨볼루션 연산
  • 결과적으로 희소한 행렬의 중요한 특징만 추려내는 효과를 얻음

왜 Local + Global을 같이 쓰는가?

  • Local Kernel: 개별 유저-아이템 관계에 집중해서 fine-grained한 정보 추출
  • Global Kernel: 전체 행렬 구조를 보고 패턴과 전반적인 구조를 반영
  • 즉, Local Kernel은 국소적인 유사성을 강조시키고 Global Kernel은 전역적인 패턴을 학습하고 있음
  • 두 커널의 장점을 결합하면 sparse한 상황에서도 더 강력한 표현력을 얻을 수 있음

실험 결과 (ML-100K, ML-1M, Douban)

  • 비교 대상: 기존의 대표적인 추천 시스템 모델들 (AutoRec, GC-MC, IGMC, GraphRec 등)
  • GLocal-K는 side information 없이도 다른 모델들보다 더 낮은 RMSE(오차)를 기록함
    • 이를 통해 추천 시스템의 Cold Start 문제에 효과적일 것임
profile
실력있는 개발자가 되기 위해 매일매일 성장하고 있습니다!

0개의 댓글