RecGURU: Adversarial Learning of Generalized User Representations for Cross-Domain Recommendation (2021.11)

구자협·2024년 8월 16일

Cross-Domain 추천시스템에서 Adversarial learning을 적용시켜 user의 representation을 일반화시키는 RecGURU 모델 논문을 소개하고자 한다.
출처 : https://arxiv.org/abs/2111.10093

먼저 핵심만 가지고 전체적인 흐름을 소개하고 세부적인 내용을 살펴보자.
간단하게 살펴보고 싶은 사람은 핵심정리 내용만 봐도 무방하다.

핵심정리

<RecGURU 목표>
1. data sparse problem 해결
→ original SeqRec에서 사용자 행동 데이터 부족한 경우 많음
2. Generalized User Representations 생성
-> 여러 도메인에서 사용자의 정보를 통합하여 일반화된 사용자 범용 표현 만듦

<RecGURU 주요 구성 요소>

  • Generalized User Representation Unit (GURU)
  1. Self Attention AutoEncoder
    -> user의 latent representation 파악하기 위해 사용
    이 때 소스 도메인과 타겟 도메인 모두 작동
  2. domain discriminator
    -> 생성된 user representation의 출처 도메인을 예측
  • Adversarial Learning
    Generator : 인코더 부분이 사용자 표현 생성
    Discriminator : 생성된 표현의 출처 도메인을 식별
    목표 : 인코더와 식별자 번갈아가면서 학습, 식별자는 도메인 구분할 수 없을 때까지 학습

세부 내용

1. Abstract

  • RecGURU 모델 프레임워크 공개한 논문
  • RecGURU는 data sparse을 해결하기 위한 Cross-Domain Recommendation에서 사용자의 정보를 통합하여 일반화된 사용자 표현(GUR)을 생성한다.
  • 이 모델은 두개의 모듈
    * autoencoder
    • domain discriminator
      -> 서로 다른 도메인에서 생성된 사용자 임베딩을 하나의 글로벌 GUR로 통합
  • 실험 결과에서 RecGURU는 기존의 sequencial 및 Cross-Domain 추천 방법들보다 우수한 성능을 보임.
  • 논문에서는 두 개의 공개 cross-domain dataset과 실세계 애플리케이션으로부터 수집된 대규모 데이터셋에서 실험 결과를 제시 (Experiments에서 자세히 살펴보자)

2. Introduction

  • SeqRec
    * 사용자들의 최근 행동과 장기적인 행동 이력 활용 -> 온라인 사용자의 선호도와 의도를 모델링하는 데에 사용

    • RNNs와 Attention Machanism 활용
  • Cross-Domain Rec
    * data sparse 해결

    • transfer learning : 한 도메인에서 다른 도메인으로 사용표현을 매핑하는 방식을 사용함
    • 그러나 대부분의 기존 방법은 각 도메인에서 겹치는 사용자 데이터를 기반으로 transfer 수행, 겹치는 사용자가 거의 없거나 아예 없을 때는 수행 x -> 이는 실제 응용에서 종종 충분한 수의 겹치는 user 수를 확보하는 데에 어려움을 갖고 있음
  • RecGURU 설명
    구성
    GURU(G) 모듈 : 일반화된 사용자 표현 (GUR) 생성
    * CDSRec(C) 모듈 : GUR을 활용해 도메인 간 협력 시퀀셜 추천 수행

    • 모듈
      • AutoEncoder :각 도메인에서 유익한 user 임베딩 생성
        self-attention encoder : 소스 및 타겟 도메인의 행동 시퀀스를 재구성하는 두 개의 decoder와 모델 가중치 공유
        학습 : 행동 시퀀스 reconstruct을 통해 초기 임베딩 생성
        • Adversarial Learning :
          * encoder(generator) : 사용자 임베딩 생성
          • Discriminator : 생성된 임베딩의 출처 도메인 식별
          • 학습 과정 : 판별자가 도메인을 구분하지 못할 때까지 인코더와 판별자를 번갈아 가면서 학습
          • 결과 : 두 도메인의 사용자 임베딩이 통계적으로 구별 x
  • 핵심 기여
    - 도메인 간 협력 없이 단일 GUR로 사용자 표현 통합
    - 겹치는 사용자가 없을 때도 효과적
    - 아마존 데이터셋과 실제 데이터셋(Wesee와 Tencent Video)을 통해 성능 입증

3. Method

3-1 loss 설명

  • BPR(Bayesian PErsonalized Ranking) loss 함수를 변형시킴
  • 간단하게 설명하면, 긍정 샘플과 부정 샘플을 구별하여 긍정적인 상호작용의 확률을 최대화하고 부정적 상호작용의 확률을 최소화하는 것을 목표로 함.
  • 궁극적으로 사용자가 좋아하는 아이템이 그렇지 않은 아이템보다 높은 순위에 오르게 끔 함.
  • 최종 손실 함수는 총 3가지 손실함수로 이뤄져 있음.
  1. reconstruction loss : 주로 오토인코더나 생성 모델에서 사용되며, 원본 데이터를 재구성했을 때의 차이를 측정
  2. discriminative loss : 이 항목은 분류 성능을 향상시키기 위해 사용될 수 있으며, 모델이 서로 다른 클래스 또는 데이터 포인트 간의 차이를 잘 구별할 수 있도록 유도, 이 손실은 보통 낮아야 하므로, 총 손실에서 -함
  3. l2 정규화 loss : 이는 모델 파라미터에 대해 정규화를 적용하여 오버피팅을 방지하는 데 사용

