엔지니어가 되고 싶은 공돌이
06. 역전파(back propagation) 본문
1. 가중치 업데이트
- W11 을 업데이트하기 위해 e1의 W11/(W11+W21) 만큼을 사용.
- W21 을 업데이트하기 위해 e1의 W21/(W11+W21) 만큼을 사용.
2. 역전파
- 출력계층의 오차로 가중치 Who를 업데이트 한다.
이 때 오차는 실제 값에서 출력 값을 뺀 값이다.
- 은닉계층의 오차로 가중치 Wih를 업데이트 한다.
은닉노드에 대해서는 목표로 하는 출력 값이 없다. 그럼 어떻게 오차를 구한다는 거지?
은닉노드는 앞 계층의 연결된 노드들로부터 오차를 모두 받아 재조합해서 은닉계층의 오차로 사용한다.
ehidden,1(은닉계층 1번노드의 오차) = eoutput,1*(W11/(W11+W21)) + eoutput,2*(W12/(W12+W22))
- 순전파에 행렬을 적용시켜 연산을 단순화한 것 처럼 역전파도 행렬을 적용시켜 연산을 단순화 할 수 있다.
- 역전파의 핵심은 가중치가 크면 클수록 더 많은 출력오차가 은닉계층으로 돌아오게 하는 것.
그러므로 분수에서 분모 부분을 무시한다고 해도 프로그램은 되돌아오는 오차의 일정 비율정도를 잃을 뿐이다.
단순하게 아래그림처럼 표현을 해도 된다.
(선배 프로그래머께서 분모가 있을 때와 없을 때 분모여부에 상관없이 프로그램이 잘 동작한다는 사실을 밝히셨다.)
ehidden = WTho X eoutput
'Artificial Intelligence > Basic Neural Network' 카테고리의 다른 글
08. 데이터 (0) | 2020.01.19 |
---|---|
07. 경사 하강법 및 오차함수 (0) | 2019.12.30 |
05. 가중치 학습 (0) | 2019.12.29 |
04. 순전파(forward propagation) (0) | 2019.12.29 |
03. 뉴런이란 (0) | 2019.12.29 |
Comments