Paper: https://arxiv.org/pdf/2211.01154.pdf
PR113 Facebook group: https://www.facebook.com/groups/565858127904979
1. Popularity bias 푸는 방법들 많은데, gradient 관점에서도 한 번 보자!
- Popular item의 경우 negative sampled(uniform dist.) 횟수보다 positive sample로 등장하는 횟수가 훨씬 많음
- Positive로 등장했을 때의 gradient 총 합이 negative로 등장했을 때보다 더 큼!
- Overall gradient direction은 positive gradient direction과 매우 가깝게 형성됨
- ML-10M 데이터 까보니까, user/item 모두 popular item, active user와 더 많은 interaction을 가짐
- 위에서 언급한 것 때문에, gradient 계산 시 interaction이 많은 node들의 영향이 더 커짐
- 이를 억제할 필요가 있음, 결국 무엇을 제거해야 bias를 해결할 수 있나?
- Item popularity, user activity, user conformity
2. Motivation은 신박한데...
- User activity
- Active할수록 embedding norm이 크니까 train phase에서 normalize해서 사용
- Item popularity, user conformity
- Train phase에서 user/item별 모든 gradient를 모아서 평균낸 벡터를 global conformity/popularity embedding으로 사용
- 각 user/item embedding이 저 global embedding과 얼마나 유사한지 보고, 그만큼 빼서 inference phase에서 사용(ad-hoc)
- Algorithm 2에서 line 2-3 부분
- 학습 과정에서 안 하는 이유는 거기서는 실제 feature와 bias가 interwined 상태여서 빼기 힘들다고... 함
3. Test set 구성은 이 research line(CauseE, DICE, MACR... 등의 causal+recsys)에서 쓰던대로 unbiased test set 사용
- 가능한 모든 아이템이 동일한 횟수만큼 testset에 등장하도록 sampling. Infeasible한 test set 아닌가...?
- 아무튼 이 구성에서 기존 baseline들보다 성능 잘 나옴. Most popular item group에 대한 trade-off는 해결 못 함