임베디드에서 서버까지
[머신 러닝] Back Propagation 계산 과정 본문
forward propagation
back propagation
위의 forward propagation을 예제로 back propagation을 계산해본다.
미분의 chain rule을 이용하여 gradient가 곱셈연산으로 역방향 전파된다.
* Cost function을 사용할 경우 수식이 복잡해지는 관계로 Loss function으로 대체함.
Cost function : 전체 샘플에 대한 오차 평균
Loss function : 단일 샘플에 대한 오차
1. Cross Entropy + Sigmoid 미분 (http://smwgood.tistory.com/6)
마지막 output layer에 Loss function : cross-entropy와 activation function : Sigmoid 를 사용하면 예측값과 실제값의 차이값이 미분값인 gradient와 같아 진다.
2. dW[2],db[2] 계산
3. dZ[1],da[1] 계산 (Sigmoid 미분 참고 http://smwgood.tistory.com/4?category=751569)
4. dW[1],db[1] 계산
5. 각각의 Gradient를 구했으니 learning rate(알파값)을 곱해서 각의 Weight, bias를 업데이트한다.
여러가지 Optimize 알고리즘이 있지만, 가장 기본이 되는 Gradient Decent 알고리즘을 예를 들면 다음과 같다.
* 기본적인 원리를 이해하고 있다면 각 layer의 activation function이 ReLU, tanh 등으로 바뀌어도 바뀐 부분만 수정해 주는 것은 어렵지 않을 것이다.
'Machine Learning' 카테고리의 다른 글
Accuracy, Recall, Precision, F1 Score (0) | 2018.12.08 |
---|---|
베이즈 정리 이해 (Bayes' theorem) (0) | 2018.12.07 |
베이즈 정리 증명 (Bayes' theorem) (0) | 2018.12.06 |
[머신 러닝] Cross-Entropy 미분 (2) | 2018.09.30 |
[머신 러닝] Sigmoid 미분 (0) | 2018.09.30 |