본문 바로가기
인공지능/추천 시스템

[논문리뷰] CORE: Simple and Effective Session-based Recommendation within Consistent Representation Space

by judy@ 2023. 5. 20.

목차

I. 논문 정보

II. 리뷰 내용

  0. Abstract

  1. Introduction

  2. Methodology

  3. Experiments

  4. Conclusion

III. 고찰

 

** 리뷰 내용 중 +) 의 경우, 논문에서 발췌한 내용이 아니라 내 의견 또는 다른 참고 자료임


I. 논문 정보


II. 리뷰 내용

0. Abstract

  • 세션 기반 추천(SBR)은 익명 세션 내에서 단기간의 사용자 행동을 기반으로 다음 항목을 미리 예측하는 작업을 말함
  • 비선형 인코더로 학습한 세션 임베딩은 일반적으로 아이템 임베딩과 동일한 표현 공간에 있지 않기 때문에 항목을 추천할 때 일관성 없는 예측 문제가 발생
  • 인코딩과 디코딩 프로세스의 표현 공간을 통합할 수 있는 간단하고 효과적인 프레임워크인 CORE를 제안
  • 입력 항목 임베딩의 선형 조합을 세션 임베딩으로 간주하여 세션과 항목이 동일한 표현 공간에 있음을 보장하는 표현 일관성 인코더를 설계
  • 일관된 표현 공간에서 임베딩의 과적합을 방지하기 위해 강력한 거리 측정 방법을 제안
  • 5개의 공개 실제 데이터 세트에 대한 광범위한 실험을 통해 제안한 방법의 효과와 효율성을 입증함

1. Introduction

Session-based Recommendation (SBR)

유저가 클릭했던 아이템과 같은 단기적이고 동적인 유저의 선호를 캡쳐하는 것을 목표로 하는 추천 시스템의 연구 주제 중 하나. 최근에는 encoder-decoder 아키텍처를 많이 사용하고, 그 중에서도 encoder 부분에서 신경망 부분을 효과적으로 설계하기 위한 연구가 많음. RNN, Transformer, GNN 기반의 모델들이 연구됨. decoder 부분에서는 세션과 아이템 임베딩의 dot product를 통해 다음에 올 아이템의 interaction probability를 예측하는 방법이 많이 사용됨.

기존 연구의 경우, session emb와 item emb가 비선형 인코더 때문에 같은 latent space에 있지 않음. 이 때문에 예측 결과가 item embedding과 유사도를 계산하였을 시 inconsistent함.

기존 모델 프레임워크의 문제점

 

2. Methodology

위와 같은 문제점을 해결하기 위한 CORE framework을 제안. RCE(Representation-Consistent Encoder) RDM(Robust Distance Measuring)으로 구성됨

 

Notations in encoder-decoder framework

𝑣𝑖를 i번째 아이템이라고 했을 때, 아이템 임베딩은 hi

$$ 𝒉𝑖 = Emb(𝑣𝑖 ) ∈ R𝑑 $$

 

𝒉s, 𝑖 : s번째 세션, 아이템 n에 임베딩을 말함

𝒉𝑠는 s 세션에 대한 모든 아이템 임베딩이 인코더를 거쳤을 때의 결과

$$ 𝒉𝑠 = Encoder([𝒉𝑠,1,...,𝒉𝑠,𝑛]) ∈ R𝑑 $$

 

hs는 decoder를 거쳐 다음 아이템에 대한 확률 분포를 예측 (m은 전체 아이템 개수)

$$ 𝒚ˆ = Decoder(𝒉𝑠 ) ∈ R𝑚 $$

RCE(Representation-Consistent Encoder)

같은 잠재 공간에 표현하기 위하여 세션 임베딩을 아이템 임베딩의 선형 변환으로 나타냄. 다만 순차적 특성 등은 비선형적으로 학습해야 하므로, 선형 변환의 가중치가 될 vector를 비선형 모델을 통해 구함.

Learning Weights via Mean Pooling

