Neural network back propagation

back propagation 이란?

multi layer perceptron에서의 학습 알고리즘 이다.

Back propagation Algorithm

다음과 같은 이유로 multi layer perceptron에서 BP를 사용한다.

  1. 넓은 입력공간에서 복잡한 패턴을 가진다.
  2. 병렬 처리를 통해 빠른 계산속도를 가진다.
  3. adaption을 위해 error back propagation을 한다.

Back propagation을 하는 MLP의 구조를 BPN(Back Propagation Network)라고 한다.

작동 원리

BPN은 다음과 같은 복잡한 패턴 매칭 문제를 해결할 수 있다.

  1. 입출력 쌍 패턴 분석을 propagation adoption 방식을 사용하고 학습할 수 있다.
  2. 입력 자극이 hidden layer로 그리고 output layer 로 전달된다.

다음과 같은 순서로 학습이 이루어 진다.

  1. 패턴 입력이 인풋으로 주어짐
  2. 히든 레이어로 전달된
  3. 출력 레이어로 전달되고 출력 패턴이 나옴
  4. desired pattern에서 output pattern의 차를 통해 error를 검출
  5. 검출된 error가 출력 레이어로 부터 히든 레이어로 전달되고 다시 입력단으로 전달됨
  6. 히든 레이어에서 에러의 상대적 기여도가 사용되고, 모든 노드에 대해 수행됨
  7. connection strength가 업데이트 되고, 트레이닝 패턴이 다시 encode됨

BPN Learning Process(Encoding)

히든 레이어의 노드가 모든 입력 패턴을 인식할 수 있도록 스스로 재구성됨

BPN Retrieving Process(Decoding)

  1. 입력된 입력패턴이 학습된 패턴과 같거나 유사하면 output layer에 나타남
  2. 입력된 입력 패턴이 학습된 데이터가 아니면, 히든 레이어에서 자극값을 생성하는 것이 억제됨

BPN

Back propagation 알고리즘의 핵심은 error가 weight를 스스로 업데이트 하는 것이다.
error BP는 지도 학습(supervised learning)의 핵심이다.
여러개의 입출력 쌍을 통해 출력을 예상할 수 있다.

Mapping network
:input과 output을 계산하는 함수

bpn image

GDR(Generalized Delta Rule)

입력 벡터를 통해 i 번체 히든 노드의 입력의 합을 구한다.

gdr image

gdr2

output of th k^th output unit
output of kth output unit

BPN Learning Algorithm

  1. 적용된 input으로 부터 전달된 신호를 기반으로 관련 출력을 계산하라
  2. 에러를 계산하라(desired-actual)
  3. error 를 감소시키기 위한 weight update의 방향을 결정하라.
  4. weight update의 양을 계산하라
  5. weight를 업데이트 하라
  6. 1~5의 과정을 에러가 tolerance ranges 안에 들어갈 때 까지 반복하라.

Fuzzy systems fuzzy sets and systems Nodejs Google Api를 활용한 push 서버 구축

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×