※ Artificial Neural Network
■ Forward Propagation (순전파)
- 입력층 - 은닉층 - 출력층 순서대로 흘러가는 것
■ Back Propagation (역전파)
- Update weights recursively
- 다층 퍼셉트론(MLP)에서 최적값을 찾아가는 과정
- 출력층 - 은닉층 - 입력층 순서대로 반대로 거슬러 올라가는 것
1. 가중치 초기화
2. Forward Propagation
\[\bold W_{1}^{T} \bold x + \bold b_{1} = \bold g\]
\[\bold W_{1}^{T} \bold x + \bold b_{1} = \begin{pmatrix}w_{11}&w_{21}&w_{31}\\w_{12}&w_{22}&w_{32}\\ \end{pmatrix} \begin{pmatrix}x_{1}\\x_{2}\\x_{3}\end{pmatrix} + \begin{pmatrix}b_{1}\\b_{1}\end{pmatrix}\]
- Activation Function을 이용하여 nonlinear하게 만들기
- e.g.
\[h_{1} = \phi(g_{1}) \\ h_{2} = \phi(g_{2})\]
\[\boldsymbol{W_{2}^{T}h} + \boldsymbol{b_{2}} = \boldsymbol{z} \bold z\]
\[\bold W_{2}^{T} \bold h + \bold b_{1} = \begin{pmatrix}w_{41}&w_{51}\\w_{42}&w_{52}\\ \end{pmatrix} \begin{pmatrix}h_{1}\\h_{2}\end{pmatrix} + \begin{pmatrix}b_{2}\\b_{2}\end{pmatrix}\]
- Activation Function을 이용하여 nonlinear하게 만들기
\[y_{1} = \phi(z_{1}) \\ y_{2} = \phi(z_{2})\]
3. cost function 정의 및 1차 미분식 구하기
- $y_{1}, y_{2}$: 신경망 모형을 이용해 구한 값
- $t_{1}, t_{2}$: 실제 값
- e.g. (2분의 1은 미분의 편의성을 위해)
\[C = \cfrac{1}{2}[(y_{1}-t_{1})^{2}+(y_{2}-t_{2})^{2}]\]
\[\cfrac{\delta C}{\delta y_{1}} = y_{1}-t_{1}\]
\[\cfrac{\delta C}{\delta y_{2}} = y_{2}-t_{2}\]
4. back propagation을 통한 1차 미분값 구하기
5. parameter 업데이트
댓글남기기