[논문 리뷰] GLocal-K: Global and Local Kernels for Recommender Systems

권유진·2022년 6월 26일
0

논문 리뷰

목록 보기
13/17
post-custom-banner

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 공간을 성공적으로 추출
  1. local kernelised weight matrix를 사용해 AE 사전 훈련
  2. 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=WijKij(U,V)W^{'}_{ij} = W_{ij}\cdot K_{ij}(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)\mu_i = avgpool(r^{`)_i}): r)ir^{`)_i}는 Decoder의 output
  • kernel K(k1,k2,k_1, k_2, \dots)와 곱해짐으로써 M(mu1,mu2,mu_1, mu_2, \dots)는 다양한 kernel의 가중치 역할 수행
  • M과 K의 내적 계산: GK=ΣiμikiGK = \Sigma_i \mu_i k_i
    - 여러 가중치와 여러 평점 행렬로 결정되어 평점 기반 매커니즘으로 여겨진다.
    - GKGK는 global convolution kernel로 사용됨
  • R^=R(conv_opt)GK\hat R = R (conv\_opt)GK: fine tuning의 입력으로 사용
profile
데이터사이언스를 공부하는 권유진입니다.
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 4월 10일

안녕하세요 ㅎㅎ

답글 달기