Deep Learning

[DNN] DNN, Forward / Back Propagation (순전파 / 역전파)

여름삐 2022. 11. 7. 15:02

1️⃣ DNN (심층 신경망)

  • Deep Neural Network
  • 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)을 포함하는 인공신경망(ANN)
  • 활성화함수를 통해 비선형적 관계 학습

 

2️⃣ Forward Propagation (순전파)

  • 입력층 → 은닉층 → 출력층 방향으로 학습
  • 최종 출력값과 실제값의 오차 확인

  • 오차함수
MathJax example

J(W, b) = \(1 \over n\)\(\sum_{i=1}^N (\hat{y_i} - y_i)^2\)

 

3️⃣ Back Propagation(역전파)

1. Back Propagation

  • 순전파 알고리즘에서 발생한 오차를 줄이기 위해 새로운 가중치를 업데이트하고, 새로운 가중치로 다시 학습하는 과정 → 오차가 0 에 가까울 때까지 반복

  • Gradient Descent의 확장 개념

 

1) 임의의 초기 가중치 𝜔 를 준 뒤 결과 𝑦𝑜𝑢𝑡 를 계산
2) 계산 결과와 원하는 값 사이의 오차를 구함
3) 경사 하강법을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 업데이트 함
4) 위 과정을 더 이상 오차가 줄어들지 않을 때까지 반복

 

2. Gradient Descent (경사하강법)

  • 가중치 업데이트, 오차 함수 그래프에서 미분 값이 0 인 지점을 구하는 것

  • X축 : network parameter( 𝜔, b)
  • Y축 : Loss
MathJax example

\(\mathbf w\) <- \(\mathbf w\) - \(\boldsymbol{\rho}\)\(\partial J(\theta) \over \partial (\theta)\)

Chain Rule 사용 : 복잡한 계산, 시간 많이 걸림