250210 TIL #608 AI Tech #140 P:SASRec에 CE 적용 실험

김춘복·2025년 2월 10일
0

TIL : Today I Learned

목록 보기
610/628

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=uUt=1nulog(σ(rt,it(u)))+log(1σ(rt,(u)))LCE=uUtTulogexp(rt,it(u))iIexp(rt,i(u))\mathcal{L}_{BCE} = -\sum_{u \in U} \sum_{t=1}^{n_u} \log(\sigma (r_{t,i_t}^{(u)})) + \log(1-\sigma(r_{t,-}^{(u)})) \\ \mathcal{L}_{CE} = -\sum_{u \in U} \sum_{t \in T_u} \log \frac{\exp(r_{t,i_t}^{(u)})}{\sum_{i \in I} \exp(r_{t,i}^{(u)})} \\
  • 방법 : Baseline인 BCE를 적용한 SASRec과 CE를 적용한 SASRec을 같은 실험 환경에서 진행
  • 결론

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

0개의 댓글

관련 채용 정보