Backpropagation(오차역전파)란...

신민기·2025년 8월 12일

AI

목록 보기
5/17

Backpropagation(오차역전파)

가중치에 대한 손실함수의 기울기를 구하는 방식이다.

이러한 backpropagation은 말 그대로 역순으로 gradient를 구하는 것인데 이 때 합성 미분법의 성질인 chain rule(연쇄 법칙)이 필요하다.

chain rule(연쇄 법칙)

chain rule은 합성 함수를 미분할 때 겉함수와 속함수를 곱하는 과정을 거치는데 이를 말한다.

T(x)=f(g(x))T(x) = f(g(x)) 라 하면

T(x)=limh0T(x+h)T(x)hT'(x) = \lim_{h \to 0} \frac{T(x + h) - T(x)}{h}
=limh0f(g(x+h))f(g(x))h= \lim_{h \to 0} \frac{f(g(x + h)) - f(g(x))}{h}
=limh0f(g(x+h))f(g(x))g(x+h)g(x)×g(x+h)g(x)h= \lim_{h \to 0} \frac{f(g(x + h)) - f(g(x))}{g(x + h) - g(x)} \times \frac{g(x + h) - g(x)}{h}
=f(g(x))g(x)= f'(g(x)) \, g'(x)

특징:

  • 국소적 계산을 해 작은 계산 단위로 나눔(곱셈, 덧셈, 활성화 함수)
  • chain rule을 통해 출력부터 입력까지 미분값을 전달하면서 곱해 나아감.

(1) 순전파(Forward pass)

입력 데이터를 처음부터 끝까지 흘려보내고 각 노드의 출력 값을 저장해 둡니다.
마지막에 손실(Loss)을 계산합니다.

(2) 역전파(Backward pass)

손실의 미분값을 출력층부터 시작.
각 노드의 국소 미분(자기 입력→출력 변화율)을 계산.
그 미분값에 전달받은 기울기를 곱해 이전 노드로 보냄.
모든 가중치에 대해 ∂Loss/∂Weight를 구함.

사용 이유:

수치 미분으로 구하는 것보다 훨씬 효율적이기 때문

단점:

모델의 깊이가 깊을수록 기울기 손실이 일어날 확률이 높음.

출처:
https://amber-chaeeunk.tistory.com/18
https://m.blog.naver.com/biomath2k/221904946909
https://yhyun225.tistory.com/22
https://m.blog.naver.com/winddori2002/221950653462
https://blog.naver.com/koreadeep/222600824716

profile
AI 어렵다

0개의 댓글