In-Batch Negative Sampling 한계

HanJu Han·2025년 1월 26일

추천 시스템

목록 보기
44/49

In-Batch Negative Sampling은 인기 있는 아이템(상품/영화)이 상대적으로 더 자주 네거티브 샘플로 선택될 가능성이 높습니다.
이 현상은 데이터 분포의 편향성에서 비롯되며, 추천 시스템의 성능에 영향을 미칠 수 있습니다.


1. 문제: 인기 아이템의 과도한 네거티브 샘플링

(1) 발생 원인

  • 인기 아이템의 빈도 수:
    인기 있는 아이템은 데이터셋에서 더 자주 등장합니다.
    → 배치 내에 포함될 확률이 높아 자연스럽게 네거티브 후보로 더 많이 선택됩니다.
  • 예시:
    • Positive: user_A가 인기 영화 "인셉션"을 시청 → "인셉션"은 user_Apositive.
    • Negative: 동일 배치의 user_B, user_C 등 다른 사용자에게 "인셉션"은 네거티브로 사용됨.
      → "인셉션"이 배치에 포함될 때마다 여러 네거티브 샘플로 재활용됩니다.

(2) 문제점

  • 편향된 학습:
    모델이 인기 아이템을 과도하게 네거티브로 인식하도록 학습될 수 있습니다.
    → 실제로는 유저에게 적합할 수 있는 인기 아이템이 추천에서 배제될 위험.
  • 소수 아이템의 희생:
    드물게 등장하는 아이템(장기 꼬리 아이템)은 네거티브 샘플링 확률이 낮아 제대로 학습되지 않을 수 있음.

2. 해결 방안

(1) 샘플링 전략 보정

  • 가중치 부여 (Importance Weighting):
    아이템의 빈도 수에 반비례하는 가중치를 적용해, 인기 아이템이 네거티브로 선택될 확률을 감소시킵니다.
    • 예: sampling_probability = 1 / (아이템 등장 횟수 + α) (α: smoothing 파라미터).
  • 명시적 네거티브 샘플링:
    In-Batch Negative에 더해 랜덤 샘플링 또는 하드 네거티브 샘플링을 혼합합니다.

(2) 손실 함수 수정

  • 편향 보정 항 추가:
    아이템의 인기도를 고려한 보정 항을 손실 함수에 포함합니다.
  • Focal Loss 활용:
    쉽게 구분되는 샘플(인기 아이템)보다 어려운 샘플(소수 아이템)에 더 큰 가중치를 부여합니다.

(3) 하이브리드 샘플링

  • In-Batch + 외부 샘플링:
    배치 내 네거티브와 함께 전체 아이템 풀에서 균일하게 샘플링된 네거티브를 추가합니다.
    → 인기 아이템 편향 완화 + 소수 아이템 학습 기회 증가.

(4) 모델 아키텍처 개선

  • 인기도 분리 임베딩:
    아이템 임베딩을 인기도콘텐츠 특징으로 분리해 학습합니다.
    → 모델이 인기도와 콘텐츠를 구분하도록 유도.
  • Two-Tower 모델 확장:
    사용자-아이템 상호작용 빈도를 별도의 모듈로 학습합니다.

3. 실제 사례: YouTube 추천 시스템

  • 문제: 인기 동영상이 과도하게 네거티브로 사용되면, 개인화 추천 성능 저하.
  • 해결:
    • 샘플링 보정: 인기 동영상의 네거티브 선택 확률을 인기도에 따라 조정.
    • 온라인 하드 네거티브 샘플링: 모델이 실시간으로 예측한 False Positive를 네거티브로 추가.

4. 요약

  • ✅ 인기 아이템은 In-Batch Negative 샘플링에서 편향적으로 선택됩니다.
  • ✅ 원인: 데이터 내 빈도 수 차이 → 배치 내 과도한 노출.
  • ✅ 해결: 샘플링 전략 보정, 손실 함수 수정, 하이브리드 샘플링 등을 통해 편향 완화.

이 문제를 해결하지 않으면 모델이 인기 아이템을 과소평가하거나 소수 아이템을 무시하는 결과를 초래할 수 있습니다. 도메인에 맞는 전략을 선택해 적용하는 것이 중요합니다

profile
시리즈를 기반으로 작성하였습니다.

0개의 댓글