오차는 예측값(Y_hat)과 실제값(Y) 간의 차이를 나타내며, 신경망이 얼마나 잘못 예측했는지를 나타낸다.

1. Softmax 함수

Softmax 함수는 출력층에서 사용되며, 각 클래스에 속할 확률로 해석될 수 있으며, 모든 출력의 합은 1이 된다.

Softmax 함수는 다음과 같다.

$$

⁍ $$

2. 손실 함수 (Loss Function)

출력층에서의 오차를 계산하려면, 예측값(Y_hat)과 실제값(Y)을 비교해야 합니다. 이를 위해 크로스 엔트로피 손실 함수를 자주 사용한다.

크로스 엔트로피 손실 함수는 다음과 같다.

$$

⁍ $$

$y_i$는 실제 클래스 레이블(원-핫 인코딩), $\hat{y}_i$는 예측된 클래스 확률이다. 이 함수는 모델이 실제 클래스에 대해 예측 확률이 낮을수록 더 큰 손실을 부과한다.

3. 오차 dZ2 계산

출력층에서의 오차 dZ2는 다음과 같이 계산된다.

dZ2 = Y_hat - Y

이 오차는 두 가지 중요한 미분 값의 조합으로 설명될 수 있다:

  1. Softmax 함수의 미분

    Softmax는 다음과 같이 정의된다.

    $$ \hat{y}i = \frac{e^{z_i}}{\sum{j=1}^{C} e^{z_j}} $$

    Softmax 함수의 미분을 $z_j$에 대해 계산하면 다음과 같은 형태를 얻게 된다.

    $$ \frac{\partial \hat{y}_i}{\partial z_j} = \hat{y}i (\delta{ij} - \hat{y}_j) $$

    $δ_{ij}$는 크로네커 델타 함수로, i=j일 때 1이고, 그 외에는 0이다.

    $i=j$일 때, 즉 같은 클래스일 때의 미분 값은 $\hat{y}_i (1 - \hat{y}_i)$이다

    $i≠j$ 일 때, 즉 서로 다른 클래스 간의 상호작용 항목이 $-\hat{y}_i \hat{y}_j$로 나타난다.

  2. 크로스 엔트로피 손실 함수의 미분

    크로스 엔트로피 손실 함수는 다음과 같이 정의된다.

    $$

    ⁍ $$

    $y_i$는 실제 레이블로, $y_i$가 1인 곳은 정답 클래스이며, 나머지는 0. $\hat{y}_i$는 Softmax 함수의 출력, 즉 예측 확률이다.

    크로스 엔트로피 손실 함수의 미분을 Softmax의 출력 $\hat{y}_i$에 대해 계산하면 다음과 같다.

    $$ \frac{\partial \text{Loss}}{\partial \hat{y}_i} = -\frac{y_i}{\hat{y}_i} $$

  3. Softmax와 크로스 엔트로피 손실 함수의 결합

    Softmax 함수와 크로스 엔트로피 손실 함수를 결합하여 $z_j$에 대한 전체 손실의 미분을 구하려고 한다. 손실 함수 $\text{Loss}$에 대해 $z_j$의 미분을 구하는 과정은 연쇄 법칙(chain rule)을 사용해 계산한다.

    $$ \frac{\partial \text{Loss}}{\partial z_j} = \sum_{i=1}^{C} \frac{\partial \text{Loss}}{\partial \hat{y}_i} \cdot \frac{\partial \hat{y}_i}{\partial z_j} $$

    앞에서 계산한 Softmax와 크로스 엔트로피의 미분을 대입해보면 다음과 같다:

    $$ \frac{\partial \text{Loss}}{\partial z_j} = \sum_{i=1}^{C} \left( -\frac{y_i}{\hat{y}_i} \right) \cdot \left( \hat{y}i (\delta{ij} - \hat{y}_j) \right) $$

    $$ \frac{\partial \text{Loss}}{\partial z_j} = -\sum_{i=1}^{C} y_i (\delta_{ij} - \hat{y}_j) $$

  4. 원-핫 인코딩 적용

    원-핫 인코딩에서는 정답 클래스 위치에서만(i=j인 경우) $y_i = 1$, $δ_{ij}=1$이고, 나머지 클래스(i≠ji인 경우)에서는 $y_i = 0$.

    $$ \frac{\partial \text{Loss}}{\partial z_j} = -y_j (1 - \hat{y}j) + \sum{i \neq j} y_i \hat{y}_j $$

    $$ \frac{\partial \text{Loss}}{\partial z_j} = -y_j (1 - \hat{y}j) + \sum{i \neq j} (0) \cdot \hat{y}_j $$

    $$ \frac{\partial \text{Loss}}{\partial z_j} = −y_j \cdot (1−\hat{y_j}) $$

    이 식에서 $y_j=1$이므로,

    $$ \frac{\partial \text{Loss}}{\partial z_j} = -(1−\hat{y_j}) = \hat{y_j} -1 $$

    원-핫 인코딩 특성상 y_j = 1, $\hat{y}_j$는 예측 확률이다.

    $$ \frac{\partial \text{Loss}}{\partial z_j} = \hat{y}_j - y_j $$