문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

손실 함수 | |
한국어명 | 손실 함수 |
영문명 | Loss Function |
다른 이름 | 비용 함수(Cost Function), 목적 함수(Objective Function) |
분류 | |
상위 개념 | |
핵심 목적 | 머신러닝 모델의 예측값과 실제값의 차이(오차)를 측정 |
주요 활용 | 모델 학습, 경사 하강법의 기준 |
상세 정보 | |
수학적 표현 | L(θ) = Σ l(f(x_i; θ), y_i) |
주요 종류 | 평균 제곱 오차(MSE), 평균 절대 오차(MAE), 교차 엔트로피(Cross-Entropy), 힌지 손실(Hinge Loss), 휴버 손실(Huber Loss) |
회귀 문제 주요 함수 | |
분류 문제 주요 함수 | |
역할 | 모델 파라미터(θ)를 조정하여 손실을 최소화하는 것이 학습의 목표 |
최적화와의 관계 | |
볼록성 | 볼록(Convex) 함수는 최적화가 비교적 용이함 |
정규화 항 | |
관련 평가 지표 | 정확도(Accuracy), 정밀도(Precision), 재현율(Recall) 등 (손실 함수와 직접 동일하지는 않음) |

손실 함수는 머신 러닝과 딥러닝 모델의 성능을 평가하는 지표이다. 모델의 예측값과 실제 정답값(레이블) 사이의 차이, 즉 오차를 하나의 숫자로 계산하여 나타낸다. 이 값은 모델이 얼마나 잘못 예측했는지를 정량화하며, 학습 과정에서 모델의 매개변수를 조정하기 위한 기준으로 사용된다. 손실 함수의 값이 낮을수록 모델의 예측이 정답에 가깝다는 것을 의미한다.
손실 함수는 문제의 종류에 따라 다양한 형태를 가진다. 회귀 분석 문제에서는 평균 제곱 오차나 평균 절대 오차가 주로 사용되며, 분류 문제에서는 교차 엔트로피 손실이 널리 활용된다. 또한 생성적 적대 신경망과 같은 생성 모델에서는 KL 발산이나 적대적 손실과 같은 특수한 형태의 손실 함수가 필요하다. 각 함수는 오차를 계산하는 수학적 방식이 다르며, 모델이 학습해야 할 목표를 정의한다.
모델 학습의 핵심 목표는 손실 함수의 값을 최소화하는 매개변수를 찾는 것이다. 이 과정을 최적화라고 하며, 경사 하강법과 같은 알고리즘이 주로 사용된다. 손실 함수는 미분 가능해야 경사 하강법을 통해 매개변수를 효과적으로 업데이트할 수 있다. 따라서 손실 함수의 설계는 모델의 학습 효율성과 최종 성능에 직접적인 영향을 미치는 중요한 요소이다.

손실 함수는 머신 러닝 모델, 특히 딥러닝 모델의 성능을 평가하는 척도이다. 이 함수는 모델의 예측값과 실제 정답값(레이블) 사이의 차이, 즉 오차를 하나의 숫자로 계산한다. 이 계산된 값을 손실(loss) 또는 비용(cost)이라고 부른다. 모델 학습의 근본적인 목표는 주어진 데이터에 대해 이 손실 값을 최소화하는 모델의 매개변수(가중치와 편향)를 찾는 것이다.
손실 함수의 핵심 역할은 모델이 얼마나 '잘못' 예측했는지를 정량화하여 최적화 알고리즘(예: 경사 하강법)에 방향성을 제공하는 것이다. 손실 값이 클수록 모델의 예측이 실제와 많이 다르다는 의미이며, 이 값을 줄이는 방향으로 모델의 내부 매개변수가 조정된다. 따라서 손실 함수의 선택은 모델이 어떤 종류의 오차에 더 민감하게 반응하고, 최종적으로 어떤 특성을 가진 모델로 수렴할지를 결정하는 중요한 요소가 된다.
손실 함수의 중요성은 단순한 오차 측정을 넘어선다. 올바른 손실 함수는 학습 과정의 안정성과 효율성에 직접적인 영향을 미친다. 예를 들어, 미분 가능성이 좋은 손실 함수는 경사 하강법이 원활하게 매개변수를 업데이트할 수 있게 한다. 또한, 문제의 종류(분류, 회귀, 생성 등)에 맞게 설계된 손실 함수를 사용해야 모델이 본질적인 목표를 효과적으로 학습할 수 있다. 잘못된 손실 함수를 선택하면 모델이 수렴하지 않거나, 원하지 않는 편향을 학습하거나, 성능이 저하되는 결과를 초래할 수 있다.
역할 | 설명 |
|---|---|
성능 평가 | 모델의 예측과 실제값의 차이를 정량적으로 측정한다. |
최적화 지표 | 경사 하강법 등 최적화 알고리즘이 매개변수를 업데이트할 방향과 크기를 결정하는 기준이 된다. |
학습 목표 정의 | 모델이 최소화해야 할 목표 함수(objective function) 자체가 된다. |
문제 특성 반영 | 회귀, 분류, 생성 등 작업의 특성에 맞는 오차 개념을 구현한다. |

