1. 개요
backpropagation역전파 알고리즘은 인공신경망에서 핵심적으로 구현되는 학습 과정(step) 중 하나이다.
기대된 값과 실제 학습 데이터의 차이를 통해 최종 오차를 구한 뒤, 해당 오차를 출력 레이어부터 입력 레이어까지, 즉 학습 과정의 정확히 역방향으로 가중치를 계산하여 은닉층의 가중치를 수정하는 과정을 말하며, 이 때문에 역전파라는 명칭으로 불린다.
2. 배경
프랭크 로젠블랫이 1957년에 설계한 퍼셉트론을 통해 원시적인 인공신경망이 구현되었다. 하지만 퍼셉트론에서 각 층의 계산 과정을 분석하는 것은 어려웠다. 은닉층과 비슷한 역할을 했던 feature analyser는 사람이 직접 연결을 수정해서 예측값과 실제값간의 오차가 존재했기 때문이다.역전파는 이 오차를 입력값에 전파하는 개념으로써 1962년 프랭크 로젠블랫에 의해 용어가 처음으로 제시되었다. 1974년에는 폴 베르보스의 박사 학위 논문에서 기초적인 개념이 제시되었으며, 1982년 데이비드 루멜하트는 오차 함수[1]에 편미분을 적용한 경사 계산 방법을 제시함으로써 역전파 알고리즘이 구상되기 시작했다.
3. 상세
1970-80년대에 제안된 여러 역전파 알고리즘중 현대에 가장 유명한 알고리즘은 1986년에 네이처에 소개된 루멜하트와 힌턴, 윌리엄스의 알고리즘이다. 1982년에 제시된 루멜하트의 아이디어를 기반으로 가중치를 변수로 하는 경사 계산 방법으로, 경사에 전체 입력에 관한 연쇄 법칙을 적용한다면 전체 손실에 대한 연결을 비율로 나타낸다. 위 특징을 가진 경사 계산 방법을 활용해 입력값으로의 오차의 역전파를 수행하면 가중치와 편향으로 인한 오차의 변화를 파악할수 있다.[1] 혹은 손실 함수