손실함수 (Loss Function)
쉽게 풀면
양궁 선수가 쏜 화살이 과녁 중심에서 얼마나 벗어났는지 자로 재는 장면을 떠올려 보세요. 손실함수는 바로 그 "벗어난 정도"를 계산하는 자와 같습니다. 모델이 예측을 내놓으면, 손실함수는 그 예측이 정답과 얼마나 차이 나는지를 숫자(손실값)로 알려줍니다.
이 숫자가 크면 "많이 틀렸다", 작으면 "거의 맞았다"는 뜻입니다. 모델을 학습시킨다는 것은 결국 이 손실값을 점점 줄여나가도록 경사하강법 같은 방법으로 파라미터를 조금씩 조정하는 과정입니다.
왜 중요한가
손실함수는 모델 학습 과정 전체의 방향을 결정하는 핵심 요소이기 때문에 대부분의 논문에서 명시적으로 다뤄집니다. 같은 데이터와 같은 모델 구조를 쓰더라도 손실함수를 어떻게 설계하느냐에 따라 학습 결과가 크게 달라지므로, 새로운 손실함수를 제안하는 것 자체가 하나의 연구 주제가 되기도 합니다.
또한 정규화 항을 손실함수에 추가하는 방식은 모델의 일반화 성능을 높이는 대표적인 전략이라, 다양한 응용 분야의 논문에서 손실함수 설계가 핵심 기여로 제시됩니다.
핵심 정리
- 손실함수
L(y, ŷ)는 하나의 예측 ŷ이 정답 y에서 얼마나 벗어났는지를 0 이상의 숫자로 돌려줍니다. 학습 데이터 전체에 대한 평균을 경험적 위험(empirical risk)이라 하며, 모델은 이를 줄이도록 경사하강법 등으로 학습됩니다(Goodfellow 등, 2016). - 회귀에서 흔한 선택은 제곱오차(L2)와 절대오차(L1)입니다. 제곱오차는 큰 오차를 더 세게 벌주고, 절대오차는 이상치에 덜 민감합니다. Huber 손실은 오차가 작을 땐 제곱, 클 땐 절대값처럼 행동해 둘을 절충합니다(Huber, 1964).
- 분류에서는 정답 클래스에 부여한 확률 p에 대해
−log p인 교차엔트로피가 표준입니다. 정확도(0-1 손실)는 미분이 안 되어 학습에 쓰기 어렵기 때문에 매끄러운 대리 손실을 씁니다(Hastie 등, 2009). - 정규화 항을 손실에 더하기도 합니다. 이때 최소화하는 대상은 ‘손실 + 정규화 항’입니다.
예시로 보기
가상의 예측값으로 이상치가 두 손실에 미치는 영향을 계산해 봅니다. 정답이 [10, 12, 11, 13, 10]일 때, 예측을 두 가지로 가정합니다.
| 예측 | 오차(예측 − 정답) | MSE (평균 제곱오차) | MAE (평균 절대오차) |
|---|---|---|---|
| [11, 11, 12, 12, 13] | 1, −1, 1, −1, 3 | 2.6 | 1.4 |
| [11, 11, 12, 12, 30] | 1, −1, 1, −1, 20 | 80.8 | 4.8 |
마지막 한 점의 오차가 3에서 20이 되자 MAE는 1.4에서 4.8(약 3.4배)로 늘었지만 MSE는 2.6에서 80.8(약 31배)로 폭증했습니다. 이상치가 있을 때 L2가 그 점에 끌려가는 이유입니다.
분류에서는 정답 클래스 확률이 낮을수록 교차엔트로피가 급격히 커집니다.
| 정답 클래스 확률 p | 0.9 | 0.5 | 0.1 | 0.01 |
|---|---|---|---|---|
| −ln p | 0.105 | 0.693 | 2.303 | 4.605 |
자주 하는 오해
| 오해 | 바로잡기 |
|---|---|
| 손실이 작으면 좋은 모델이다. | 학습 데이터의 손실만 낮추면 과적합이 될 수 있습니다. 검증·시험 데이터에서의 손실과 성능을 함께 봅니다. |
| 손실함수와 평가지표는 같은 것이다. | 학습에는 미분 가능한 손실(예: 교차엔트로피)을 쓰고, 보고에는 정확도·F1처럼 해석하기 쉬운 지표를 쓰는 경우가 많습니다. |
| 서로 다른 손실의 값을 직접 비교할 수 있다. | 손실의 정의와 데이터 스케일이 다르면 값을 비교할 수 없습니다. |
| 손실은 하나만 쓴다. | 여러 손실을 가중합으로 합치는 방식이 흔하며, 가중치도 연구자가 정하는 설계 선택입니다. |
논문에서는 이렇게 쓰입니다
실제 논문에서
국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.
“첫째는 대상 이미지와 타겟 이미지의 근저(underlying) 구조의 차이를 평가하여 이를 네트워크의 손실함수에 대한 가중치로 사용하고, 둘째로 STN을 이용하여 생성된 이미지에 대해 어핀(affine) 변환을 수행하고 그 결과를 타겟 이미지와 비교한다.”
유방암 면역조직화학 이미지의 가상 염색 변환, 데이타베이스연구, 2022 · KCI 한국학술지인용색인 · 원문 보기 ↗
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
이 문장은 "모델이 얼마나 틀렸는지를 측정하는 기준으로 교차 엔트로피라는 방식을 채택했고, 그 값을 줄이는 방향으로 학습을 진행했다"는 뜻입니다. 어떤 손실함수를 쓰느냐에 따라 모델이 무엇을 "틀린 것"으로 간주하는지가 달라집니다.
생성 모델 계열 논문에서 자주 보이는 표현으로, 하나의 손실함수 안에 서로 다른 목적(입력을 잘 복원하는 것, 잠재 분포를 원하는 형태에 가깝게 만드는 것)을 동시에 반영했다는 뜻입니다. 이렇게 여러 항을 더해 손실함수를 구성하는 방식은 다양한 분야에서 흔히 쓰입니다.
객체 탐지나 분류 문제에서 특정 클래스의 데이터가 매우 적을 때, 기본 손실함수 대신 어려운 예제에 더 큰 가중치를 주는 손실함수를 사용했다는 의미입니다. 문제 상황에 맞춰 손실함수 자체를 바꾸는 것이 성능 개선의 중요한 열쇠가 될 수 있습니다.
조금 더 깊게 보면
실제로 논문을 읽다 보면 손실함수는 하나의 항이 아니라 여러 항의 가중합으로 구성되는 경우가 많습니다. 이때 각 항 앞에 붙는 가중치(하이퍼파라미터)를 어떻게 정하느냐가 별도의 튜닝 과제가 됩니다. 또한 손실함수의 형태(볼록함수인지 아닌지, 미분 가능한지)는 경사하강법 계열 최적화 알고리즘이 얼마나 안정적으로 수렴하는지에 직접 영향을 주므로, 저자들이 손실함수를 설계할 때 이러한 최적화 특성도 함께 고려합니다.
주의할 점
손실함수 값이 낮아졌다고 해서 항상 모델의 실제 성능이 좋아진 것은 아닙니다. 학습 데이터에 대한 손실만 지나치게 낮추면 과적합이 발생해, 정작 새로운 데이터에서는 성능이 떨어질 수 있습니다.
헷갈리기 쉬운 용어
문헌에 따라 뜻이 겹쳐 쓰이므로, 논문에서는 사용한 정의를 밝힙니다.
| 용어 | 일반적 의미 | 비고 |
|---|---|---|
| 손실함수(loss) | 한 표본의 예측 오차를 재는 함수 | 문헌에 따라 전체 평균을 뜻하기도 함 |
| 비용함수(cost) | 전체 데이터에 대한 손실의 평균(또는 합) | 손실과 혼용되는 경우가 많음 |
| 목적함수(objective) | 최적화가 실제로 줄이거나 늘리는 대상 | 손실 + 정규화 항 등 |
| 평가지표(metric) | 모델의 성능을 보고하는 데 쓰는 값 | 미분 가능할 필요 없음 |
참고 문헌
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer.
- Huber, P. J. (1964). Robust estimation of a location parameter. The Annals of Mathematical Statistics, 35(1), 73–101.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.