분류 문제에서 손실 함수는 모델의 예측 확률 분포와 실제 정답 레이블의 분포 간 차이를 측정하는 역할을 한다. 이 차이를 최소화하는 방향으로 모델의 가중치를 조정하여, 모델이 입력 데이터를 올바른 클래스로 분류할 수 있도록 유도한다. 분류 문제에 사용되는 대표적인 손실 함수로는 교차 엔트로피 손실이 있으며, 이는 다시 문제의 유형에 따라 이진 교차 엔트로피와 카테고리칼 교차 엔트로피로 나뉜다.
이진 분류 문제, 즉 두 개의 클래스(예: 참/거짓, 고양이/개) 중 하나를 선택하는 문제에서는 주로 이진 교차 엔트로피가 사용된다. 이 함수는 모델이 출력한 샘플이 특정 클래스에 속할 확률과 실제 정답(0 또는 1) 간의 차이를 계산한다. 수식은 L = -[y * log(p) + (1 - y) * log(1 - p)]로 표현되며, 여기서 y는 실제 레이블, p는 모델이 예측한 양성 클래스의 확률이다. 이 손실은 예측 확률이 정답에서 멀어질수록 급격히 증가하여, 모델이 자신 있는 예측을 하도록 강력하게 유도하는 특성을 가진다.
세 개 이상의 클래스를 다루는 다중 클래스 분류 문제에서는 카테고리칼 교차 엔트로피가 표준적으로 사용된다. 이 함수는 실제 정답 레이블을 원-핫 인코딩 형태로 표현하고, 모델이 모든 클래스에 대해 출력한 확률 분포 전체와 비교한다. 손실은 L = -Σ y_i * log(p_i)로 계산되며, 합계는 모든 클래스에 대해 수행된다. 실제 정답 클래스에 해당하는 y_i만 1이고 나머지는 0이므로, 실질적으로는 모델이 정답 클래스에 할당한 확률 p_i의 음의 로그 값만이 손실로 계산된다. 따라서 모델은 정답 클래스의 예측 확률을 1에 가깝게, 다른 클래스의 확률은 0에 가깝게 만드는 방향으로 학습된다.
손실 함수 | 주요 적용 문제 | 입력 형태 (정답 레이블) | 핵심 특징 |
|---|---|---|---|
이진 분류 | 스칼라 (0 또는 1) | 단일 확률 출력에 대한 손실 계산 | |
다중 클래스 분류 | 벡터 (원-핫 인코딩) | 전체 확률 분포에 대한 손실 계산 |
교차 엔트로피 계열의 손실 함수는 로그 손실로도 불리며, 특히 신경망의 출력층에 소프트맥스 함수나 시그모이드 함수를 결합하여 사용될 때 효과적이다. 이들은 예측 오차에 대한 민감한 피드백을 제공함으로써, 분류 모델의 정확도를 높이는 데 기여한다.
교차 엔트로피 손실은 분류 문제에서 가장 널리 사용되는 손실 함수이다. 이 함수는 모델이 예측한 확률 분포와 실제 데이터의 확률 분포 사이의 차이를 측정한다. 교차 엔트로피의 값이 작을수록 모델의 예측이 실제 레이블에 가깝다는 것을 의미하며, 기계 학습 모델의 학습 목표는 일반적으로 이 손실을 최소화하는 것이다. 교차 엔트로피의 개념은 정보 이론에서 유래하였으며, 두 확률 분포 간의 정보량 차이를 계산하는 데 사용된다.
교차 엔트로피 손실은 주로 다중 클래스 분류 문제에 적용되며, 모델의 최종 출력 계층에 소프트맥스 함수를 결합하여 사용하는 것이 일반적이다. 소프트맥스 함수는 모델의 출력 값을 각 클래스에 대한 확률 값으로 변환하며, 이 확률 분포와 실제 레이블(일반적으로 원-핫 인코딩된 형태) 사이의 교차 엔트로피를 계산한다. 수식은 다음과 같이 표현된다.
손실 함수명 | 수식 (단일 샘플) | 설명 |
|---|---|---|
교차 엔트로피 손실 | L = -∑_{i=1}^{C} y_i log(ŷ_i) | C는 클래스 수, y_i는 실제 레이블(원-핫), ŷ_i는 i번째 클래스에 대한 예측 확률이다. |
이진 분류의 특수한 경우에는 이진 교차 엔트로피 손실 함수가 사용되며, 다중 클래스 분류에서 레이블이 정수 형태로 주어질 경우에는 스파스 카테고리칼 교차 엔트로피가 사용된다. 교차 엔트로피 손실은 예측 확률이 정답 클래스에 대해 높은 값을 가질수록 손실이 급격히 감소하고, 반대로 틀린 예측을 할수록 손실이 크게 증가하는 특성을 지닌다. 이는 경사 하강법을 통한 최적화에 유리하게 작용한다.
이진 교차 엔트로피는 이진 분류 문제에서 가장 넷째하게 사용되는 손실 함수이다. 이 함수는 모델이 예측한 확률 분포와 실제 레이블의 분포 사이의 차이를 측정한다. 주로 출력층에 시그모이드 함수를 사용하는 모델과 함께 적용되며, 예측값이 0과 1 사이의 확률 값을 출력할 때 적합하다.
수식은 다음과 같이 표현된다. 실제 레이블을 y(0 또는 1), 모델의 예측 확률을 ŷ라고 할 때, 손실 L은 L = -[y * log(ŷ) + (1 - y) * log(1 - ŷ)]이다. 이 공식은 y=1일 때는 -log(ŷ) 항만, y=0일 때는 -log(1 - ŷ) 항만 활성화되어, 정답 클래스에 대한 예측 확률이 높을수록 손실값이 0에 가까워지도록 설계되었다.
이진 교차 엔트로피의 주요 특징은 경사 하강법을 통한 최적화에 매우 효과적이라는 점이다. 손실 함수의 기울기가 예측이 틀렸을 때 크게, 맞았을 때 작게 계산되어, 효율적인 가중치 업데이트가 가능하다. 또한, 과적합을 방지하기 위해 L1 또는 L2 정규화 항을 손실 함수에 추가하여 사용하기도 한다.
카테고리칼 교차 엔트로피는 다중 클래스 분류 문제에서 가장 널리 사용되는 손실 함수이다. 이 함수는 모델의 예측 확률 분포와 실제 정답 레이블의 분포 사이의 차이를 측정한다. 수학적으로는 교차 엔트로피 손실의 특별한 형태로, 실제 레이블이 원-핫 인코딩으로 표현될 때 적용된다.
손실은 다음과 같은 공식으로 계산된다. 여기서 $y_i$는 샘플 $i$에 대한 실제 클래스의 원-핫 인코딩 벡터이며, $\hat{y}_i$는 모델이 예측한 각 클래스에 대한 확률 벡터이다.
$$L = - \sum_{i=1}^{N} \sum_{c=1}^{C} y_{i,c} \log(\hat{y}_{i,c})$$
실제로는 정답 클래스에 해당하는 항목만 1이고 나머지는 0이므로, 계산은 정답 클래스에 대한 모델의 예측 확률의 음의 로그값을 합하는 것으로 단순화된다. 예를 들어, 3개 클래스 중 정답이 클래스 2라면, 손실은 $- \log(\hat{y}_{2})$가 된다. 모델의 예측이 정답을 확신할수록(예측 확률이 1에 가까울수록) 손실은 0에 가까워지고, 틀릴수록(확률이 0에 가까울수록) 손실은 무한대로 증가한다.
이 손실 함수는 소프트맥스 함수의 출력과 자연스럽게 결합되어 사용된다. 소프트맥스 함수는 모델의 최종 출력 값을 다중 클래스에 대한 확률 분포로 정규화하며, 카테고리칼 교차 엔트로피는 이 확률 분포가 정답 레이블과 얼마나 일치하는지를 평가한다. 이 조합은 경사 하강법을 통한 최적화에 매우 효과적이다. 왜냐하면 소프트맥스 함수와 교차 엔트로피 손실을 함께 사용할 때, 손실에 대한 가중치의 기울기 계산이 간단해지고 수치적으로 안정적이기 때문이다[1].

