머신 러닝 이론

Cross Entropy 손실함수

skawlsgus2 2025. 4. 5. 21:43

크로스 엔트로피 손실(Cross-Entropy Loss)은 머신러닝, 특히 딥러닝에서 분류 모델의 성능을 평가하고 학습시키는 데 널리 사용되는 손실 함수이다. 모델이 예측한 확률 분포 실제 레이블의 확률 분포와 얼마나 다른지를 측정하여, 모델이 더 정확한 예측을 하도록 유도하는 역할을 한다. 클래스 3개 이상의 다중 클래스 분류에서 사용되는 크로스 엔트로피 손실함수는 다음과 같다.

 

L(y, p) = - Σ y* log(p)

여기서 y는 라벨값, p는 모델이 예측한 확률을 의미한다. 정답에 해당하는 클래스에 대해 모델이 확률을 0에 가깝게 도출했다면(낮은 확률) 손실함수 값은 발산에 가까운 값이 되고, 다음 에포크에서는 크로스 엔트로피 손실함수의 값을 낮추는 방향으로 가중치가 업데이트 된다. 결국 확률 p를 높히는 방향으로 가중치가 조정되는 것이다.

출처: https://www.youtube.com/watch?v=vAaReyHMfY8
출처: https://www.youtube.com/watch?v=vAaReyHMfY8

위 그림에서 왼쪽의 소수들은 모델이 각 분류 대상에 대한 확률을 나타낸 것이며, 오른쪽은 원-핫 인코딩으로 구성된 라벨이다. 

왼쪽 이미지에서는 크로스 엔트로피 손실함수는 -ln(0.1)= 2.3026 이다. 이 손실함수를 줄이는 방향으로 가중치를 업데이트 하려면 0.1 의 확률을 더 높여 1에 가깝게 만들어야 할 것이다. 결과적으로 해당 클래스에 대한 예측 확률은 높아지게 된다.