손실함수(loss function)는 「모델의 예측이 정답에서 얼마나 멀리 떨어졌는지를 한 숫자로 압축해 주는 함수」입니다.
모델의 모든 학습은 결국 「이 손실 숫자를 줄이는 방향으로 파라미터를 옮기는 일」이므로, 손실함수는 학습의 방향키와 같습니다.
회귀 문제에서 가장 흔한 손실함수는 평균제곱오차(MSE, Mean Squared Error)입니다.
「예측값과 실제값의 차이를 제곱한 뒤 평균을 낸 값」입니다.
차이를 그냥 더하면 양수와 음수가 상쇄되어 0이 될 수 있으니, 제곱해서 항상 양수로 만들고 큰 오차에 더 큰 벌점을 주는 영리한 설계입니다.
분류 문제에서는 교차엔트로피(Cross Entropy)가 표준입니다.
모델이 「이 사진은 고양이일 확률 80%, 개일 확률 20%」라 답했고 정답이 고양이면, -log(0.8)이라는 작은 손실을 주고, 정답이 개였다면 -log(0.2)라는 큰 손실을 주는 식입니다.
「정답에 자신 있게 맞히면 보상, 틀린 답에 자신 있으면 큰 벌점」을 주는 구조입니다.
비유하자면 손실함수는 「학생이 시험을 봤을 때 매 문제에 매기는 감점 기준」과 같습니다.
어느 답에 얼마나 점수를 깎을지 정해 두어야 학생도 어떻게 공부해야 점수를 올릴지 알 수 있습니다.
손실함수를 잘 고르는 것 자체가 모델 설계의 큰 부분입니다.
같은 분류 문제라도 클래스가 매우 불균형하면 단순한 교차엔트로피보다 「Focal Loss」 같은 변형이 더 잘 통하고, 추천 시스템에서는 「Triplet Loss」 같은 비교 기반 손실이 효과적입니다.
한 줄 요약
손실함수는 모델의 예측이 정답에서 얼마나 멀리 떨어졌는지를 한 숫자로 표현하는 학습의 방향키이며, 회귀에는 MSE, 분류에는 교차엔트로피가 표준입니다.
더 알아볼 것
- MSE와 MAE의 차이
- 교차엔트로피의 정보이론적 의미
- Focal Loss·Hinge Loss·Triplet Loss