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)
- Self Attention AutoEncoder
-> user의 latent representation 파악하기 위해 사용
이 때 소스 도메인과 타겟 도메인 모두 작동
- 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가지 손실함수로 이뤄져 있음.
- reconstruction loss : 주로 오토인코더나 생성 모델에서 사용되며, 원본 데이터를 재구성했을 때의 차이를 측정
- discriminative loss : 이 항목은 분류 성능을 향상시키기 위해 사용될 수 있으며, 모델이 서로 다른 클래스 또는 데이터 포인트 간의 차이를 잘 구별할 수 있도록 유도, 이 손실은 보통 낮아야 하므로, 총 손실에서 -함
- l2 정규화 loss : 이는 모델 파라미터에 대해 정규화를 적용하여 오버피팅을 방지하는 데 사용
3-2 모델 구조 설명

1. 임베딩 (Embedding)
- Item & Position Embedding
- 도메인 A와 B의 사용자 interaction sequence는 각각 항목과 위치 임베딩을 통해 임베딩
- eia,eib
- 이 임베딩은 항목의 정체성 via,vib 그리고 시퀀스 내 위치를 결합하여 상호작용 순서 포착
- 시퀀스 임베딩 (Sequence Embedding)
- 단기 시퀀스 임베딩 (short-term Sequene Embedding)
- 두 도메인의 단기 행동 sequence는 시퀀스 임베딩을 통해 임베딩
- GURU 인코더
- latent embedding - 잠재 임베딩
- 이 단기 시퀀스 임베딩은 GURU 인코더에 입력되어 일반화된 latent user representation hia,hib 생성
- 인코더는 이 임베딩을 결합하여 long term sequence representation 형성
- AutoEncoder 작업 학습
- CDSRec 모델
- 도메인별 다음 항목 추천 (Domain-Specific Next Item Recommendation)
- GURU 인코더에서 생성된 일반화된 사용자 표현(GUR)은 두 도메인의 CDSRec 모델에서 사용
- 각 CDSRec 모델은 주의 변환기 층(attention transformer layer)과 피드포워드 층(feed-forward layers)을 사용하여 시퀀스의 다음 항목을 예측
- 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의 효과와 성능 입증