[논문 리뷰] GLocal-K: Global and Local Kernels for Recommender Systems
ABSTRACT
- 추천 시스템은 고차원 sparse한 유저-아이템 행렬 사용
- 행렬 완성은 한 사람의 흥미를 다른 사람의 아이템 구매의 일부를 기반으로 하여 예측하는 도전
- GLocal-K는 고차원 sparse 유저-아이템 행렬을 저차원 공간으로 표현하고 일반화
- 적은 수의 중요한 feature을 포함하는 저차원 공간
- 두 개의 stage로 나뉨
- local kernelised weight matrix로 AE를 사전 학습한다.
- 데이터를 한 공간에서 2d-RBF kernel을 사용하는 feature 공간으로 변환
- 사전 학습된 AE를 평점 행렬로 fine tuning
- 합성곱 기반 global kernel로 생성된 평점 행렬 사용
- 각 아이템의 특징 포착
INTRODUCTION
- CF는 많은 유저로부터 모인 유저의 흥미의 예측 하는 것에 집중
- 행렬 완성은 이 것의 가장 흔한 방법으로 사용
- sparse하다는 단점
- 전통적인 추천 시스템은 sparse한 행렬을 AE를 통해 저차원으로 축소
- 유저-아이템 관계를 비선형성으로 학습함으로써 더 잘 이해
- data의 표현법을 얻음
- 이전 모델
- I-AutoRec은 item 기반 AE
- SparseFC는 유한한 support kernel을 사용하여 가중치 생렬을 sparsified하는 데에 AE 사용
- GC-MC는 행렬 완성에 그래프 기반 AE 제안
- 사이드 정보 대신 평점 행렬에서 feature을 추출하는 것의 발전에 집중
- local kernel이라고 불리는 첫 번째 kernel 사용
- 고차원 공간으로부터 데이터 변환을 수행하기 위해 SVD과 함께 널리 사용
- 최적의 seperating surface 제공
- global kernel은 CNN 구조에서 왔다.
- 깊이가 깊어질수록 feature 추출 능력 향상
- 위 두 가지 kernel을 통합함으로써 저차원 feature 공간을 성공적으로 추출
- local kernelised weight matrix를 사용해 AE 사전 훈련
- global kernel 기반 평점 행렬로 fine tuning
Pre-training with Local Kernel
Auto-Encoder Pre-training
- 아이템 기반 AE를 학습
- Encoder(Layer 1개), Decoder(Layer 1개) 통과
- auto-associative 신경망 배포 (단일 h차원 은닉층)
- dense하고 sparse한 연결을 강조하기 위해 RBF 커널이 있는 AE의 가중치 행렬을 다시 매개변수화(Kernel Trick으로 알려짐)
Local Kernelised Weight Matrix
- AE의 가중치 행렬이 2d-RBF kernel로 다시 매개변수화 하였다. - local kernelised weight matrix
- 각 요소는 동일한 벡터에 대해 1로 매핑
- Wij′=Wij⋅Kij(U,V)
- K(): RBF kernel
- 가중치와 커널 행렬의 Hadamard 곱
- U와 V 사이의 거리는 뉴런 사이의 연결의 강도를 의미
- sparsity의 정도는 벡터가 각 훈련의 단계에서 변경됨에 따라 다양하다.
- 가중치 행렬에 커널 트릭을 적용하면 가중치 행렬을 정규화하고 일반화 가능한 표현을 학습
Fine-tuning with Global Kernel
Global kernel-based Rating Matrix
- Global Convolutional Kernel로 생성된 rating matrix를 사용하여, 사전 훈련된 AE를 fine tuning
- 사전 훈련된 디코더 모델의 output은 초기 예측 점수를 포함하는 행렬이다.
- 풀링으로 전달됨
- 아이템 기반 Averaging Pooling을 통해, 평점 행렬에서 각 아이템 정보를 요약한다.
- μi=avgpool(r‘)i): r‘)i는 Decoder의 output
- kernel K(k1,k2,…)와 곱해짐으로써 M(mu1,mu2,…)는 다양한 kernel의 가중치 역할 수행
- M과 K의 내적 계산: GK=Σiμiki
- 여러 가중치와 여러 평점 행렬로 결정되어 평점 기반 매커니즘으로 여겨진다.
- GK는 global convolution kernel로 사용됨
- R^=R(conv_opt)GK: fine tuning의 입력으로 사용
안녕하세요 ㅎㅎ