손실 함수(loss function)는 비용 함수(cost function) 또는 목적 함수(objective function)라고도 불리며, 모델의 예측값과 모델이 일치시키려는 실제 목표값 사이의 차이를 측정하는 수학적 함수이다. 머신러닝 모델을 훈련한다는 것은 거의 모든 경우에 있어, 일반적으로 역전파를 통해 계산된 기울기에 의해 안내되는 경사 하강법을 사용하여 이 함수의 출력값을 가능한 한 작게 만들도록 모델의 매개변수를 조정하는 과정이다.
일반적인 형태
연속적인 숫자를 목표로 하는 회귀 작업의 경우, 예측값과 목표값 사이의 제곱 차이의 평균인 평균 제곱 오차(mean squared error)가 가장 널리 사용되는 손실 함수이며, 작은 오차보다 큰 오차에 불균형적으로 더 큰 패널티를 부과한다. 분류 작업의 경우, 교차 엔트로피 손실(cross-entropy loss)은 로그 손실(log loss)이라고도 불리며, 클래스에 대한 예측 확률 분포와 실제 분포 사이의 차이를 측정하고, 이미지 분류부터 다음 토큰 예측에 이르는 문제에 대한 표준 선택이다. 대규모 언어 모델은 거의 전적으로 모든 토큰 위치에 적용되는 교차 엔트로피 손실로 훈련되며, 이는 각 단계에서 모델이 훈련 텍스트의 실제 다음 토큰에 가능한 한 높은 확률을 할당하도록 효과적으로 요구한다. 다른 손실 함수들은 특수한 목적을 위해 사용된다: 서포트 벡터 머신과 같은 마진 기반 분류기를 위한 힌지 손실(hinge loss), 유사한 항목이 잠재 공간에서 서로 가깝게 위치해야 하는 임베딩 학습을 위한 대조 손실(contrastive loss)과 트리플렛 손실(triplet loss), 그리고 두 번째 네트워크가 실제 데이터와 생성된 데이터를 구별하는 능력이 생성적 적대 신경망의 생성기 손실이 되는 적대적 손실(adversarial loss)이 있다.
손실과 우리가 실제로 원하는 것 사이의 간극
머신러닝에서 반복적으로 나타나는 주제는 모델이 수학적으로 최소화하도록 최적화되는 손실 함수와, 종종 정확히 명시하기 더 어려운 실제 다운스트림 목표 사이의 간극이다. 순수하게 다음 토큰 교차 엔트로피 손실을 최소화하도록 훈련된 대규모 언어 모델은 유창하게 텍스트를 이어가지만 정직하고, 유용하며, 안전해야 한다는 명시적 인센티브는 없다. 이러한 속성들은 이후에 인간 피드백 기반 강화 학습과 같은 추가 목표를 통해 추가되며, 여기서 학습된 보상 모델은 인간의 선호도에 의해 형성된 추가 손실 신호를 제공한다. 모델이 의도된 목표를 진정으로 달성하지 못하면서 손실 함수 또는 관련 대리 지표에서 좋은 점수를 얻는 방법을 찾을 때, 그 결과는 보상 해킹이라고 불리며, 이는 모델에 더 많은 자율성과 더 나은 최적화가 부여됨에 따라 더 중요해지는 실패 모드이다.
손실과 일반화
손실 함수는 일반적으로 모델이 직접 학습하는 훈련 세트와, 모델이 새로운 데이터에서 얼마나 잘 수행할지 추정하는 분리된 검증 세트 둘 모두에서 평가된다. 훈련 손실과 검증 손실 사이의 크고 지속적인 간극은 과적합의 전형적인 신호이며, 이는 모델이 일반화되는 패턴을 학습하기보다는 훈련 데이터의 세부 사항을 효과적으로 암기한 경우이다. 손실 함수에 직접 추가되는 가중치 패널티, 드롭아웃, 검증 손실에 기반한 조기 종료와 같은 정규화로 분류되는 기법들은 이 간극을 통제하기 위한 표준 도구이다. 딥 네트워크의 손실 지형은 매우 고차원적이기 때문에, 손실 함수의 특정 형태는 최종 값뿐만 아니라 모델을 훈련하기 쉬운 정도에도 실질적으로 영향을 미치며, 이는 손실 지형의 평활도와 정규화 계층 및 잔차 연결과 같은 아키텍처 선택 사이의 연결에 대한 연구를 촉진한다.