순전파(Feedforward) 역전파(Backpropagation) 개념

 

다층 퍼셉트론(Multi-layer Perceptron, MLP)으로 학습 한다는 것은 최종 출력값과 실제값의 오차가 최소화 되도록 가중치와 바이어스를 계산하여 결정하는 것이다. 순전파 (Feedforward) 알고리즘 에서 발생한 오차를 줄이기 위해 새로운 가중치를 업데이트하고, 새로운 가중치로 다시 학습하는 과정을 역전파 (Backpropagation) 알고리즘 이라고 한다. 이러한 역전파 학습을 오차가0 가까워 때까지 반복한다. 역전파 알고리즘을 실행할때 가중치를 결정하는 방법에서는 경사하강법이 사용된다.

 

[순전파 (Feedfoward)]

입력층에서 은닉층 방향으로 이동하면서 입력에 해당하는 가중치가 곱해지고, 결과적으로 가중치 합으로 계산되어 은닉층 뉴런의 함수 (일반적으로 시그모이드(Sigmoid) 사용) 입력된다. 그리고 최종 결과가 출력된다.

 

 

[역전파 (Backpropagation)]

역전파 알고리즘은 input output 값을 알고 있는 상태에서 신경망을 학습 시키는 방법이다. 방법을 Supervised learning(지도학습)이라고 한다. 초기 가중치, weight 값은 랜덤으로 주어지고 각각 노드들은 하나의 퍼셉트론으로, 노드를 지날때 마다 활성함수를 적용한다.

 

역전파 알고리즘의 수식은 아래와 같다.

·       target : 출력의 기대

·       output : 실제 출력

·       E : 오차

 

 

역전파 알고리즘도 한계점은 있다. 은닉층에서 시그모이드(Sigmoid) 함수를 사용하면 가중치 조정을 위해 경사감소법을 사용하는데, 계단형식 함수를 미분가능하도록 곡선화 한다. 은닉층이 깊어질 수록 가중치가 0으로 수렴하며 정확성이 감소한다. 이러한 역전파 알고리즘의 문제점을 해결하기 위해 ReLu 알고리즘을 사용한다. ReLu x 값이 0이하이면 0 출력, 0 이상이면 비례함수를 적용하여 max(0,x) 함수를 사용한다.

 

 

[참고자료]

·       https://wikidocs.net/37406

·       https://ko.wikipedia.org/wiki/%EC%97%AD%EC%A0%84%ED%8C%8C

·       https://sacko.tistory.com/19

·       https://m.blog.naver.com/samsjang/221033626685

·       https://goofcode.github.io/back-propagation

·       https://gomguard.tistory.com/182

 

 

 

2020-03-14/ Sungwook Kang / http://sungwookkang.com

 

 

인공지능,  Artificial Intelligence, 머신러닝, Machine Learning, 딥러닝, Deep Learning,다층 퍼셉트론, Multi-layer perceptron, 역전파, 순전파 , Backpropagation, Feedforward

  1. 진우 2022.04.29 14:17

    opencv dnn 은 순전파만 지원하기 때문에 별도의 학습데이터 weight, bias 값을 가져와서 사용한다고 알고있는데

    실시간 동영상의 각 프레임마다 일일이 학습하는게 시간이 너무 오래걸려서 그런건가요?

+ Recent posts