[DLS] 역전파와 순전파

김민석·2023년 4월 16일
0

DLS3

목록 보기
1/1

역전파는 왜 필요한가

dx/dy = [dy/dy] dy/db db/da da/dx

출력에서 입력 방향으로, 보통의 계산과는 반대 방향으로 미분을 계산한다.

신경망에선 매개변수를 수백만 개 이상 사용하는 건 일도 아니다.

그래서 등장한 것이 바로 역전파이다.

미분값이 오른쪽에서 왼쪽으로 전파된다.

머신러닝은 주로 대량의 매개변수를 입력 받아서 마지막에 손실함수(loss function)를 거쳐 출력을 내는 형태로 진행된다.

다시, 아래와 같은 흐름을 비교해보자.

[순전파]
x -> [ A ] -> a -> [ B ] -> b -> [ C ] -> y

[역전파]
dy/dx <- [ A'(x) ] <- dy/da <- [ B'(a) ] <- dy/db <- [C'(b)] <- dy/dy

역전파 시에는 순전파 시 이용한 데이터가 필요하다
따라서 역전파를 구하려면

  1. 순전파를 한다.
  2. 각 함수가 입력 변수(앞의 예에서는 x, a, b)의 값을 기억해둔다.
  3. 이를 바탕으로 역전파를 한다.
profile
mldl ; studying 'Deep Learning from Scratch'

0개의 댓글