- 주어진 가중치로 출력값 계산 (순전파)
- "(기존 가중치) - (오차를 각 가중치로 미분하고 learning rate를 곱한 값)" (역전파 , 경사하강법)
- 1과 2를 허용 범위 내의 오차가 될 때까지 반복
💡 역전파 : 출력층에서 입력층 방향으로 오차를 전파시키면서 각 층의 가중치를 업데이트하며 오차를 최소화하는 것 (input 과 output 을 알고 있는 상태)
순전파 : 입력층 -> 출력층
역전파 : 출력층 -> 입력층
오차 계산에는 MSE (평균 제곱 오차) 사용
활성화 함수는 시그모이드 함수 사용. z가 활성화 함수를 거치면 h 또는 o의 값이 된다.
(가중치는 원래 주어진 값)
계산을 통해 구한 각 인공뉴런의 결과값을 평균 제곱 오차를 통해 오차 계산 해준다.
w5에 대한 가중치를 업데이트 하기 위해서 오차를 w5에 대해서 미분하기 위해 연쇄 미분 이용
시그모이드 함수 미분
가중치 업데이트 (0.45 -> 0.43)
같은 방법으로 w6(0.4 -> 0.38), w7(0.7 -> 0.69), w8(0.6 -> 0.59) 업데이트
1단계와 같은 방법으로 2단계도 업데이트 (대신 더 많은 값이 관계되어서 약간 복잡)
전체식을 풀면 이런 식이 된다. 출력층의 Error를 인공뉴런 단까지 역전파하여 계산한다.
순전파를 통해 오차 줄어 든 것 확인 (0.02397190 -> 0.02323634)