3-2 모델 구조 설명


1. 임베딩 (Embedding)

  • Item & Position Embedding
    • 도메인 A와 B의 사용자 interaction sequence는 각각 항목과 위치 임베딩을 통해 임베딩
    • eia,eibe^{a}_{i}, e^{b}_{i}
    • 이 임베딩은 항목의 정체성 via,vibv^{a}_{i}, v^{b}_{i} 그리고 시퀀스 내 위치를 결합하여 상호작용 순서 포착
  1. 시퀀스 임베딩 (Sequence Embedding)
    • 단기 시퀀스 임베딩 (short-term Sequene Embedding)
      • 두 도메인의 단기 행동 sequence는 시퀀스 임베딩을 통해 임베딩
  2. GURU 인코더
    • latent embedding - 잠재 임베딩
      • 이 단기 시퀀스 임베딩은 GURU 인코더에 입력되어 일반화된 latent user representation hia,hibh^{a}_{i}, h^{b}_{i} 생성
      • 인코더는 이 임베딩을 결합하여 long term sequence representation 형성
  3. AutoEncoder 작업 학습
    • Reconstructed Seqeunce
      • GURU 인코더의 출력 → 입력 시퀀스를 재구성하는데에 사용

        → 도메인별로 디코더(Decoder A와 Decoder B)를 통해 수형

  4. CDSRec 모델
    • 도메인별 다음 항목 추천 (Domain-Specific Next Item Recommendation)
    • GURU 인코더에서 생성된 일반화된 사용자 표현(GUR)은 두 도메인의 CDSRec 모델에서 사용
    • 각 CDSRec 모델은 주의 변환기 층(attention transformer layer)과 피드포워드 층(feed-forward layers)을 사용하여 시퀀스의 다음 항목을 예측
  5. GUR (Generalizing User Representations)
    • GURU 모듈
      • Domain Discriminator : 사용자 표현에 제약 적용 → 도메인 간 일반화 보장
      • 모든 사용자에 대한 제약 : 사용자 임베딩에 제약 적용 → 사용자가 도메인 A or 도메인 B에 속하는지 예측
      • 겹친 user에 대한 제약 : 두 도메인이 모두 있는 user에 대해서 두 도메인의 임베딩간 L2 거리 최소화하여 일관성 유지

4. Experiment

  • 기본 알고리즘: POP, BPRMF, SAS, Bert4Rec
  • 제안된 변형 방법들: AutoRec, AutoEM, RecGURU
  • 성능 지표:
    • HR@5 (Hit Ratio at 5): 추천된 상위 5개 항목 중 히트율
    • HR@10 (Hit Ratio at 10): 추천된 상위 10개 항목 중 히트율
    • NDCG@5 (Normalized Discounted Cumulative Gain at 5): 상위 5개 항목의 중요도 순서 고려한 지표
    • NDCG@10 (Normalized Discounted Cumulative Gain at 10): 상위 10개 항목의 중요도 순서 고려한 지표

여기서, RecGURU가 대부분의 시나리오에서 최고 성능을 보이며, 특히 HR@10과 NDCG@10에서 큰 향상을 보이는 것을 알 수 있음

  • (a) 그래프:
    • Discriminator Loss: 도메인 판별자의 손실
    • Wasserstein Distance: 두 확률 분포 간의 거리, 초기에는 증가하다가 점차 감소하며 수렴
  • (b) 그래프:
    • Recon Loss A/B: 소스와 타겟 도메인의 재구성 손실
    • BPR Loss: 추천 작업의 BPR 손실
    • 재구성 과제는 약 400회 반복 후 수렴, 추천 작업은 약 100회 반복 후 수렴

5. Conclusion

  • RecGURU : RecGURU는 일반화된 사용자 표현(GUR)을 기반으로 하는 새로운 형태의 크로스 도메인 순차 추천 프레임워크
  • 기존 방식과의 차별점 소개
    • 지식 전이: 기존 크로스 도메인 추천 시스템은 주로 도메인 간의 지식 전이에 중점을 두었으나, RecGURU는 조금 다른 접근을 사용
    • GURU 모듈: RecGURU는 다양한 도메인에서 통합된 사용자 표현을 추출할 수 있는 GURU 모듈을 제안
  • 세부 기술:
    • autoencoder: 각 도메인에서 사용자 표현을 생성하기 위해 오토인코더가 사용
    • 도메인 일반화: 도메인 간 일반화는 도메인 구별 가능한 임베딩을 통계적으로 구별할 수 없을 때까지 discriminator와 encoder를 대립적으로 학습
  • 안정성 및 학습 효과:
    • 다양한 안정화 및 학습 향상 기법들을 제안
  • 실험 결과:
    • 공개된 데이터셋과 자체 수집한 데이터셋에서 RecGURU의 효과와 성능 입증
profile
Time Series Analysis, Artifical Intelligence

0개의 댓글