모델

손실 함수

Loss Function

모델의 예측이 정답에서 얼마나 벗어났는지를 숫자 하나로 나타내는 함수로, 학습은 이 숫자를 줄이는 쪽으로 가중치를 조금씩 고치는 과정이다. 어떤 손실 함수를 고르느냐에 따라 모델이 무엇을 잘하게 될지가 정해지므로 문제 종류에 맞는 것을 골라 쓴다.

문제 종류대표 손실 함수이럴 때
회귀 (숫자 맞히기)평균제곱오차(MSE)집값, 수요 예측
분류 (정답 고르기)크로스 엔트로피스팸 판별, 이미지 분류
LLM 학습다음 토큰 크로스 엔트로피사전학습, 파인튜닝
선호 학습선호도 비교 손실RLHF 보상 모델

출력이 숫자인지 선택지인지 보고 고른다

모델이 숫자를 내놓는 회귀라면 MSE를 기본으로 쓴다. MSE는 오차를 제곱하기 때문에, 몇 개 안 되는 이상치에 결과가 크게 흔들리는 게 싫다면 평균절대오차(MAE)나 Huber 손실이 낫다. 정답 하나를 고르는 분류라면 크로스 엔트로피가 기본이다.

Keras나 PyTorch에는 자주 쓰는 손실 함수가 이미 들어 있어서 이름만 지정하면 된다. Keras에서는 모델을 컴파일할 때 loss="mse"처럼 넘기고, PyTorch에서는 nn.CrossEntropyLoss()를 만들어 쓴다. 손실 함수를 직접 짜야 하는 경우는 드물다.

LLM 파인튜닝은 이미 정해져 있다

LLM을 파인튜닝할 때는 손실 함수를 따로 고를 일이 거의 없다. 다음 토큰을 맞히는 크로스 엔트로피가 기본이고, 학습 도구가 알아서 계산한다. 사용자가 정할 것은 어느 부분에 손실을 매길지 정도다. 대화 데이터로 학습할 때는 질문 부분을 빼고 답변 부분에만 손실을 계산하도록 설정하는 경우가 많다.

손실 곡선으로 학습 상태를 진단한다

학습 중에는 단계마다 손실 값을 기록해 그래프로 본다. MLflow나 Weights & Biases에 학습 손실과 검증 손실을 함께 남기는 게 보통이다. 곡선 모양만 봐도 문제를 꽤 빨리 찾을 수 있다.

곡선 모양의미대응
학습·검증 손실이 함께 내려감정상그대로 진행
학습 손실만 내려가고 검증 손실은 오름과적합조기 종료, 데이터 늘리기
들쭉날쭉하거나 갑자기 튐학습률이 너무 큼학습률 낮추기
거의 안 내려감학습률이 너무 작거나 설정 문제설정·데이터 점검

손실이 낮다고 좋은 모델은 아니다

손실은 학습을 이끄는 숫자일 뿐이고, 실제 성능 지표와는 다르다. 분류 모델이면 정확도나 재현율을, LLM이면 실제 답변 품질을 따로 확인해야 한다. 손실 함수나 데이터가 다르면 손실 값을 서로 비교할 수 없으니, 같은 조건에서 손실이 어떻게 변하는지만 본다.

고르는 일보다 지켜보는 일이 많다

실제로는 손실 함수를 새로 고르기보다 기본값을 지정하고 손실 곡선을 지켜보는 일이 대부분이다. 모델을 학습시키는 거의 모든 곳에서 이 두 가지를 반복한다.

어디서어떻게 쓰나
Keras·PyTorch 모델 학습회귀는 MSE, 분류는 크로스 엔트로피처럼 문제에 맞는 기본 손실을 이름으로 지정
LLM 파인튜닝손실은 그대로 두고, 답변 부분에만 손실을 매기도록 설정
학습 모니터링 대시보드학습·검증 손실을 함께 기록해 과적합이나 학습률 문제를 일찍 발견
실험 비교같은 데이터·손실 함수 조건에서 설정을 바꿔 가며 손실이 줄어드는 정도를 비교
#학습#오차측정#최적화
참고 자료
관련 영상
← AI Wiki에서 더 보기
updated at 2026-10-20