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 (순전파)
- 입력층 → 은닉층 → 출력층 방향으로 학습
- 최종 출력값과 실제값의 오차 확인
- 오차함수
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
\(\mathbf w\) <- \(\mathbf w\) - \(\boldsymbol{\rho}\)\(\partial J(\theta) \over \partial (\theta)\)
• Chain Rule 사용 : 복잡한 계산, 시간 많이 걸림