hard negative sample은 user preference를 학습하는데 큰 역할을 함 (contrastive signal)
기존의 방법들은 prediction score나 popularity가 높게 예측된 아이템들을 hard negative sample로 설정
→ 높게 예측된 아이템들은 user positive signal를 나타내기 때문에 false negative sample을 고르는 게 힘듬
true negative, false negative, hard negative sampling?
negative: user-item interaction이 없을 때
true negative sample: user가 해당 item을 실제로 싫어함
false negative: user가 해당 item을 실제로 좋아함
hard negative sample: 모델이 예측한 점수가 높아 실제로 좋아하는지, 싫어하는지 헷갈리는 샘플
user cross-domain behavior를 통해 false negative를 줄여 true negative sample을 잘 찾는 연구가 존재
효과적으로 hard negative sample을 발견하고 활용해 cdr을 향상시키는 방법은 여전히 open question
저자는 cross-domain sequential recommendation을 위한 exploration exploitation of hard negative samples (EXHANS)를 제안
For better exploration (잘찾고)
source domain으로 부터 user preference를 활용 → target domain의 negative sampling을 guide
→ Key idea: false negative sample이 hard negative sample에 비해 user preference와 유사할 가능성이 높음
Adaptive popularity-based score correction: 사용자의 인기아이템에 대한 다양한 취향을 설명
→ 인기 아이템들과 상호작용한 사용자들과, 인기 아이템들이 false negative sample이 될 확률이 높음
(인기아이템을 아직 보지 않은 사용자가 해당 아이템을 좋아할 확률이 높음)
For better exploitation (잘활용)
replay buffer를 설계: 얻은 negative sample을 저장
curriculum learning framework 제안: hard negative sample의 exploration-exploitation의 균형을 담당
1. Introduction
CDSR(Cross-Domain Sequential Recommendation)은 여러 도메인에서 발생한 user behavior를 따라 user preference를 모델링
CDSR은 implicit feedback(click, purchase)를 기반으로 user preference 학습
→ 모델 학습을 위한 positive, negative sample의 quality에 따라 성능이 결정
implicit feedback은 일반적으로 positive sample의 의미를 담고 있음(관심이 있으니 클릭을 하고 구매를 한 것)
따라서 모델 학습 개선(일반화, 편향제거)을 이뤄내기 위한 negative sampling이 필수적임
Naive solution: uniform sampling (un-interacted item들을 uniformly sample)
→ sufficient information 제공 및 gradient 계산이 ineffective
Sampling hard negatives
Hard negative sample은 user negative preference에 대한 더 가치있는 정보를 제공하고 있어 매우 중요함
기존의 hard negative sampling method는 prediction score or popularity가 높게 나온 item들에 더 높은 sampling 확률을 부여
negative sampling은 모델 학습 과정에서 일반화 능력이 올라가도록 하는 방법
기존의 방법은 prediction score가 높은 item을 hard negative sample로 정함
→ 모델의 학습이 완료된 후 prediction을 진행하기 때문에 앞뒤가 안맞는 거 같았다
⇒ 학습 과정 중 매번 prediction score 계산하여 hard negative sample 선택
기존의 방법은 false negative sample을 골라내기 어렵고, prediction score가 높은 아이템들은 positive user preference를 나타내기 때문에 학습이 잘못될 수 있음
최근, false negative issue를 완화하는 몇몇 연구들이 존재
variance-based sampling method (Ding et al)
false negative가 학습 중 분산이 더 낮은 경향이 있다는 관찰로 hard negative를 얻음
adaptively adjust sampling method (Shi et al, Lai et al)
false negative를 선택할 가능성을 줄임
이러한 방법들은 false negative issue를 해결하여 추천 성능을 향상시킴
Limitations of existing methods
CDSR의 negative sampling에 여전히 limitation이 존재
For the mining of hard negative, previous work는 user cross-domain behavior를 이용해 false negative issue를 해결하는데 실패
→ sampling 연산이 너무 복잡하고 과적합의 위험이 크기 떄문
- 사용자마다 인기아이템에 대한 선호도가 다르다는 점을 negative sampling process는 고려해야함 (인기아이템 ≠ hard negative)
For the utilization of hard negative, 기존의 방법은 얻은 negative sample을 잘 사용하고 있지 않음
→ 모델 학습을 위한 negative sample중 일부만 valuable
- high quality인 hard negative sample을 사용해야 함
이 부분에 대한 근거는 작성되어있지 않음
Motivation
위의 두 limitation을 해결하기 위한 저자들의 points
source domain의 user preference는 hard negative인지 false negative인지 구별을 잘 해야함
false negative sample은 user preference와 일치할 가능성이 높음
책 도메인(s)에서 사용자가 해리포터 소설을 선호한다면, 영화 도메인(t)에서 해리포터 영화를 선호할 가능성이 높음 (영화를 보지 않았다고 가정) → false negative
false negative는 negative sample에서 제외시켜야 함
아이템들의 상대적인 인기도를 고려해야함 → 인기아이템에 대한 선호도가 다 다르기 때문
저자는 더 인기있는 아이템일수록 더 많은 사용자들이 상호작용함을 주장 → 해당 인기아이템이 false negative일 가능성이 더 큼
학습 초기에는 hard negative mining에 집중, 후에 exploitation
Proposed method
저는 EXHANS를 제안
Exploration
hard negative sample을 exploration하기 위해 user preference 기반의 negative sampling score를 formulate
source domain에서는 preference prediction이 낮고, target domain에서는 preference prediction이 높을 때, negative sampling 확률을 높게 부여 (false negative 제외하는 작업)
사용자마다 인기아이템에 대한 선호도가 다르기 때문에, negative sampling score를 조정하는 adaptive popularity-based score correction을 소개
false negative issue를 완화
adaptive popularity debias를 수행
Exploitation
replay buffer를 활용하여 얻은 hard negative sample을 캐시 후, optimization process에서 reuse
curriculum based learning strategy는 exploration과 exploitation의 adaptively balance를 위해 제안됨
→ 학습 초기에는 exploration에 더 많은 비중, 이후 exploitation에 더 많은 비중
SD(Source Domain guidance): source domain에서의 user preference를 hard negative에서 제외 (false negative issue)
5. Conclusion and Future Work
CDSR에서 사용되는 negative sampling challenge를 두 가지 관점(exploration, exploitation)에서 접근하고 이를 해결
source domain guidance, adaptive popularity correction, curriculum learning 등 저자들이 고안한 EXHANS는 실험에서도 그 우수함을 입증
My Opinions
EXHANS를 통해 CDSR 이라는 분야에 대해서 알게 되었음. 또한, negative sample이라는 개념을 이번 논문을 통해 확실하게 각인시킴
EXHANS와 같은 sampler는 당장에는 우리의 연구에 적용시킬 순 없을 거 같지만, persona를 정의한다면 multi-persona를 잘 구분짓는 persona sampler를 고안할 때 아이디어를 가져올 수 있을 거 같음
How to define the persona?
하나의 도메인을 예로 든다면 (패션 도메인), 패션도메인에는 다양한 카테고리가 존재 (상의, 하의, 신발, 가방 등) 우리가 생각하는 multi-persona, persona는 이러한 다양한 카테고리 속에서 사용자의 선호도가 다 다르다는 것.
예로 들면, ‘나’를 기준으로 상의 중에서는 다양한 상의 종류중에서 셔츠를 선호하고, 셔츠 중에서도 단색 셔츠보다는 체크셔츠를 선호
하의는 데님팬츠보다는 코튼팬츠를, 그 중에서도 통이 넓은 벌룬핏 코튼 팬츨르 선호
이러한 선호도를 임베딩 차원에 매핑시켰을 때, 선호하는 아이템들이 매핑되는 특정 공간이 존재, 이 공간의 방향벡터가 다 다를 것으로 생각함.
그렇다면 이 방향벡터가 사용자의 persona를 의미하는 게 아닐까?
After Meeting
+) Questions
Q1: Hard negative가 BPR optimization에서 중요한 이유
A1:
BPR loss: LBPR=−logσ(s^u,i+−s^u,j−)
BPR loss의 gradient 크기는 negative pair의 prediction score가 결정
easy negative: prediction score가 낮게 나오기 때문에 시그모이드 내부의 값이 커짐 → −σ(⋅)→0에 가까워지기 때문에 gradient 작음
hard negative: prediction score가 높게 나오기 때문에 시그모이드 내부의 값이 작아짐 (0 or 음수) → −σ(⋅)→1에 가까워지기 때문에 gradient가 큼
⇒ 동일한 epoch에 비해 loss가 더 많이 감소 ⇒ hard negative로 학습을 해야함
Q2: Negative candidate set M안에 negative sampling score가 가장 높은 아이템을 뽑을 때 별도 regularizer나 loss가 존재?
“Then the item which has the highest sampling score within 𝑀 is selected as the negative sample for parameter updates.” - EXHANS
해당 구문에 의해 생긴 의문점. EXHANS에는 별도로 소개된 loss function, regularizer가 없다.
parameter update한다는 것은 EXHANS가 적용된 CDSR의 user, item embedding을 업데이트하는 CDSR 내부의 parameter를 의미
전체적인 학습과정은
⓵ user / item representation 생성 → ⓶ negative sampling (EXHANS) → ⓷ BPR Loss → ⓸ CDSR parameter update → ⓵ → …
epoch를 거치며 BPR loss에 의해 user, item representation이 갱신되기 때문에 선택되는 negative sample도 달라짐
Q3: EXHANS에서 주장한 학습초기엔 탐색, 중반 이후엔 활용 커리큘럼 전략의 이유
학습 초반에는 user, item representation에 의미있는 값이 들어있지 않아 EXHANS가 negative sample을 선별해도 BPR loss의 gradient가 크지 않을 확률이 높음
→ ϵt을 학습 초반에 1로 설정하여 exploration에 집중
이후 loss의 하락폭에 따라 ϵt의 하락폭이 결정되어 exploitation에 집중
Q4: EQ. 2 (source user preference)를 계산할 때 왜 j∈M만 쓰는지?
EXHANS의 목적은 target domain에서의 recommendation을 위한 CDSR의 학습성능을 올릴 수 있도록 hard negative sample을 잘 찾는 것
저자는 기본적으로 “source domain preference가 target domain preference로 이어질 가능성이 크다”라는 전제하에 EXHANS를 제안
즉, eq. 2는 (r(SS,j)=hS⋅ej,r(ST,j)=HT⋅ej) source domain에서의 사용자 선호도를 (취향을) tatget domain item에 대보면, 그 아이템이 false negative인지 hard negative인지 빠르게 알 수 있다를 의미한다.