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
역전파 시에는 순전파 시 이용한 데이터가 필요하다
따라서 역전파를 구하려면