Back-propagation

 

역전파는 신경망 (Neural Network) 을 훈련시키기 위해 사용하는 기술이다. 그것은 피드포워드 (Feedforward) networks (feedback 이나 loop 가 없는 network) 을 위해서만 사용한다. 역전파는 신경세포 (Neuron) 을 위해 사용되는 전이함수 (transfer function, 활성화 함수 (Activation Function)) 가 미분가능 (differentiable) 일 것을 요구한다 (기울기 계산을 위해). 그 기술의 요지는 다음과 같다.

  1. 신경망에 훈련 샘플을 부여한다.
  2. 신경망의 출력과 그 샘플쌍에서 요구되는 출력을 비교한다. 각 출력 뉴런에서의 에러를 계산한다.
  3. 각 뉴런에 대해 에러, 실제 출력, scaling factor 를 계산하고, 바라는 값보다 얼마나 높거나 낮은지 계산한다. 이것이 local error 이다.
  4. 각 뉴런으로 들어오는 (connection) 에 대해 가중치를 사용해서, 이전 레벨의 뉴런에 대해 local error 를 위한 blame 을 할당한다.
  5. 이전 레벨의 뉴런에 대해 위의 단계를 반복한다. 이때 각 뉴런에 대해 error 로서 blame 을 사용한다.

알고리즘의 이름에서 알수있듯이, 에러 (그 결과로서의 학습 (Learning)) 가 출력노드로부터 내부노드로 역으로 전파한다. 기술적으로 말하자면, 역전파는 변경가능한 가중치 (weight) 에 대해 네트워크의 에러의 기울기를 계산하는데 사용된다. 여기서의 기울기는 에러를 최소화하는 가중치를 찾기위한 확률적 기울기 하강 (Gradient Descent) 에서 보통 사용된다. 보통 "역전파" 라는 용어는, 기울기의 계산과 확률적 gradient descent 에서의 사용, 둘다를 포함하는 전체의 과정을 의미하는 것으로 일반적으로 사용된다. 역전파는 보통 적절한 종류의 네트워크에서 local minima 에 빠르게 수렴하게 한다. 기울기를 계산하는 역전파 알고리즘은 여러번에 걸쳐 그 중요성이 재발견되었으며, reverse accumulation mode 에서 알고리즘적 미분 (algorithmic differentiation) 이라 불리는 보다 일반적인 기술의 특별한 케이스이다. ......... (Wikipedia : Backpropagaion)

Backpropagation 학습 알고리즘은 최소평균자승 알고리즘 (Least Mean Square Algorithm) 의 비선형적인 확장이다. Backpropagation 학습 알고리즘은 미분의 반복규칙 (chain-rule) 을 여러번 반복적으로 적용하여 확률 근사치 프레임워크 (stochastic-approximation framework) 와 관련지움으로써 유도해낼 수 있다.

David Rumelhart 등은 1980 년대 후반에 출판된 "병렬분산처리 (Parallel Distributed Processing)" 이란 저서에서 Backpropagation 알고리즘을 널리 유행시켰다. ..... PDP 연구팀은 일반화 델타 규칙 (generalized delta rule) 이라고 불리는 Backpropagation 알고리즘을 제안하였다. 이것은 민스키와 파퍼트가 상세히 분석한 perceptron 모델의 제한점들을 극복했으며, 이로써 십여년 간 침체했던 신경망 연구에 새로운 장을 열었다.

이 알고리즘은 많은 컴퓨터 관련 과학자들과 인지과학자들이 신경망 이론과 응용들을 통칭하여 즐겨 부르는 연결주의 (Connectionism) 의 개가이다. 그 무렵 Sejnowski 는 Backpropagation 학습 알고리즘을 사용하여 텍스트 (text) 를 음성 (speech) 으로 합성하는 NETtalk 시뮬레이션에 사용하였다. Backpropagation 알고리즘이 소개된 PDP 책은 신경망에 관련된 참고 문헌으로 널리 사용되었으며 수 많은 Backpropagation 소프트웨어들이 개발되기 시작했다. 또한 주식 시장의 예측 등 기술적인 응용 분야에 대한 수 많은 시뮬레이션이 시도되었으며, 그 결과들이 학술대회에 보고되었다.

