728x90

https://arxiv.org/abs/2305.05065

 

Recommender Systems with Generative Retrieval

Modern recommender systems perform large-scale retrieval by first embedding queries and item candidates in the same unified space, followed by approximate nearest neighbor search to select top candidates given a query embedding. In this paper, we propose a

arxiv.org

1. Introduction

TIGER: Transformer Index for Generative Recommenders는 생성형 추천시스템을 위한 새로운 프레임워크
기존의 쿼리-후보 매칭 방식을 대체하며 semantic ID 기반의 생성형 검색을 도입
Transformer 모델의 메모리를 활용해 사용자 행동 이력에 따라 추천할 아이템 생성

 

  1. Semantic ID 생성
    • 각 아이템의 텍스트 정보에서 SentenceT5 같은 pretrained language model을 활용해 semantic embedding을 생성
    • 이를 codeword 형태로 quantization하여 사용
    • 기존의 랜덤ID 대신 의미가 있는 토큰으로 아이템을 표현해 일반화 성능과, 신규아이템 추천에 강점
  2. 생성형 검색 모델
    • Tay et al. [34] that used Transformer memory for document retrieval
    • Transformer memory (parameters) 를 retrieval에 end-to-end index로 사용함

2. Related Work

Sequential Recommenders.

Early Work:

  • GRU4REC [11]: GRU 기반 RNN을 최초로 사용해 순차 추천을 도입
  • NARM [24]: GRU와 주의(attention) 메커니즘을 결합해 사용자의 장기적인 의도를 추적

Advancements with Self-Attention Mechanisms:

  • AttRec [41] : 현재 세션의 유저의 의도를 attention으로 파악하고 user-item affinity를 metric learning으로 모델링
  • SASRec [17]: decoder-only transformer model을 채택
  • BERT4Rec [32] & Transformers4Rec [6]: masking기법을 순차 추천에 적용
  • S3-Rec [44] : 4가지 self-supervised taskfh vygusfur rkdghk

Differences from Existing Models:

  • 기존 모델: high-demdnsional embeddings를 생성하고Approximate Nearest Neighbors (ANN) & Maximum Inner Product Search (MIPS) 를 사용해 next item을 예측
  • TIGER: generative retrieval을 사용해 next item의 semantic ID를 직접 예측

Comparison with P5:

  • P5: Multi-task용 SentencePiece tokenize로 랜덤하게 배정된 item ID로 LLM을 파인튜닝
  • TIGER: 아이템의 content info를 내포하는 Semantic ID representations를 사용해 랜덤 배정 item ID보다 우수함

3. Proposed Framework

TIGER의 framework는 아래 항목으로 구성됨

  1. Semantic ID generation using content features
  2. Training a generative recommender system on Semantic IDs.

#️⃣3.1 Semantic ID Generation

  • general-purpose pre-trained text encoders such as Sentence-T5 [27] and BERT [7] can be used to convert an item’s text features to obtain a semantic embedding.
  • The semantic embeddings are then quantized to generate a Semantic ID for each item.
  • Semantic ID to be a tuple of codewords of length m.
  • 예시
    • Semantic ID (10,21,35)는 Semantic ID (10,21,40)랑 가까움
    • ID (10,23,32) 보다는 멂 (hierarchical 하기 때문에)

RQ-VAE for Semantic IDs

  • Residual-Quantized Variational AutoEncoder
  • tuple of codewords를 생성하는 목적

생성단계

  1. encoding: 입력 xxx를 인코더 EEE를 통해 잠재 표현 z:=E(x)z := E(x)z:=E(x)으로 변환
  2. 첫번째 residual은 r_0 := z로 정의됨
  3. quantization:
    1. 각 단계에서 code book을 사용
    2. 첫 번째 단계에서 r0와 가장 가까운 임베딩을 찾고 c_0로 저장
  4. residual update: r1​:=r0​−ec0​​로 갱신
  5. m번 반복하여 최종 m개 code word로 이루어진 semantic ID가 생성됨

#️⃣ 3.2 Generative Retrieval with Semantic IDs

  • 상호 작용한 항목을 시간순으로 정렬하여 모든 사용자에 대한 항목 시퀀스를 구성
  • (item1,...,itemn) 형태의 시퀀스가 ​​주어지면 추천 시스템의 작업은 다음 항목 itemn+1을 예측

$(ci,0,...,ci,m−1)$ 를
$(c1,0,...,c1,m−1,c2,0,...,c2,m−1,...,cn,0,...,cn,m−1)$ 로 변환
그리고 n+1의 semantic ID를 예측
$(cn+1,0, ...,cn+1,m−1)$

반응형

'AI > Papers' 카테고리의 다른 글

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks  (0) 2024.11.15