A Step by Step Backpropagation Example - scrap

CODEDRAGON Development/AI

반응형

 

 

  

A Step by Step Backpropagation Example

 

https://bit.ly/2cisHEF

 

 

 

 

빨간색 가중치나 바이어스의 초기값
파란색 training data(훈련 데이터)

 

 

력으로 i1 0.05 넣고, i2에는 0.10 넣은 후에 o1 o2에서 각각 0.01 0.99 나오는지 실제 계산을 해봅니다.

 

예제에서는 뉴론의 활성화 함수로 sigmoid 함수를 사용했으며, 순차적으로 계산을 합니다.

 

실제 계산을 수행했더니 o1 0.75 나왔고 o2 0.77 나왔기 때문에 상당한 오차가 발생했음을 있습니다.

 

 

 

 

 

오차를 다시 반대 방향으로 전파를 시키면서 w1 ~ w6 값을 갱신합니다.

학습의 속도를 고려하는 학습 진도율(η) 등장하며, 예제에서는 0.5 사용하였습니다.

 

방식으로 w1 ~ w6 값을 모두 갱신을 하였다면, 다시 훈련 데이터를 i1 i2 넣고 과정을 반복합니다.

 

반복하다 보면, o1 o2 원래의 학습 목표였던 0.01 0.99 근사한 값이 도달 있을 것입니다.

때의 w1 ~ w6 훈련 데이터를 통해 최적화 , 학습이 , 상태가 되는 것입니다.

 

예제는 10000회를 반복적으로 수행하면, 원하는 값에 도달하게 됩니.

 

훈련 데이터가 많아지고 신경망에 있는 뉴런의 숫자가 많아질수록 학습 시간이 길어지고 초기값이나 학습 진도율 변수가 학습에 상당한 영향을 끼칠 것이라는 것에 대한 감을 잡게 것으로 확신합니다.

[출처] [Part . Neural Networks] 4. Backpropagation [2] - 라온피플 머신러닝 아카데미 - |작성자 비전솔루션 전문기업

 

 

 

Github 사이트

source code까지 공개되어 있어 코드의 값을 바꿔보면 학습의 속도가 달라짐을 확인할 있습니다.

https://github.com/mattm/simple-neural-network

 

 

 

직접 다운로드

simple-neural-network-master.zip
다운로드