엔지니어가 되고 싶은 공돌이

06. 역전파(back propagation) 본문

Artificial Intelligence/Basic Neural Network

06. 역전파(back propagation)

Geca 2019. 12. 30. 01:52

 

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