손실함수 (Loss Function)
쉽게 풀면
양궁 선수가 쏜 화살이 과녁 중심에서 얼마나 벗어났는지 자로 재는 장면을 떠올려 보세요. 손실함수는 바로 그 "벗어난 정도"를 계산하는 자와 같습니다. 모델이 예측을 내놓으면, 손실함수는 그 예측이 정답과 얼마나 차이 나는지를 숫자(손실값)로 알려줍니다. 이 숫자가 크면 "많이 틀렸다", 작으면 "거의 맞았다"는 뜻입니다. 모델을 학습시킨다는 것은 결국 이 손실값을 점점 줄여나가도록 경사하강법 같은 방법으로 파라미터를 조금씩 조정하는 과정입니다.
왜 중요한가
손실함수는 모델 학습 과정 전체의 방향을 결정하는 핵심 요소이기 때문에 대부분의 논문에서 명시적으로 다뤄집니다. 같은 데이터와 같은 모델 구조를 쓰더라도 손실함수를 어떻게 설계하느냐에 따라 학습 결과가 크게 달라지므로, 새로운 손실함수를 제안하는 것 자체가 하나의 연구 주제가 되기도 합니다. 또한 정규화 항을 손실함수에 추가하는 방식은 모델의 일반화 성능을 높이는 대표적인 전략이라, 다양한 응용 분야의 논문에서 손실함수 설계가 핵심 기여로 제시됩니다.
논문에서는 이렇게 쓰입니다
이 문장은 "모델이 얼마나 틀렸는지를 측정하는 기준으로 교차 엔트로피라는 방식을 채택했고, 그 값을 줄이는 방향으로 학습을 진행했다"는 뜻입니다. 어떤 손실함수를 쓰느냐에 따라 모델이 무엇을 "틀린 것"으로 간주하는지가 달라집니다.
생성 모델 계열 논문에서 자주 보이는 표현으로, 하나의 손실함수 안에 서로 다른 목적(입력을 잘 복원하는 것, 잠재 분포를 원하는 형태에 가깝게 만드는 것)을 동시에 반영했다는 뜻입니다. 이렇게 여러 항을 더해 손실함수를 구성하는 방식은 다양한 분야에서 흔히 쓰입니다.
객체 탐지나 분류 문제에서 특정 클래스의 데이터가 매우 적을 때, 기본 손실함수 대신 어려운 예제에 더 큰 가중치를 주는 손실함수를 사용했다는 의미입니다. 문제 상황에 맞춰 손실함수 자체를 바꾸는 것이 성능 개선의 중요한 열쇠가 될 수 있습니다.
조금 더 깊게 보면
실제로 논문을 읽다 보면 손실함수는 하나의 항이 아니라 여러 항의 가중합으로 구성되는 경우가 많습니다. 이때 각 항 앞에 붙는 가중치(하이퍼파라미터)를 어떻게 정하느냐가 별도의 튜닝 과제가 됩니다. 또한 손실함수의 형태(볼록함수인지 아닌지, 미분 가능한지)는 경사하강법 계열 최적화 알고리즘이 얼마나 안정적으로 수렴하는지에 직접 영향을 주므로, 저자들이 손실함수를 설계할 때 이러한 최적화 특성도 함께 고려합니다.
주의할 점
손실함수 값이 낮아졌다고 해서 항상 모델의 실제 성능이 좋아진 것은 아닙니다. 학습 데이터에 대한 손실만 지나치게 낮추면 과적합이 발생해, 정작 새로운 데이터에서는 성능이 떨어질 수 있습니다.