회귀 문제는 연속적인 값을 예측하는 작업을 말한다. 주택 가격 예측, 수요 예측 등이 대표적인 예시이다. 회귀 모델의 성능을 평가하고 최적화하기 위해 사용되는 주요 손실 함수로는 평균 제곱 오차, 평균 절대 오차, 후버 손실 등이 있다. 각 함수는 오차를 측정하는 방식이 다르며, 데이터의 특성과 이상치의 존재 여부에 따라 선택이 달라진다.
가장 널리 사용되는 평균 제곱 오차는 예측값과 실제값 사이의 차이를 제곱한 후 평균을 낸 값이다. 이는 큰 오차에 대해 더욱 민감하게 반응하기 때문에, 이상치의 영향을 크게 받는 특징이 있다. 반면, 평균 절대 오차는 절대값을 사용하여 오차를 계산한다. 이는 이상치에 대해 평균 제곱 오차보다 덜 민감하지만, 최적화 지점에서 미분이 불가능할 수 있다는 단점이 있다.
이 두 손실 함수의 절충안으로 고안된 것이 후버 손실이다. 이 함수는 오차가 작은 영역에서는 평균 제곱 오차처럼 동작하고, 오차가 특정 임계값을 넘어서면 평균 절대 오차처럼 선형적으로 동작한다. 이로 인해 이상치에 대한 강건성을 확보하면서도 최적화가 비교적 용이하다는 장점을 가진다.
손실 함수 | 공식 (단일 샘플 기준) | 주요 특징 |
|---|---|---|
평균 제곱 오차 (MSE) | (y_true - y_pred)² | 큰 오차에 민감함. 미분이 쉬움. |
평균 절대 오차 (MAE) | \ | y_true - y_pred\ |
후버 손실 (Huber Loss) | 0.5*(y_true - y_pred)² if \ | error\ |
손실 함수의 선택은 데이터의 분포와 모델의 목표에 따라 결정된다. 이상치가 많고 그 영향을 최소화해야 하는 경우 평균 절대 오차나 후버 손실이 유리하다. 반면, 모든 오차를 균일하게 중요하게 고려하며 안정적인 최적화가 필요한 경우 평균 제곱 오차가 선호된다.
평균 제곱 오차는 회귀 문제에서 가장 널리 사용되는 손실 함수이다. 예측값과 실제 목표값 사이의 차이를 제곱한 값의 평균으로 계산된다. 수식은 L = (1/n) * Σ (y_i - ŷ_i)²로 표현되며, 여기서 y_i는 실제값, ŷ_i는 모델의 예측값, n은 데이터 포인트의 개수를 의미한다.
이 함수의 핵심 특징은 오차를 제곱함으로써 큰 오차에 대해 더 큰 패널티를 부여한다는 점이다. 결과적으로 이상치의 영향을 상대적으로 크게 받는 경향이 있다. 또한, 제곱 함수의 특성상 미분 가능하며, 그 도함수는 선형 형태를 띠어 경사 하강법과 같은 최적화 알고리즘 적용이 용이하다.
평균 제곱 오차의 최소화는 통계학에서 최소 제곱법과 동일한 목표를 가진다. 이는 예측값과 실제값 사이의 유클리드 거리를 최소화하는 것과 같으며, 오차가 정규 분포를 따른다는 가정 하에 최대가능도 추정의 관점에서도 정당화될 수 있다[2].
다만, 앞서 언급한 대로 큰 오차에 과도하게 민감하게 반응할 수 있어, 데이터에 이상치가 많을 경우 평균 절대 오차나 후버 손실과 같은 다른 손실 함수가 더 적합할 수 있다.
평균 절대 오차는 회귀 분석 문제에서 가장 직관적인 손실 함수 중 하나이다. 이 함수는 예측값과 실제 목표값 사이의 절댓값 차이의 평균을 계산한다. 수식은 L = 1/n * Σ|y_i - ŷ_i| 로 표현되며, 여기서 y_i는 실제값, ŷ_i는 예측값, n은 샘플 수를 의미한다.
평균 절대 오차의 주요 특징은 이상치에 대한 강건성이다. 오차에 절댓값을 취하기 때문에, 평균 제곱 오차와 달리 큰 오차가 제곱되어 과도하게 반영되는 현상을 방지한다. 이로 인해 데이터에 큰 오차를 가진 샘플이 소수 존재할 경우, 모델의 학습이 이들에 과도하게 맞춰지는 것을 완화한다.
그러나 평균 절대 오차는 미분 가능성에 한계를 가진다. 절댓값 함수의 특성상 오차가 정확히 0인 지점에서 미분이 불가능하며, 이는 경사 하강법 기반 최적화 과정에서 약간의 복잡성을 초래할 수 있다. 실제 구현에서는 이 문제를 해결하기 위해 서브그래디언트 방법을 사용하거나, 0 근처에서 매끄러운 근사 함수를 활용하기도 한다.
평균 절대 오차와 평균 제곱 오차의 선택은 문제의 목표에 따라 달라진다. 예측 오차의 절대적인 크기를 정확히 반영하는 것이 중요하고, 데이터에 잠재적 이상치가 있을 것으로 예상될 경우 평균 절대 오차가 유리한 선택이 된다. 반면, 큰 오차를 강하게 패널티로 주어야 하는 경우에는 평균 제곱 오차가 더 적합하다.
후버 손실(Huber loss)은 회귀 분석 문제에서 사용되는 손실 함수로, 평균 제곱 오차(MSE)와 평균 절대 오차(MAE)의 장점을 결합한 특징을 가진다. 이 함수는 작은 오차에 대해서는 MSE처럼 이차 함수로 동작하여 민감하게 반응하고, 큰 오차에 대해서는 MAE처럼 선형으로 동작하여 이상치(outlier)의 영향을 덜 받도록 설계되었다. 이러한 특성으로 인해 이상치가 존재하는 데이터셋에서 로버스트 회귀(robust regression)를 수행할 때 자주 활용된다.
후버 손실의 수학적 정의는 다음과 같다. 임계값 δ(델타)를 기준으로 두 가지 형태로 나뉜다.
오차의 절대값 | 손실 함수 Lδ(y, ŷ) |
|---|---|
\ | y - ŷ\ |
\ | y - ŷ\ |
여기서 y는 실제값, ŷ는 모델의 예측값이다. 오차가 작을 때(δ 이하)는 MSE와 유사한 ½ (오차)²의 형태를, 오차가 클 때는 MAE와 유사한 δ\|오차\| - ½δ²의 형태를 취한다. δ는 사용자가 설정하는 초매개변수(hyperparameter)로, 이 값을 조절함으로써 MSE와 MAE 사이의 균형을 조정할 수 있다. δ가 매우 크면 MSE에 가까워지고, δ가 0에 가까워지면 MAE에 수렴한다.
이 손실 함수의 주요 장점은 미분 가능성이다. MSE는 모든 점에서 미분 가능하지만 이상치에 민감하고, MAE는 이상치에 강건하지만 오차가 0인 지점에서 미분 불가능하다는 단점이 있다. 후버 손실은 두 함수를 부드럽게 연결(smooth transition)하여 전체 구간에서 미분 가능하게 만들었다. 이는 경사 하강법과 같은 최적화 알고리즘을 안정적으로 적용하는 데 유리하다. 따라서 자동차 보험료 예측이나 부동산 가격 예측처럼 이상치가 존재할 가능성이 높은 실제 문제의 회귀 모델 학습에 효과적으로 적용된다.

