250210 TIL #608 AI Tech #140 P:SASRec에 CE 적용 실험
Today I Learned
SASRec에 CE 적용 실험을 정리해봤다.
Loss Function 변경(BCE → CE)
- 가설 : SASRec의 Loss Function을 Binary Cross Entropy에서 Cross Entropy로 변경
- 현재 Task는 User가 특정 Item 소비 예측인 Binary Classification이 아닌, 다수의 Item 중 어떤 Item의 소비 가능성이 가장 클 것이냐를 예측하는 Multi-Class Classification Problem
- 따라서 모델이 전체 Item에 대해 Positive Item의 상대적 우선순위를 학습하는 것이 전반적인 모델의 성능을 향상시킬 것이라 가정
LBCE=−u∈U∑t=1∑nulog(σ(rt,it(u)))+log(1−σ(rt,−(u)))LCE=−u∈U∑t∈Tu∑log∑i∈Iexp(rt,i(u))exp(rt,it(u))
- 방법 : Baseline인 BCE를 적용한 SASRec과 CE를 적용한 SASRec을 같은 실험 환경에서 진행
- 결론


- 전반적인 성능지표 향상 및 hitrate@10에서
Warm User 성능 향상(35.7%) 대비 Cold User에서의 더 큰 성능(80.6%) 향상
- 그러나 Epoch당 train time이 42s에서 77s로 증가하는 trade-off 발생