𝛼𝑖 를 구하기 위한 DNN으로 mean pooling layer를 사용하는 방법. 이러한 경우 세션의 순서와 아이템의 중요도 등은 무시됨

$$ αi = \frac{1}{n} $$

Learning Weights via Transformer

이 논문에서는 SASRec과 같은 L-lyaers self-attention block을 DNN으로 활용함.

$$ 𝑭 = Transformers([𝒉𝑠,1;𝒉𝑠,2;...;𝒉𝑠,𝑛]), $$

$$ α = softmax(𝒘 · 𝑭⊤) $$

 

𝒘 ∈ R𝑑은 학습가능한 파라미터이며, 이 방식을 사용하면 트랜스포머의 positional encoding 기술의 특성상 sequential nature가 캡처됨.

RDM(Robust Distance Measuring for Decoding)

선형 결합으로 만들어진 Session embedding을 이용한 decoding과정에서 발생할 수 있는 오버피팅을 해소하기 위한 강력한 거리 측정 방법

앞선 RCE를 통해 session을 item embedding의 선형 변환으로 사용. Next Item의 임베딩과 거리를 계산하여 모델을 학습하는데, 이 과정에 비선형성이 개입되지 않아 overfitting 발생 확률이 높아짐. 따라서 unified representation space 내 거리를 계산하는 robust way을 제안함.

일반적으로 dot product distance + CE loss → (N-1)-tuplet loss를 사용. 이 때 마진은 2로 고정됨.

  • m: 아이템의 수
  • v+: GT next item for session s, v-: 전체 아이템 중 v+을 제외한 모든 아이템의 임베딩

triplet loss

triplet loss (Improved Deep Metric Learning with Multi-class N-pair Loss Objective)

 

(N+1)-tuplet loss

(N+1)-tuplet loss (Improved Deep Metric Learning with Multi-class N-pair Loss Objective)

 

위 loss에서 거리 측정의 robustness 를 향상하기 위한 3가지 방법을 적용하여 최종 손실 함수인 Robust Distance Measuring(RDM)를 정의

  1. 데이터의 분포가 추천 시나리오마다 다르므로 fixed margine 대신 추가적인 하이퍼파라미터(τ, 타우)를 적용
  2. 아이템 임베딩에 대하여 Dropout 추가
  3. contrastive learning 에서 영감을 받아, dot product가 아니라 cosine distance로 변경

최종 loss function

3. Experiments

Datasets and evaluation metrics

Datasets

real-world platforms의 5개 공개 데이터 활용하여 실험 수행. 모두 이커머스 웹사이트로 대체로 메타 정보는 거의 없고 유저, 아이템, 세션으로 구성됨. 약간의 전처리와 train:val:test=8:1:1 분할

  • Diginetica: Nowplaying, RetailRocket, Tmall: 타오바오몰, Yoochoose

