교차엔트로피 손실 (Cross-Entropy Loss)

컴퓨터과학·AI
한 줄 정의: 모델이 예측한 확률이 실제 정답과 얼마나 동떨어져 있는지를 숫자 하나로 나타낸 값입니다.

쉽게 풀면

OX 퀴즈를 푸는데 정답이 "O"라고 해봅시다. 어떤 학생은 "O일 확률 99%"라고 자신 있게 맞혔고, 다른 학생은 "O일 확률 51%"라고 겨우 맞혔습니다. 둘 다 정답을 맞혔지만, 확신의 정도는 크게 다릅니다. 교차엔트로피 손실은 바로 이 확신의 차이까지 반영해서 벌점을 매기는 채점 방식입니다. 정답을 높은 확률로 예측했다면 벌점(손실)이 거의 없지만, 정답을 낮은 확률로 예측했거나 심지어 오답에 더 높은 확률을 줬다면 벌점이 크게 치솟습니다. 신경망은 학습 과정에서 이 벌점을 최소화하는 방향으로 경사하강법을 통해 가중치를 조금씩 조정합니다.

왜 중요한가

교차엔트로피 손실은 이미지 분류, 자연어 처리, 음성 인식 등 분류 문제를 다루는 거의 모든 딥러닝 연구에서 표준으로 사용되는 손실함수이기 때문에 컴퓨터과학·인공지능 논문에서 대단히 자주 등장합니다. 정보이론의 엔트로피 개념에 뿌리를 두고 있어 확률적 예측을 학습시키는 데 이론적으로 잘 맞아떨어지며, 경사하강법과 결합했을 때 학습이 안정적으로 이뤄지는 성질도 널리 채택되는 이유 중 하나입니다. 대규모 언어모델 사전학습에서도 다음 토큰을 예측하는 손실로 교차엔트로피가 기본으로 쓰입니다.

논문에서는 이렇게 쓰입니다

"모델 학습에는 교차엔트로피 손실 함수를 사용하였으며, Adam 옵티마이저로 50 에포크 동안 최적화하였다."

이 문장은 "예측 확률과 정답 사이의 차이(교차엔트로피)를 벌점으로 삼아, 이 벌점이 줄어들도록 모델을 50번 반복 학습시켰다"는 뜻입니다.

"클래스 불균형 문제를 완화하기 위해 가중 교차엔트로피 손실을 적용하여 소수 클래스에 더 큰 벌점을 부여하였다."

의료영상 분류처럼 특정 클래스의 데이터가 적은 경우, 클래스별 가중치를 부여한 교차엔트로피를 사용해 불균형을 보정하는 연구에서 자주 쓰인다.

"언어모델의 사전학습 단계에서 다음 토큰 예측에 대한 교차엔트로피 손실을 목적함수로 사용하였으며, 학습이 진행됨에 따라 손실 값이 꾸준히 감소하는 것을 확인하였다."

자연어처리 연구에서는 대규모 언어모델의 사전학습 목적함수로 교차엔트로피가 사용되었음을 밝힐 때 이런 표현이 쓰인다.

조금 더 깊게 보면

교차엔트로피는 정보이론에서 두 확률분포가 얼마나 다른지를 나타내는 개념으로, 이진 분류에는 이진 교차엔트로피, 다중 클래스 분류에는 범주형 교차엔트로피가 각각 쓰입니다. 소프트맥스 함수의 출력과 결합했을 때 그 도함수가 수식적으로 단순해져 계산이 효율적이라는 점도 널리 채택되는 실용적 이유입니다. 다만 클래스 간 데이터 수가 크게 불균형할 경우 소수 클래스가 손실에 충분히 반영되지 않을 수 있어, 클래스별 가중치를 부여하거나 포컬 손실(focal loss) 같은 변형을 사용하기도 합니다.

주의할 점

교차엔트로피 손실은 보통 소프트맥스 함수가 출력한 확률값을 입력으로 받아 계산됩니다. 손실 값 자체는 0에 가까울수록 좋지만, 절대적인 크기만으로 모델 성능을 판단하기는 어렵고 정확도 등 다른 지표와 함께 봐야 합니다.

관련 용어