머신러닝

역전파 (backpropagation)

mwithgod 2025. 8. 8. 20:15

Fig1

 

역전파를 이해하기에 앞서 먼저 인공 신경망의 학습 절차를 이해할 필요가 있어요. 학습은 크게 순전파(Feed Forward), 손실계산(Loss Calculation), 역전파(Backpropagation) 3 단계로 구성됩니다.

 

이 3개의 단계를 반복하여 수행하고, 이 과정에서 최적의 파라미터를 찾아가는 과정을 우리는 학습(training) 또는 최적화 (optimization) 을 이행한다 말하기도 합니다. 이는 반복적 파라미터 갱신을 통해 모델의 예측값과 실제값 간 오차를 줄이는 절차로, 대부분의 기계학습 알고리즘이 따르는 핵심 메커니즘입니다.

 

먼저, 

  • Feed-Forward : 

Feed-Forward 단계에서는 입력층의 특성값이 가중치 w 와 편향 b 를 통해 다음 층으로 전달됩니다.

식1

그 다음 단계에서는 이렇게 계산된 z1, z2 에 활성화 함수(activation function)을 적용해 h1, h2 값 을 계산하게 되고요.

식2

그리고,  h 값은 다시 w 와 선형 결합되어 출력층 뉴런에 입력 z 로 전달됩니다.

그리고, 출력층 뉴런의 입력 z3 는 activation function 를 거쳐 최종 출력 o 를 얻습니다.

그러면, 1단계인 `순전파` 단계는 무리가 됩니다. 물론 보다 복잡한 모델 구조나 개발 환경에서는 이 순전파 과정이 다층 구조와 다양한 비선형 변환으로 확장될 수 있습니다.

식3

  • Loss Calculation : 

출력층의 결과와 실제 값을 비교합니다. 예를 들어, 회귀는 MSE, 분류는 Cross-Entropy 등 적합한 손실 함수를 선택하여 예측값과 실측 값 간의 손실 정도를 판단하는 것이죠.

 

Fig1의 구조에서는 o1을 손실계산 합니다.

 

* 그럼, 본 포스트의 핵심인 역전파(Backpropagation)은 무엇일까요 ?

역전파 자체는 수학적으로 손실 함수(L)를 각 가중치(w)와 편향(b)에 대해 미분한 기울기를 계산하는 과정입니다.

식4

그리고, 이러한 미분 과정이 끝나면 경사하강법(Gradient Descent)를 계산해 가충치를 갱신하게 된느 것이죠.

식5

여기서, 현 열결강도는 w5, w6이고, 현 연결강도 오차를 아래와 같이 표기할 수 있어요.

그리고, 이 값이 식 4를 표현하는 것입니다. Fig1 에서 찾아본다면, w5, w6 각각이 C에 대해 미 분되어야 하는 것이죠.

이 값이 바로 “식 (4)”에서 표현한 항이며, 역전파 알고리즘의 직접적인 계산 목표가 됩니다.

여기서 문제는, 대부분의 경우, w C 사이의 직접적인 함수 관계를 우리가 명시적으로 알고 있지 않다는 점입니다. 

예를 들어 C o1 을 통해 계산되고, o1z3의 함수이며, z3w5h1의 곱(그리고 w6, h2)으로 표현됩니다. 즉, w5C는 여러 중간 변수를 거쳐 연결되므로, 이를 직접 미분하기 어렵다는 것이죠.

 

이럴 때 우리는 연쇄 법칙(Chain Rule)을 사용합니다. Chain Rule을 사용하면, 여러 여러 국소 미분(local deviative)의 곱으로 분해할 수 있습니다. w5 에 대한 미분을 예로 들면,

식6

Chain Rule이 역전파 알고리즘의 핵심입니다.

계산의 예를 들기 위해 activation function은 sigmoid 함수라고 가정해보겠습니다.

그럼,

식7

더불어, 3번 째 항의 미분은 아래와 같습니다. (첫번 째 항의 미분은 비교적 간단함으로 추가적인 계살절차는 생략하겠습니다.)

식8

사실, 위와 같은 방식으로 Fig1 의 경우 w1, w2, w3, w4  모두를 미분해주어야 하는데요.

대표로 w1 을 미분 한다면, 다음과 같은 Chain Rule을 거쳐야 합니다. w1 w1z1h1 z3 o1 C 과정을 출력층까지 거치게 됨으로 아래와 같은 연쇄 법칙을 적용해야 합니다.

 

출력 o1이 솔실 C에 미치는 영향은,** 출력층 활성화 함수
  • 출력층 전-활성값 z3 가 은닉 뉴런 h1 에 따라 변하는 정도
  • 출력층 활성화 함수(예: 시그모이드, 소프트맥스)의 도함수
  • 은닉층 활성화 함수의 도함수
  • 은닉층 전-활성값 z1 가 가중치 w1 에 따라 변하는 정도

이 과정을 모든 가중치에 대해 반복하면, 각 wi가 손실에 미치는 영향을 정량적으로 계산할 수 있다. 이후 경사하강법을 적용하여

 

 

형태로 가중치를 갱신하고, 이를 반복함으로써 오차가 최소화되는 지점에 수렴하면 학습이 완료됩니다.

즉, 연쇄 법칙은 입력층에서 출력층까지 이어지는 복잡한 경로를 미분 가능한 작은 조각으로 분해하여, 모든 가중치의 기울기를 체계적으로 계산하는 것에 주 목적인 것이죠.

😊

'머신러닝' 카테고리의 다른 글

정보량과 엔트로피 (entropy)  (0) 2025.04.25