이커머스에서의 In-Batch Negatives
In-batch negative는 학습 배치 내에서 negative sample을 구성하는 방법입니다. 이커머스 환경에서는 한 배치 내의 다른 사용자가 상호작용한 상품을 현재 사용자의 negative sample로 사용합니다.
자세한 예시
-
데이터 구성 (사용자-상품 상호작용):
- (사용자 A, 상품 1) - positive (구매)
- (사용자 A, 상품 3) - positive (클릭)
- (사용자 B, 상품 2) - positive (구매)
- (사용자 C, 상품 1) - positive (구매)
- (사용자 C, 상품 4) - positive (클릭)
-
Batch 구성 (크기: 3):
- 배치 1: (사용자 A, 상품 1), (사용자 B, 상품 2), (사용자 C, 상품 1)
-
In-Batch Negatives 적용:
- 사용자 A의 관점:
- Positive: 상품 1
- Negative: 상품 2 (다른 사용자인 B가 구매한 상품)
- 사용자 B의 관점:
- Positive: 상품 2
- Negative: 상품 1 (다른 사용자인 A, C가 구매한 상품)
- 사용자 C의 관점:
- Positive: 상품1
- Negative: 상품2 (다른 사용자인 B가 구매한 상품)
- 배치 2: 배치 1에 (사용자 A, 상품3), (사용자 C, 상품 4)가 추가 된다면,
- 사용자 A의 관점:
- Positive: 상품 1, 상품 3
- Negative: 상품 2, 상품4 (다른 사용자인 B,C가 구매/클릭한 상품)
In-Batch Negatives의 장점 (이커머스)
- 효율성: 별도의 negative sampling 과정 없이 배치 내에서 negative sample을 구성하므로 계산 비용이 절감됩니다.
- Hard Negative Mining: 배치 내 다른 상품들은 사용자가 실제로 구매하거나 클릭했을 가능성이 있는 상품들이므로, 모델이 더 미묘한 차이를 학습하는 데 도움이 됩니다.
- Implicit Feedback 활용: 이커머스 데이터는 대부분 사용자의 암시적 피드백(구매, 클릭, 조회 등)으로 구성됩니다. In-batch negative는 이러한 암시적 피드백을 자연스럽게 활용할 수 있습니다.
In-Batch Negatives의 단점 (이커머스)
- 배치 크기 의존성: 배치 크기가 작으면 negative sample의 다양성이 부족해져 학습 효과가 떨어질 수 있습니다.
- 인기 편향: 인기 상품이 배치에 자주 등장하면 negative sample로 과도하게 선택되어 모델이 인기 상품에 편향될 수 있습니다. 이를 완화하기 위해 다음과 같은 기법들이 사용됩니다.
- Frequency-based Sampling: 상품의 등장 빈도에 따라 negative sampling 확률을 조절합니다.
- Temperature Scaling: 유사도 점수에 temperature parameter를 적용하여 인기 상품의 영향력을 조절합니다.
추가 고려 사항
- Negative Sampling 전략: In-batch negative 외에도 uniform negative sampling, popularity-based negative sampling 등 다양한 전략을 함께 고려할 수 있습니다.
- 데이터 전처리: 상품 카테고리, 브랜드 등 메타데이터를 활용하여 더 의미 있는 negative sample을 구성할 수 있습니다.
이커머스 환경에서 in-batch negative는 효율적이고 효과적인 추천 모델 학습을 위한 중요한 기법입니다. 하지만 데이터의 특성과 모델의 구조에 따라 적절한 튜닝과 추가적인 기법들을 함께 고려해야 합니다.