체인룰 예시 (은닉층이 2개인 경우)

Bean·2025년 4월 9일
0

수학

목록 보기
4/13

1. 신경망 예시

예를 들어, 2개의 은닉층(hidden layers)이 있는 신경망을 생각해 봅시다.

  • 입력층: xx (입력 벡터)
  • 은닉층 1: h1h_1
  • 은닉층 2: h2h_2
  • 출력층: yy

그리고 각 층은 선형 변환을 하고 활성화 함수(activation function)를 통과한다고 가정합니다. 여기서는 ReLU를 사용하겠습니다.

신경망 구조:

  • h1=ReLU(W1x+b1)h_1 = \text{ReLU}(W_1 x + b_1) (은닉층 1)
  • h2=ReLU(W2h1+b2)h_2 = \text{ReLU}(W_2 h_1 + b_2) (은닉층 2)
  • y=W3h2+b3y = W_3 h_2 + b_3 (출력층)

여기서 각 층의 가중치 WW와 편향 bb는 학습되는 파라미터입니다.
이제 손실 함수 LL에 대해 역전파를 통해 그래디언트를 계산해 보겠습니다.


2. 역전파 과정 (Backpropagation)

(1) 손실 함수 LL에 대한 출력층의 그래디언트

먼저, 출력층에서 손실 함수에 대해 출력 yy의 그래디언트를 구합니다.
예를 들어, 손실 함수가 MSE(평균 제곱 오차)일 경우,

L=12(ytruey)2L = \frac{1}{2}(y_{\text{true}} - y)^2

출력에 대한 손실의 미분은 다음과 같습니다:

Ly=(ytruey)\frac{\partial L}{\partial y} = -(y_{\text{true}} - y)

(2) 은닉층 2의 그래디언트

출력 yy에 대한 그래디언트를 은닉층 2의 가중치 W3W_3에 대해 미분합니다:

Lh2=Lyyh2\frac{\partial L}{\partial h_2} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial h_2}

여기서:

yh2=W3\frac{\partial y}{\partial h_2} = W_3

따라서:

Lh2=(ytruey)W3\frac{\partial L}{\partial h_2} = -(y_{\text{true}} - y) \cdot W_3

이 값은 은닉층 2의 출력 h2h_2에 대한 그래디언트입니다.

(3) 은닉층 1의 그래디언트

ReLU 함수의 미분은 다음과 같습니다:

ReLU(z)z={1,if z>00,if z0\frac{\partial \text{ReLU}(z)}{\partial z} = \begin{cases} 1, & \text{if } z > 0 \\ 0, & \text{if } z \leq 0 \end{cases}

은닉층 2에서 전달된 그래디언트에 ReLU의 미분값을 곱합니다:

Lh1=Lh2h2h1ReLU(W2h1+b2)h1\frac{\partial L}{\partial h_1} = \frac{\partial L}{\partial h_2} \cdot \frac{\partial h_2}{\partial h_1} \cdot \frac{\partial \text{ReLU}(W_2 h_1 + b_2)}{\partial h_1}

즉,

Lh1=(ytruey)W3W2ReLU(W2h1+b2)\frac{\partial L}{\partial h_1} = -(y_{\text{true}} - y) \cdot W_3 \cdot W_2 \cdot \text{ReLU}'(W_2 h_1 + b_2)

(4) 가중치와 편향에 대한 그래디언트 계산

가중치 W2W_2 와 편향 b2b_2 에 대한 그래디언트:

LW2=Lh2h2W2\frac{\partial L}{\partial W_2} = \frac{\partial L}{\partial h_2} \cdot \frac{\partial h_2}{\partial W_2}
Lb2=Lh2h2b2\frac{\partial L}{\partial b_2} = \frac{\partial L}{\partial h_2} \cdot \frac{\partial h_2}{\partial b_2}

가중치 W1W_1 와 편향 b1b_1 에 대한 그래디언트:

LW1=Lh1h1W1\frac{\partial L}{\partial W_1} = \frac{\partial L}{\partial h_1} \cdot \frac{\partial h_1}{\partial W_1}
Lb1=Lh1h1b1\frac{\partial L}{\partial b_1} = \frac{\partial L}{\partial h_1} \cdot \frac{\partial h_1}{\partial b_1}

3. 역전파 흐름 정리

  1. 출력층에서 Ly\frac{\partial L}{\partial y}를 구합니다.
  2. 은닉층 2로 그래디언트를 전파하고, Lh2\frac{\partial L}{\partial h_2}를 계산합니다.
  3. 은닉층 1로 그래디언트를 전파하고, Lh1\frac{\partial L}{\partial h_1}을 계산합니다.
  4. 마지막으로 가중치와 편향에 대한 그래디언트를 구하여 파라미터들을 업데이트합니다.

4. 결론

  • 역전파에서는 출력에서 입력으로 그래디언트가 전달됩니다.
  • 출력층에서 시작하여 은닉층을 거쳐 입력층으로 그래디언트가 전파됩니다.
  • 이 과정에서 체인 룰을 사용하여 각 층의 가중치와 편향에 대한 그래디언트를 계산하고, 이를 통해 네트워크를 학습시킵니다.
  • 입력 xx의 그래디언트도 계산되지만, 이는 보통 학습에 직접 사용되지 않고, 다른 목적 (예: 적대적 공격, 특징 시각화 등)에서 활용됩니다.
profile
AI developer

0개의 댓글