250206 TIL #605 AI Tech #137 P:BCE와 CE 차이(Loss Function)

김춘복·2025년 2월 6일
0

TIL : Today I Learned

목록 보기
607/627

Today I Learned

오늘은 BCE와 CE의 차이에 대해서 알아봤다.


Loss Function: BCE와 CE

Binary Cross Entropy (BCE)

BCE는 이진 분류 문제에서 주로 사용되는 손실 함수.

  • BCE의 수식
    BCE=1Ni=1N[yilog(pi)+(1yi)log(1pi)]\text{BCE} = - \frac{1}{N} \sum_{i=1}^{N} \left[ y_i \log(p_i) + (1 - y_i) \log(1 - p_i) \right]

여기서 yi는 실제 라벨, pi는 예측 확률을 나타낸다.
BCE는 시그모이드(Sigmoid) 함수와 함께 사용되며, 출력값을 0과 1 사이의 확률로 변환한다.

Cross Entropy (CE)

CE는 다중 클래스 분류 문제에서 사용되는 손실 함수

  • CE의 수식
    CE=i=1myilog(pi)\text{CE} = - \sum_{i=1}^{m} y_i \log(p_i)

CE는 소프트맥스(Softmax) 함수와 함께 사용되며, 여러 클래스에 대한 확률 분포를 계산한다.

주요 차이점

  • BCE는 이진 분류(두 개의 클래스)에 특화되어 있고, CE는 다중 클래스 분류에 사용된다.
  • BCE는 시그모이드 활성화 함수를, CE는 소프트맥스 활성화 함수를 사용한다.
  • BCE는 각 클래스를 독립적으로 처리하지만, CE는 모든 클래스의 확률 분포를 동시에 고려한다.

SASRec의 Loss Function

SASRec 모델은 기본적으로 Binary Cross Entropy (BCE) Loss를 사용한다.
모델은 각 시점에서 다음 아이템을 예측할 때, 실제 아이템(positive sample)과 랜덤하게 선택된 아이템(negative sample)을 구분하는 방식으로 학습하기 때문이다.

최근 연구에서는 CE Loss를 사용하는 방식도 제안되었으며, RecBole과 같은 라이브러리에서는 BCE('BPR')와 CE 두 가지 옵션을 모두 제공한다. 특히 CE Loss를 사용할 경우 negative sampling이 필요하지 않다는 장점이 있다.

profile
Backend Dev / Data Engineer

0개의 댓글

관련 채용 정보