Diginetica 예시 데이터 ( https://darel13712.github.io/rs_datasets/Datasets/diginetica/ )

Evaluation metrics

  • top-20 Recall (R@20): 사용자가 관심 있어하는 모든 아이템 중 내가 추천한 아이템 20개가 얼마나 포함되는지의 비율
  • top-20 Mean Reciprocal Rank (M@20)
    • Mean Reciprocal Rank: 결과로 제안된 후보들 중 정답이 몇 번째에 위치하는지를 나타낸 지표

성능 비교

baselines

  • MF 기반 모델: FPMC
  • RNN 기반 모델: GRU4Rec, NARM
  • GNN 기반 모델: SR-GNN, NOSER+, LESSR, SGNN-HN
  • 트랜스포머 기반 모델: SASRec, GC-SAN, CL4Rec

proposed model

  • CORE-ave (mean pooling as a DNN)
  • CORE-trm (transformer as a DNN, especially self-attention blocks)

details

  • laten vector: 100
  • session max length: 50
  • adam
  • lr 0.001
  • early stop - patience 5, monitoring M@20
  • batch size: 2048
  • controllable margin 𝜏 among {0.01, 0.05, 0.07, 0.1, 1}
  • dropout ratio 𝜌 among {0, 0.1, 0.2}

Overall comparison

CORE가 10개 중 8개에서 outperformed

 

학습 시간/Recall@20

CORE-ave가 효율이 가장 좋았음

 

RCE와 RDM의 효과

w/o: without

두 개를 모두 적용했을 때에 성능이 가장 좋았으며, 이는 SASRec 대비 약 2% 성능 차이를 뵘

다른 모델에 프레임워크 적용하였을 시 효과

둘 다 적용하였을 때 더 높은 성능을 보임

학습한 세션 임베딩의 시각화 (t-SNE)

Diginetica 테스트 세트에 대해서 15개의 아이템에 대해서 샘플링한 뒤 세션 임베딩을 시각화하였을 시, CORE로 학습한 결과가 가장 잘 분리되는 것을 확인함.

하이퍼파라미터 튜닝

4. Conclusion

  • 일관된 표현 공간 내에서 세션 기반 추천을 위한 간단하고 효과적인 프레임워크인 CORE를 제안
  • 일관된 표현 공간에서 세션을 아이템으로 인코딩하기 위해 아이템 임베딩에 가중치 합계를 적용하는 방식을 제안(RCE)
  • 또한 제안된 프레임워크에서 아이템 임베딩의 과적합을 방지하기 위해 강력한 거리 측정 기법(RDM)을 제안
  • 5개의 공개 데이터 세트에 대한 광범위한 실험을 통해 제안된 접근 방식의 효과와 효율성, 그리고 제안된 기법이 기존 방법에 어떻게 도움이 될 수 있는지를 보여줌
  • future work
    • representation-consistent encoder의 표현 능력을 이론적, 경험적으로 증명하는 연구
    • side features와 inductive bias 도입하는 방법을 탐구

III. 고찰

정리

  • 기존 SBR 방법에서 Session Embedding 은 Item Embedding들을 비선형 결합 (Nonlinear Combination) 방식으로 구축하기 때문에 발생하는 Inconsistent Prediction Issue 를 제기
  • 이를 해결하기 위한 Representation-Consistent Encoding (RCE) 과 overfitting을 방지하기 위한 Robust Distance Measuring (RDM)을 제안
    • RCE는 세션 임베딩을 아이템 임베딩의 선형 결합으로 나타내는 인코더를 말함
    • RDM은 (N-1)-tupletLoss에 오버피팅을 방지하기위해 margin을 조정, Dropout 추가, dot product → cosine similarity 를 적용한 손실 함수
  • 결과적으로, 5개의 데이터셋에 대해서 전반적으로 기존 모델들보다 효율적이고 효과적인 성능을 보였고, 기존 모델에도 쉽게 적용할 수 있음을 보임

의견

  • 세션 임베딩을 아이템 임베딩과 같은 representation space에서 표현하기 때문에 해석이 쉬우나, 결국에는 선형 변환이므로 RCE를 통한 복잡도가 높은 표현에 대한 학습은 어렵지 않을까라는 의문이 듬
  • 개인적으로 contrastive loss가 아닌 triplet, N-pair loss에 대해서는 처음 알게 되었는데 학습에서 object를 잘 설정하는 것이 굉장히 중요하겠다는 생각이 들었음. 그래서 RCE 보다는 RDM이 새롭게 느껴졌고, 다른 문제에도 이와 같은 loss가 도움이 될 것 같아 적용해보려고 함. 그래서 다음 논문 리뷰는 "Improved Deep Metric Learning with Multi-class N-pair Loss Objective"에 대해 해보려고..
  • 현재 CORE에는 side information을 고려하지 않고 있는데, 실제 e-commerce에서 anonymous session이라고 해도 item들에 대한 side information은 충분히 있으므로 이를 고려하는 모델에 적용하여 성능이 향상되는지 확인해보고 싶다는 생각이 듬.
반응형