7.17 교차 엔트로피 손실 함수의 기계 학습에서의 역할
1. 분류 문제에서의 교차 엔트로피 손실
1.1 다중 클래스 분류의 교차 엔트로피 손실
K개의 클래스로 구성된 분류 문제에서, 입력 \mathbf{x}에 대한 참 레이블이 클래스 c일 때, 참 분포는 원-핫(one-hot) 벡터 \mathbf{y} = (y_1, \ldots, y_K)로 표현된다. y_c = 1이고 y_j = 0 for j \neq c이다. 모형의 예측 분포는 \hat{\mathbf{y}} = (\hat{y}_1, \ldots, \hat{y}_K)이며, 각 \hat{y}_k = P_\theta(Y = k \vert \mathbf{x})는 모형이 입력 \mathbf{x}를 클래스 k로 분류할 확률이다.
교차 엔트로피 손실(cross-entropy loss)은 다음과 같이 정의된다:
\mathcal{L}_{\text{CE}} = -\sum_{k=1}^{K} y_k \log \hat{y}_k
원-핫 표현에서 y_c = 1인 항만 남으므로:
\mathcal{L}_{\text{CE}} = -\log \hat{y}_c
이는 모형이 정답 클래스에 부여한 확률의 음의 로그이다. 모형이 정답에 높은 확률을 부여할수록 손실이 작아지고, 낮은 확률을 부여할수록 손실이 커진다.
1.2 이진 분류의 교차 엔트로피 손실
K = 2인 이진 분류에서 y \in \{0, 1\}이고 모형의 예측은 \hat{p} = P_\theta(Y = 1 \vert \mathbf{x})이다. 이진 교차 엔트로피(binary cross-entropy, BCE)는:
\mathcal{L}_{\text{BCE}} = -y \log \hat{p} - (1 - y) \log (1 - \hat{p})
y = 1이면 \mathcal{L}_{\text{BCE}} = -\log \hat{p}이고, y = 0이면 \mathcal{L}_{\text{BCE}} = -\log(1 - \hat{p})이다.
2. 최대 우도 추정과의 동치성
2.1 동치성의 증명
N개의 독립 동일 분포 훈련 표본 \{(\mathbf{x}_i, y_i)\}_{i=1}^{N}에 대해, 모형의 로그 우도(log-likelihood)는:
\ell(\theta) = \sum_{i=1}^{N} \log P_\theta(Y = y_i \vert \mathbf{x}_i)
다중 클래스 분류에서 이를 전개하면:
\ell(\theta) = \sum_{i=1}^{N} \sum_{k=1}^{K} y_{ik} \log \hat{y}_{ik}
따라서:
-\frac{1}{N} \ell(\theta) = \frac{1}{N} \sum_{i=1}^{N} \mathcal{L}_{\text{CE}}(\mathbf{y}_i, \hat{\mathbf{y}}_i)
교차 엔트로피 손실의 평균 최소화는 로그 우도의 최대화, 즉 최대 우도 추정(MLE)과 정확히 동치이다. 이 동치성은 교차 엔트로피 손실의 사용에 대한 통계학적 정당성을 제공한다.
2.2 KL 발산 관점에서의 해석
경험적 분포 \hat{P}와 모형 분포 Q_\theta 사이의 KL 발산 최소화는:
\min_\theta D_{\text{KL}}(\hat{P} \| Q_\theta) = \min_\theta [H(\hat{P}, Q_\theta) - H(\hat{P})] = \min_\theta H(\hat{P}, Q_\theta)
H(\hat{P})는 \theta에 무관하므로, KL 발산의 최소화는 교차 엔트로피의 최소화와 동치이다. 따라서 교차 엔트로피 손실의 학습은 모형 분포를 데이터의 경험적 분포에 KL 발산의 의미에서 가장 가깝게 만드는 것이다.
3. 소프트맥스 함수와의 결합
3.1 소프트맥스 활성화 함수
신경망의 출력층에서 K개 클래스에 대한 확률 분포를 생성하기 위해 소프트맥스(softmax) 함수가 사용된다. 로짓(logit) z_k (k = 1, \ldots, K)에 대해:
\hat{y}_k = \text{softmax}(z_k) = \frac{e^{z_k}}{\sum_{j=1}^{K} e^{z_j}}
소프트맥스 함수는 임의의 실수 벡터를 유효한 확률 분포(비음, 합이 1)로 변환한다.
3.2 소프트맥스-교차 엔트로피의 경사 계산
소프트맥스 출력에 교차 엔트로피 손실을 적용하면, 로짓 z_k에 대한 경사(gradient)가 매우 간결한 형태를 가진다:
\frac{\partial \mathcal{L}_{\text{CE}}}{\partial z_k} = \hat{y}_k - y_k
이 경사는 모형의 예측 확률과 참 레이블의 차이이다. 정답 클래스 c에 대해서는 \hat{y}_c - 1이고, 나머지 클래스에 대해서는 \hat{y}_k - 0 = \hat{y}_k이다.
이 경사 형태의 장점은 다음과 같다. 첫째, 계산이 단순하다. 둘째, 모형의 예측이 참 레이블에서 크게 벗어날수록 경사의 크기가 커져 학습 신호가 강해진다. 셋째, 소프트맥스의 포화(saturation) 문제가 완화된다.
3.3 시그모이드-교차 엔트로피의 경사
이진 분류에서 시그모이드(sigmoid) 함수 \sigma(z) = 1/(1 + e^{-z})와 이진 교차 엔트로피를 결합하면:
\frac{\partial \mathcal{L}_{\text{BCE}}}{\partial z} = \hat{p} - y = \sigma(z) - y
다중 클래스의 경우와 동일하게 간결한 형태이다.
4. 평균 제곱 오차 손실과의 비교
4.1 경사의 크기 비교
분류 문제에서 교차 엔트로피 손실 대신 평균 제곱 오차(Mean Squared Error, MSE) 손실 \mathcal{L}_{\text{MSE}} = (1/2)\sum_k (y_k - \hat{y}_k)^2을 사용할 수도 있다. 그러나 소프트맥스 출력에 MSE를 적용하면 경사가:
\frac{\partial \mathcal{L}_{\text{MSE}}}{\partial z_k} = (\hat{y}_k - y_k) \hat{y}_k (1 - \hat{y}_k)
으로, \hat{y}_k(1 - \hat{y}_k) 인수가 추가로 곱해진다. 이 인수는 \hat{y}_k가 0 또는 1에 가까울 때 매우 작아지므로, 모형의 예측이 크게 틀렸을 때 오히려 경사가 작아지는 문제(경사 소실, vanishing gradient)가 발생한다.
교차 엔트로피 손실에서는 이 문제가 발생하지 않는다. 예측이 크게 틀릴수록 \hat{y}_c가 작아지고 -\log \hat{y}_c가 급격히 커지므로, 경사의 크기도 함께 증가하여 학습이 촉진된다.
4.2 확률론적 관점에서의 비교
MSE 손실은 출력이 가우시안 분포를 따르는 회귀 문제에서의 최대 우도 추정에 대응한다. 분류 문제에서 출력은 범주형(categorical) 분포를 따르므로, 대응하는 최대 우도 추정의 손실 함수는 교차 엔트로피이다. 분류 문제에 MSE를 사용하는 것은 잘못된 확률 모형을 전제하는 것이며, 이로 인해 최적화의 경관(optimization landscape)에서 불필요한 극소점(local minimum)이 발생할 수 있다.
5. 레이블 평활화
5.1 원-핫 레이블의 문제
원-핫 인코딩된 레이블에 교차 엔트로피를 적용하면, 모형이 정답 클래스에 확률 1을 부여하도록 유도된다. 이는 z_c \to \infty (정답 클래스의 로짓이 무한히 커지는 것)를 요구하며, 과적합(overfitting)과 일반화 성능 저하의 원인이 될 수 있다.
5.2 레이블 평활화의 정의
레이블 평활화(label smoothing)는 원-핫 레이블을 약간의 균등 잡음과 혼합하는 기법이다. 평활화된 레이블은:
y_k^{\text{smooth}} = (1 - \epsilon) y_k + \frac{\epsilon}{K}
여기서 \epsilon \in (0, 1)은 평활화 매개변수이다. \epsilon = 0.1이 흔히 사용된다.
정보론적으로, 이는 모형이 정답 클래스에 확률 1이 아닌 1 - \epsilon + \epsilon/K를 부여하도록 유도하는 것이며, 예측 분포의 엔트로피를 높여 과도한 확신(overconfidence)을 방지한다. 크리스천 세게디(Christian Szegedy) 등이 2016년 Inception v2 논문에서 제안한 이 기법은 대규모 분류 모형의 일반화 성능 향상에 효과적임이 실험적으로 확인되었다.
6. 언어 모형에서의 교차 엔트로피
6.1 자기 회귀 언어 모형의 손실
자기 회귀 언어 모형(autoregressive language model)은 토큰 수열 w_1, w_2, \ldots, w_T에 대해 조건부 확률 P_\theta(w_t \vert w_1, \ldots, w_{t-1})을 학습한다. 훈련 손실은 전체 수열에 대한 평균 교차 엔트로피이다:
\mathcal{L} = -\frac{1}{T} \sum_{t=1}^{T} \log P_\theta(w_t \vert w_1, \ldots, w_{t-1})
이 손실은 정보원 부호화 관점에서, 모형이 텍스트를 압축하는 데 필요한 평균 비트 수에 해당한다. 손실이 낮을수록 모형이 텍스트의 통계적 구조를 잘 포착하고 있음을 의미한다.
6.2 퍼플렉서티와의 관계
퍼플렉서티(perplexity)는 교차 엔트로피 손실의 지수 변환이다:
\text{PPL} = 2^{\mathcal{L}} = 2^{-(1/T) \sum_t \log_2 P_\theta(w_t \vert w_{<t})}
퍼플렉서티는 모형이 각 시점에서 평균적으로 몇 개의 토큰 중에서 ’혼란’을 겪는지를 나타내는 직관적 척도이다. 교차 엔트로피가 낮을수록 퍼플렉서티도 낮으며, 이는 모형의 예측 성능이 우수함을 의미한다.
7. 수치적 안정성
7.1 로그-소프트맥스의 활용
교차 엔트로피 손실의 직접 계산에서, \hat{y}_k가 매우 작을 때 \log \hat{y}_k가 -\infty로 발산하거나, 소프트맥스 계산에서 지수 함수가 오버플로(overflow)를 일으킬 수 있다. 이를 방지하기 위해 로그-소프트맥스(log-softmax)를 직접 계산한다:
\log \hat{y}_k = z_k - \log \sum_{j=1}^{K} e^{z_j} = z_k - \left(z_{\max} + \log \sum_{j=1}^{K} e^{z_j - z_{\max}}\right)
여기서 z_{\max} = \max_j z_j를 빼는 것은 수학적으로 소프트맥스의 값을 변화시키지 않으면서 지수 함수의 오버플로를 방지하는 기법이다.
현대의 딥러닝 프레임워크(PyTorch, TensorFlow 등)에서는 소프트맥스와 교차 엔트로피를 결합한 단일 연산으로 수치적 안정성을 자동으로 보장한다.
8. 결론
교차 엔트로피 손실 함수는 최대 우도 추정과의 동치성, 간결한 경사 형태, 적절한 학습 신호의 크기, 그리고 정보 이론적 근거에 의해 분류 및 언어 모형 학습의 표준적 손실 함수로 자리 잡았다. 이 손실 함수의 선택은 단순한 공학적 편의가 아니라, 모형 분포를 데이터 분포에 정보론적으로 가장 가깝게 만드는 것이라는 이론적 원칙에 기반한다.