Adventure Time - Finn 3
본문 바로가기
AI/ML

Backpropagation : 역전파 알고리즘

by hyun9_9 2026. 3. 21.

지난 포스트에서 Neural Network의 구조를 배웠습니다.
이번엔 Neural Network를 실제로 학습시키는 핵심 알고리즘인 역전파(Backpropagation) 를 알아보겠습니다.


역전파가 왜 필요할까?

딥러닝으로 들어오면서 경사 하강법을 사용해 cost 함수를 최소화하는 W, b를 계산하는 것이 너무 복잡해서 불가능하다고 Minsky 교수님이 말씀하셨습니다.

뉴럴 네트워크가 복잡해지면서 최종 결과에 대한 미분값(기울기)을 구하기가 매우 어려워졌기 때문입니다.

하지만 이 문제는 1974년 폴 워보스, 1986년 제프리 힌턴 교수에 의해 해결되었습니다.

출력값의 오류를 역방향으로 전파하며 미분값을 계산한다


Chain Rule (연쇄 법칙)

역전파의 핵심은 Chain Rule 입니다.

복잡한 함수의 미분을 여러 단계로 나눠서 계산하는 방법입니다.

f = wx + b 라는 함수가 있을 때

g = wx 로 나누면
f = g + b

αf/αx = (αf/αg) * (αg/αx)

복잡해 보여도 뒤에서부터 차근차근 곱해나가면 됩니다.


계산 그래프로 표현하기

f = wx + b 를 계산 그래프로 그리면:

w ──\
     (×) ── g ──\
x ──/             (+) ── f
                /
b ─────────────

우리가 구하고 싶은 것:

  • w가 f에 미치는 영향 → αf/αw
  • x가 f에 미치는 영향 → αf/αx
  • b가 f에 미치는 영향 → αf/αb

이것이 각각의 미분값(기울기) 이 됩니다.


Forward : 앞에서 뒤로 값 계산

먼저 Forward(순전파) 는 학습 데이터에서 값을 가져와 그래프에 순서대로 입력하는 단계입니다.

w = -2
x =  5
b =  3

계산 순서:

g = w × x = (-2) × 5 = -10

f = g + b = -10 + 3 = -7
w=-2 ──\
        (×) ── g=-10 ──\
x= 5 ──/                (+) ── f=-7
                       /
b= 3 ─────────────────

Backward : 뒤에서 앞으로 미분 계산

Backward(역전파) 는 출력(f)에서 시작해 역방향으로 미분값을 계산합니다.

출력 쪽 미분 먼저 계산

f = g + b 이므로

αf/αg = 1   ← g가 1 변할 때 f는 1 변한다
αf/αb = 1   ← b가 1 변할 때 f는 1 변한다

Chain Rule로 나머지 계산

w가 f에 미치는 영향:

αf/αw = αf/αg × αg/αw
       = 1 × x
       = 1 × 5
       = 5

w가 1 변하면 f는 5배 영향을 받습니다.

x가 f에 미치는 영향:

αf/αx = αf/αg × αg/αx
       = 1 × w
       = 1 × (-2)
       = -2

x가 1 변하면 f는 -2배 영향을 받습니다.

b가 f에 미치는 영향:

αf/αb = 1

b가 1 변하면 f도 1대1로 영향을 받습니다.


결과 정리

w=-2 ──\
        (×) ── g=-10 ──\
x= 5 ──/                (+) ── f=-7
                       /
b= 3 ─────────────────

← 역방향 미분값 →

αf/αw = 5     (w가 f에 5배 영향)
αf/αx = -2    (x가 f에 -2배 영향)
αf/αb = 1     (b가 f에 1대1 영향)

왜 역전파가 강력한가?

뉴럴 네트워크가 아무리 깊어져도 (레이어가 많아져도) 뒤에서부터 차근차근 Chain Rule을 적용하면 모든 W, b의 미분값을 구할 수 있습니다.

입력층 → 은닉층1 → 은닉층2 → ... → 출력층
                                      ↓
                              오류 계산 (cost)
                                      ↓
출력층 ← 은닉층2 ← 은닉층1 ← ...  ← 역전파 시작
  (미분값을 역방향으로 전파하며 각 W, b 업데이트)

Minsky 교수님이 불가능하다고 했던 문제를 Chain Rule 이라는 수학적 방법으로 해결한 것입니다.


정리

개념 설명

Backpropagation 출력의 오류를 역방향으로 전파하며 미분값을 계산하는 알고리즘
Chain Rule 복잡한 함수의 미분을 단계별로 나눠 계산하는 방법
Forward 입력 → 출력 방향으로 값을 계산
Backward 출력 → 입력 방향으로 미분값(기울기)을 계산
미분값의 의미 해당 변수가 최종 출력에 얼마나 영향을 미치는지

역전파 알고리즘의 등장으로 딥러닝이 본격적으로 발전할 수 있게 되었습니다. 🚀