생성 모델은 데이터의 분포를 학습하여 새로운 데이터를 생성하는 모델이다. 이 과정에서 모델이 생성한 데이터의 분포와 실제 데이터의 분포 사이의 차이를 측정하고 최소화하기 위해 특수한 손실 함수가 사용된다. KL 발산과 적대적 손실은 이러한 목적을 위해 널리 활용되는 대표적인 손실 함수이다.
KL 발산은 쿨백-라이블러 발산으로도 불리며, 두 확률 분포 간의 차이를 측정하는 비대칭적 척도이다. 생성 모델, 특히 변분 오토인코더에서 사전 분포와 학습된 잠재 변수 분포 사이의 차이를 정규화하는 용도로 자주 사용된다. KL 발산을 손실 항으로 포함하면 모델이 과도하게 훈련 데이터에 맞춰지는 것을 방지하고, 보다 일반화된 표현을 학습하도록 유도할 수 있다.
반면, 적대적 손실은 생성적 적대 신경망의 핵심 동작 원리이다. 이 구조에서는 생성기와 판별기라는 두 개의 네트워크가 서로 경쟁하며 학습한다. 생성기의 손실 함수는 판별기를 속이는 데 목적이 있으며, 이는 판별기가 생성된 데이터를 '진짜'로 분류할 확률을 최대화하는 형태로 정의된다. 아래 표는 두 주요 손실 함수의 특징을 비교한 것이다.
손실 함수 | 주요 사용 모델 | 목적 | 특징 |
|---|---|---|---|
사전 분포와 잠재 변수 분포의 차이 최소화 | 비대칭적, 정규화 항 역할 | ||
판별기를 속이는 생성 데이터 생성 | 최소최대 게임 형태, 두 네트워크의 경쟁적 학습 |
이 외에도 와서르슈타인 거리를 기반으로 한 손실 함수는 학습의 안정성을 높이기 위해 제안되었으며, 역전파를 통한 경사 하강법으로 이러한 손실 함수들을 최적화한다. 생성 모델의 성능과 생성 품질은 선택된 손실 함수와 그 조합 방식에 크게 의존한다.
KL 발산(Kullback-Leibler divergence)은 두 확률 분포 간의 차이를 측정하는 비대칭적 척도이다. 생성 모델, 특히 변분 오토인코더와 같은 모델에서 사전 분포와 학습된 분포 사이의 차이를 정량화하는 데 핵심적인 역할을 한다. 이는 정보 이론에서 유래한 개념으로, 한 분포가 다른 분포를 근사할 때 발생하는 정보 손실량을 의미한다.
두 이산 확률 분포 P와 Q에 대해, KL 발산 D_KL(P || Q)는 다음과 같이 정의된다. 이 값은 항상 0 이상이며, 두 분포가 완전히 동일할 때만 0이 된다. 중요한 특징은 비대칭성으로, D_KL(P || Q)와 D_KL(Q || P)는 일반적으로 다른 값을 가진다. 이 때문에 진짜 분포(P)와 모델이 예측한 분포(Q)의 순서가 중요하며, 생성 모델에서는 주로 D_KL(P_data || P_model) 형태로 사용되어 데이터의 실제 분포와 모델이 생성하는 분포의 차이를 줄이는 방향으로 학습이 진행된다.
특성 | 설명 |
|---|---|
비음수성 | D_KL(P |
비대칭성 | D_KL(P |
정보 이론적 해석 | 분포 P를 사용하여 Q를 근사할 때 추가로 필요한 비트 수(정보 손실)를 의미한다. |
생성 모델에서 KL 발산은 모델이 생성하는 샘플의 분포가 실제 데이터 분포와 얼마나 다른지를 직접적으로 측정하는 손실 항으로 작용한다. 예를 들어, 변분 오토인코더에서는 잠재 변수의 분포가 가우시안 같은 단순한 사전 분포에 가깝도록 유도하는 정규화 항으로 KL 발산 항이 손실 함수에 추가된다. 이를 통해 모델이 과도하게 훈련 데이터에 맞춰지는 것을 방지하고 보다 일반화된 표현을 학습하도록 돕는다.
적대적 손실은 생성적 적대 신경망의 핵심 학습 메커니즘을 구성하는 손실 함수 쌍이다. 이 구조는 생성기와 판별기라는 두 개의 신경망이 서로 적대적으로 경쟁하며 학습하도록 설계되었다. 생성기의 목표는 실제 데이터 분포와 유사한 가짜 데이터를 생성하는 것이고, 판별기의 목표는 입력 데이터가 진짜인지 생성기가 만든 가짜인지를 정확히 구분하는 것이다. 이 두 모델의 목표가 상충되기 때문에 '적대적'이라는 용어가 사용된다.
적대적 손실은 일반적으로 두 개의 손실 함수로 표현된다. 판별기 손실 함수는 진짜 데이터에 대해서는 높은 점수를, 가짜 데이터에 대해서는 낮은 점수를 출력하도록 유도한다. 반대로 생성기 손실 함수는 판별기가 가짜 데이터를 진짜로 오인하도록 속이는 것을 목표로 한다. 이는 생성기가 판별기의 출력을 속이기 위해 판별기 손실의 반대 방향으로 최적화하는 것으로 구현되기도 한다. 이 과정은 미니맥스 게임으로 형식화될 수 있다.
GAN의 학습은 생성기와 판별기가 균형을 이루며 발전해야 성공적이다. 판별기가 너무 강력하면 생성기가 유의미한 기울기를 얻지 못해 학습이 진전되지 않는 문제가 발생한다. 반대로 생성기가 판별기를 쉽게 속이기 시작하면 모드 붕괴 현상이 일어나 다양성이 낮은 데이터만 생성할 위험이 있다. 이러한 불안정성을 해결하기 위해 Wasserstein GAN, LSGAN 등 다양한 변형 모델과 손실 함수가 제안되었다.
손실 함수 변형 | 주요 특징 | 해결하려는 문제 |
|---|---|---|
원래 GAN의 이론적 기반 | 학습 불안정성 | |
Earth-Mover 거리 사용 | 기울기 소실, 학습 안정성 향상 | |
판별기 출력에 마진 적용 | 보다 안정적인 수렴 |
적대적 손실은 이미지 생성, 스타일 변환, 해상도 향상 등 다양한 생성 모델 분야에서 폭넓게 응용된다. 이 프레임워크는 명시적인 확률 분포 가정 없이도 복잡한 데이터 분포를 학습할 수 있게 해주는 강력한 도구이다.

손실 함수의 최적화는 모델의 매개변수를 조정하여 손실 값을 최소화하는 과정을 의미한다. 이 과정은 기계 학습 모델 훈련의 핵심이며, 주로 경사 하강법 및 그 변형 알고리즘을 통해 수행된다. 최적화 알고리즘은 손실 함수의 기울기를 계산하여 매개변수를 업데이트할 방향과 크기를 결정한다.
손실 함수의 최적화는 경사 하강법과 밀접한 관계를 가진다. 경사 하강법은 손실 함수의 기울기(gradient)를 계산하고, 그 반대 방향으로 매개변수를 조정하여 손실을 점차 줄여나간다. 이 과정을 여러 번 반복하여 손실 함수가 최소값에 수렴하도록 한다. 최적화의 효율성은 학습률과 같은 하이퍼파라미터와 확률적 경사 하강법, Adam과 같은 최적화 알고리즘의 선택에 크게 의존한다.
최적화 알고리즘 | 주요 특징 | 일반적인 사용처 |
|---|---|---|
매 반복마다 하나의 데이터 샘플을 사용하여 기울기를 계산한다. 빠르지만 노이즈가 많다. | 대규모 데이터셋 | |
작은 배치의 데이터를 사용하여 기울기를 계산한다. 속도와 안정성의 균형을 이룬다. | 딥러닝의 표준 방식 | |
모멘텀과 학습률 조정을 결합한 적응형 알고리즘이다. 빠른 수렴이 특징이다. | 다양한 네트워크 구조 |
손실 함수의 미분 가능성은 최적화를 위해 필수적인 조건이다. 경사 기반 최적화 방법은 손실 함수를 매개변수에 대해 미분할 수 있어야 기울기를 계산할 수 있기 때문이다. 따라서 ReLU와 같은 미분 가능한 활성화 함수가 널리 사용된다. 일부 복잡한 손실 함수나 모델 구조에서는 수치적 안정성을 위해 미분의 근사치를 사용하거나, 자동 미분 도구를 활용하여 기울기를 효율적으로 계산한다[3].
손실 함수의 최소화는 경사 하강법을 통해 이루어진다. 경사 하강법은 손실 함수의 기울기를 계산하여, 그 반대 방향으로 모델의 매개변수를 조금씩 업데이트하는 반복적인 최적화 알고리즘이다. 이 과정에서 손실 함수는 최적화의 목표 함수 역할을 하며, 그 기울기는 매개변수를 어느 방향으로 얼마나 조정해야 손실을 줄일 수 있는지를 알려주는 지표가 된다.
손실 함수의 형태는 경사 하강법의 효율성과 수렴 속도에 직접적인 영향을 미친다. 예를 들어, 평균 제곱 오차와 같은 볼록 함수는 전역 최소점이 하나 존재하여 경사 하강법이 비교적 안정적으로 수렴한다. 반면, 심층 신경망의 손실 함수는 수많은 국소 최소점과 안장점을 가진 비볼록 함수인 경우가 많아, 최적화 과정이 더 복잡해진다.
경사 하강법의 변형인 확률적 경사 하강법이나 Adam과 같은 최적화 알고리즘은 기본적인 경사 하강법의 한계를 보완한다. 이들은 손실 함수의 기울기 정보를 활용하는 방식을 개선하여, 더 빠르게 수렴하거나 안장점에서 벗어날 수 있도록 설계되었다. 따라서 효과적인 모델 학습을 위해서는 손실 함수의 선택과 이를 최적화할 알고리즘의 선택이 함께 고려되어야 한다.
최적화 알고리즘 | 주요 특징 | 손실 함수와의 관계 |
|---|---|---|
기본 경사 하강법 | 전체 데이터셋의 기울기를 계산하여 한 번 업데이트 | 계산 비용이 크지만, 볼록 함수에서 안정적 |
확률적 경사 하강법 | 미니배치 단위로 기울기를 계산하여 자주 업데이트 | 노이즈가 있지만 국소 최소점 탈출에 유리하며, 비볼록 함수에 적합 |
Adam | 과거 기울기의 이동 평균을 활용하여 적응형 학습률 조정 | 손실 함수의 기울기 변화에 동적으로 적응하여 효율적인 최적화 가능 |
손실 함수의 미분 가능성은 경사 하강법을 통한 최적화 과정에서 핵심적인 요건이다. 대부분의 신경망 학습 알고리즘은 손실 함수의 기울기를 계산하고, 이를 이용해 모델의 매개변수를 업데이트한다. 따라서 손실 함수는 최소한 최적화가 이루어지는 영역에서 미분 가능해야 한다. 미분 불가능한 지점이 존재하면 기울기가 정의되지 않아 학습이 중단되거나 불안정해질 수 있다.
일부 손실 함수는 모든 점에서 완벽하게 미분 가능하지 않을 수 있다. 예를 들어, 평균 절대 오차는 실제 값과 예측 값이 정확히 일치하는 점에서 미분 불가능하다. 후버 손실 또한 델타 매개변수에 의해 정의되는 두 영역의 경계에서 미분 불가능한 지점을 가진다. 이러한 경우, 실제 구현에서는 부분 미분이나 서브그래디언트와 같은 방법을 사용하여 근사적인 기울기를 계산하거나, 미분 불가능한 지점을 피하도록 함수를 약간 수정한다.
손실 함수 | 미분 가능성 특성 | 대처 방법 |
|---|---|---|
모든 점에서 미분 가능 | 특별한 조치 불필요 | |
실제값=예측값 점에서 미분 불가능 | 서브그래디언트(예: 0) 사용 | |
y - ŷ |
딥러닝 프레임워크는 자동 미분 시스템을 내장하고 있어, 사용자가 정의한 손실 함수가 기본 연산들로 구성되어 있다면 대부분의 경우 효율적으로 기울기를 계산한다. 그러나 사용자 정의 손실 함수를 설계할 때는 미분 가능성을 고려해야 하며, 최대한 매끄러운 함수를 사용하는 것이 학습 안정성에 유리하다.

손실 함수 선택은 주어진 머신 러닝 문제의 성격, 데이터의 특성, 모델의 구조에 따라 결정된다. 올바른 손실 함수는 모델이 목표로 하는 작업에 맞는 방향으로 학습하도록 유도하며, 최종 성능에 직접적인 영향을 미친다.
문제 유형에 따른 기본적인 선택 기준은 다음과 같다. 회귀 문제에서는 평균 제곱 오차가 일반적이지만, 이상치에 민감하다는 단점이 있다. 이상치가 많을 경우 평균 절대 오차나 후버 손실이 더 강건한 대안이 될 수 있다. 분류 문제의 경우, 이진 분류에는 이진 교차 엔트로피, 다중 클래스 분류에는 카테고리칼 교차 엔트로피가 표준적으로 사용된다. 생성적 적대 신경망과 같은 생성 모델에서는 적대적 손실과 쿨백-라이블러 발산 같은 특수한 손실 함수가 필요하다.
문제 유형 | 추천 손실 함수 | 주요 고려사항 |
|---|---|---|
회귀 (기본) | 이상치에 민감함 | |
회귀 (이상치多) | 강건성(Robustness) | |
이진 분류 | 출력층에 시그모이드 함수 사용 | |
다중 클래스 분류 | 출력층에 소프트맥스 함수 사용 | |
클래스 불균형 | 가중치 부여 교차 엔트로피, Focal Loss | 소수 클래스에 더 큰 패널티 부여 |
생성 모델 (GAN) | 적대적 손실 (미니맥스 손실) | 생성기와 판별기의 균형 필요 |
데이터의 특성도 중요한 선택 요소이다. 클래스 간 데이터 분포가 심하게 불균형한 경우, 표준 교차 엔트로피 손실은 다수 클래스에 편향될 수 있다. 이를 해결하기 위해 각 클래스에 가중치를 부여하거나, Focal Loss[4]]처럼 학습하기 쉬운 샘플의 영향력을 낮추는 변형 손실 함수를 고려할 수 있다. 최종적으로는 이론적 적합성뿐만 아니라 검증 세트에서의 실험적 평가를 통해 최적의 손실 함수를 결정하는 것이 바람직하다.

손실 함수는 기계 학습의 핵심 개념이지만, 그 이름과 관련된 몇 가지 흥미로운 점이 존재한다. "손실"이라는 용어는 영어 "loss"의 번역으로, 모델의 예측이 실제 값과 얼마나 차이가 나는지, 즉 얼마나 '잃었는지'를 수치화한다는 의미를 담고 있다. 일부 문헌에서는 "비용 함수"나 "목적 함수"라는 용어를 동의어처럼 사용하기도 하지만, 엄밀히 말해 미묘한 차이가 있을 수 있다. "목적 함수"는 최소화 또는 최대화하려는 함수를 포괄적으로 지칭하는 반면, "손실 함수"는 특정 데이터 포인트에 대한 오차를 측정하는 함수를 더 구체적으로 가리키는 경향이 있다[5].
역사적으로 볼 때, 손실 함수의 개념은 통계학과 최적화 이론에서 기원한다. 평균 제곱 오차는 19세기 초 카를 프리드리히 가우스가 최소제곱법을 개발하면서 체계적으로 사용되기 시작했다. 한편, 교차 엔트로피는 정보 이론 분야에서 클로드 섀넌에 의해 정립된 엔트로피 개념에서 파생되었다. 이러한 이론들이 기계 학습과 딥러닝의 폭발적 성장과 결합되면서, 오늘날 우리가 알고 있는 다양한 형태의 손실 함수로 진화하게 되었다.
실제 응용 사례에서, 단일 손실 함수만을 사용하는 것이 항상 최선의 전략은 아니다. 복잡한 문제를 해결할 때는 여러 손실 함수를 조합하여 사용하는 다중 손실 함수 기법이 종종 적용된다. 예를 들어, 이미지 세그멘테이션 작업에서는 교차 엔트로피 손실과 다이스 손실을 함께 사용하여 경계 정확도와 지역적 일치도를 동시에 개선하기도 한다. 이는 모델이 다양한 측면의 성능을 학습하도록 유도하는 효과적인 전략이다.