많은 사람들은 훈련을 통한 이 새로운 학습 방법이 기계지능 (machine intelligence, 기계학습 (Machine Learning)) 의 새로운 장을 여는 놀라운 방법이라는 인식에서 공장 자동화, 실시간 음성인식, 다른 언어간의 번역, 로봇와 같은 분야들에의 응용 가능성을 매우 밝게 보았다. 일부 생리학자 (pysiologist) 들은 이 Backpropagation 알고리즘을 인간의 두뇌 (brain) 및 중추신경 시스템으로까지 여겼다. 이와 더불어 Backpropagation 학습 알고리즘의 단점들도 드러났다. 첫째, 이 알고리즘은 수렴에 종종 실패하고 지역 최소값 (local minimum) 에 봉착한다. 둘째, Backpropagation 은 비지역성 (nonlocality), 동시성 (synchrony), 감독 (supervision) 과 긴 훈련 시간 등으로 생물학적인 신경망과는 상당한 차이점이 있다. 셋째, Backpropagation 은 불연속 시뮬레이션에서 항상 수렴하는 것은 아니다. 즉, 초기의 상태를 어떻게 선택하느냐에 따라 진동하거나 (oscillation), 최악의 경우에는 제멋대로 방황 (chaotic wandering) 하기도 한다.

어떤 Backpropagation 옹호론자들은 이 알고리즘이 연결강도 공간 (weight space) 의 시냅스 (Synapse) 에서 오차의 표면 (error surface) 이 기울기를 따라가는 (gradient descent) 방법으로 수행되기 때문에 만약 시뮬레이션의 간격을 충분히 작게 한다면 항상 수렴하게 된다고 주장한다. 그러나 이런 주장은 이 알고리즘의 통계적인 성질을 간과한 것이라고 볼 수 있다. Backpropagation 알고리즘은 그것이 수렴할 경우에도 지역 최소오류 (local minimum error) 에 수렴하기도 한다. 이 알고리즘의 옹호론자들도 이 점을 인정하지만, 그들 중 몇몇은 연결강도 공간의 차원이 매우 클 경우에는 지역 최소값이 거의 생기지 않는다는 주장이다. 이 점은 몇몇 차원의 Backpropagation 에서는 성공적인 시뮬레이션을 입증했다.

Backpropagation 에 대한 비판적인 시각은 많은 Backpropagation 연구가들이 서로 자기가 처음으로 Backpropagation 을 개발했다고 주장하는 데에도 문제가 있다. 이 Backpropagation 에 관한 기록을 보면 Parker 가 80년대 초에 '학습 논리 (learning logic)' 로서의 이 알고리즘을 유도했고, Paul Werbos 는 1974년 Harvard 대학의 박사학위 논문으로 'Dynamic feedback' 을 유도했다. 웨보스는 Backpropagation 을 통계적으로 공식화했으며 이 알고리즘을 1970 년대와 1980 년대에 경기예측과 여러 문제들에 응용하였다. 이 알고리즘은 어쩌면 그 이전부터 존재했는지도 모른다.

또 다른 비평적인 관점으로는 Backpropagation 학습이 과연 새로운 것이었냐는 것이다. 그 문제는 누가 제일 먼저 이 알고리즘을 유도했느냐가 아니라 알고리즘이 이미 존재했던 것과 다르냐는 것이다. White 는 Backpropagation 을 1950 년대에 확률 근사 (stochastic approximation) 로 귀착시켰다 . 따라서 이 알고리즘은 새로운 종류의 학습 방법을 제시하지 못했다. 그 대신 Backpropagation 은 통계학이 오래전부터 탐구해놓은 추정 (estimation) 방법을 구현하는 계산적으로 효과적인 방법을 제시했다. 최근에 (1989) 화이트는 Backpropagation 알고리즘을 확률 근사의 한 특수한 경우인 것으로 귀착시켰다. ...... (김대수 1992)

term :

역전파 (Back-propagation)     신경망 (Neural Network)   지도학습 (Supervised Learning)    머신러닝 (Machine Learning)

site :

Backpropagation Network : Neural Networks at your Fingertips

paper :

Backpropagation 학습 알고리즘 : 김대수

오류 후진전파에 의한 학습 : Philip N. Johnson-Laird

Backpropagation Network 의 Autoassociation Memory 기법을 통한 패턴인식에 응용 (Pattern Recognition Application Using Autoassociative Backpropagation Network) : 진성일, 김인철, 배건성, 경북대 전자기술연구지, 1990

Backpropagation 알고리즘을 이용한 운동역학적 자료의 스무딩 (Smoothing Biomechanical Data with Backpropagation Algorithm in Neural Network) : 김성일.김진욱.김기형, 한국체육학회, 2001

video :

인공지능을 위한 머신러닝 알고리즘 7강 - 역전파 : SKtechx Tacademy : 2017/07/06 ... 동영상 15개