Gradient Descent를 다시 반영하기 위한 알고리즘
[Neural Network 9] 역전파 backpropagation 알고리즘 (수정본)을 바탕으로 만들었습니다.

수식, $f(x,y,z) = (x+y) \cdot z$ 이 존재한다.
그리고 다음, $x=-2,y=5,z=-4$이다.
- $q = x+y$
- $f=q\cdot z$
- $\frac{\partial q}{\partial x} = 1$, $\frac {\partial q}{\partial y}= 1$
- $\frac {\partial f}{\partial q}=z$, $\frac {\partial f}{\partial z}=q$
ChainRule (연쇄법칙)을 이용하여 각 노드의 미분 값을 구할 수 있다.
- $\frac {\partial f}{\partial x} = \frac{\partial f}{\partial q} \frac{\partial q}{\partial x} = z \cdot 1 = -4$
- $\frac{\partial f}{\partial y} = \frac{\partial f}{\partial q} \frac{\partial q}{\partial y} = z \cdot 1 =-4$
- $\frac{\partial f}{\partial z} = q =3$
- $\frac{\partial f}{\partial q} = z =-4$

다음 그림에서, BackPropagation의 동작과정은 다음과 같다.
FeedForward를 거친 뒤, 각각의 미분 값 도출에 대해서는 $f(y)= z$인, 처음 $z$부터 시작된다.
- $\frac{dz}{dy}$를 구하여 $y$에 대한 $z$의 미분을 구한다.
- 그 다음 우리가 $\frac{dz}{dx}$값을 원한다면, $\frac{dy}{dx}$를 구한 뒤, $\frac{dy}{dx} \cdot \frac{dz}{dy}$하여 $\frac{dz}{dx}$를 구할 수 있게된다.
- 최종적으로 $w$에 대한 $z$의 미분은 앞서 구한 미분들을 이용하여 구할 수 있게 된다. 자세하게는, ChainRule을 이용하여 구한다.
- $\frac{dz}{dw} = \frac{dz}{dx} \cdot \frac{dx}{dw}$ 수식을 이용하여 구할 수 있다.
ChainRule을 이용하여 각 노드에 대한 미분을 구하고 이 값들을 갱신하는 과정에서 최적화 과정이 이루어진다.