← notes

In-batch Negative Sampling

, ,

선택 편향 (Selection Bias)

BNS의 핵심 문제: 인기 아이템이 미니배치에 더 자주 등장 → 아이템 선택 확률이 Unigram 분포를 따름

logQ 보정 (Yi et al., 2019)

점수에서 샘플링 확률의 로그를 빼 편향을 보정:

sc(xi,yj)=s(xi,yj)−log⁡Q(j)s^c(x_i, y_j) = s(x_i, y_j) - \log Q(j)

여기서 Q(j)=count(j)∑kcount(k)Q(j) = \frac{\text{count}(j)}{\sum_k \text{count}(k)} (아이템 jj의 Unigram 확률)

인기 아이템일수록 log⁡Q(j)\log Q(j) 값이 커서 점수가 낮아지고, 롱테일 아이템은 상대적으로 점수가 올라가 편향이 완화된다.

요청 정렬 데이터에서의 거짓 음성 (False Negative)

학습 데이터를 Request-level Deduplication 목적으로 요청(request) 단위로 정렬하면 IID 가정이 깨지면서 거짓 음성이 급증한다.

해결책: user-level masking — 동일 사용자(요청)에서 온 아이템은 negative 후보에서 제외하고, 다른 사용자의 아이템만 negative로 사용. logQ 보정(logQ 보정)은 별도로 유지.