CODEDRAGON ㆍDevelopment/AI
역전파 알고리즘(back-propagation Algorithm)
· ≒ 오류 역전파 알고리즘(Error Back Propagation)
· ≒ 오차 역전파
· "역전파"를 통해 "역방향으로 에러를 전파(backward propagation of error)" 시키면서 최적의 학습 결과를 찾아가는 것이 가능해졌습니다.
· 인공신경망모형에서의 학습과정에서 가중치를 갱신하는데 사용되는 대표적인 알고리즘입니다.
· 역전파 알고리즘은 홉필드(Hopfield)가 개발한 것으로, 이 알고리즘의 개발로 인해 신경망 모델이 널리 사용되게 되었습니다.
· 최적의 학습 결과를 갖는 신경망을 설계하려면, 역전파(back-propagation)와 gradient-descent 방법을 사용해야 합니다.
· 역전파 개념은 입력이나 특정 넷의 가중치를 조금 변경시키면, 출력에 작은 변화가 일어난다는 점에 근거하고 있습니다.
· 다층 퍼셉트론에서 기여도 할당 문제에 대한 해결책입니다. (Rumelhart, Hinton and Williams; 1986)
https://en.wikipedia.org/wiki/Backpropagation
역전파(backpropagation)란 용어 유래
"가중치(w)나 바이어스(b) 값을 아주 작게 변화를 시키면, 즉 편미분을 시키면, 출력 쪽에서 생기는 변화 역시 매우 작은 변화가 생기며, 작은 구간만을 보았을 때는 선형적인 관계가 있습니다." 이 말은 작은 변화의 관점에서는 선형적인 관계이기 때문에, 출력에서 생긴 오차를 반대로 입력 쪽으로 전파시키면서 w와 b등을 갱신하면 된다는 뜻이 됩니다.
w와 b 값들을 무작위로 변화시키는 것이 아니라, cost function이 결국 w와 b의 함수로 이루어졌기 때문에, 출력 부분부터 시작해서 입력 쪽으로(즉 역 방향으로), 순차적으로 cost function에 대한 편미분을 구하고, 얻은 편미분 값을 이용해 w와 b의 값을 갱신시z킵니다.
모든 훈련 데이터에 대해서 이 작업을 반복적으로 수행을 하다 보면, 훈련 데이터에 최적화된 w와 b 값들을 얻을 수 있습니다.
출력부터 반대 방향으로 순차적으로 편미분을 수행해가면서 w와 b값들을 갱신시켜간다는 뜻에서 만들어진 용어입니다.
'Development > AI' 카테고리의 다른 글
데이터 탐색, 데이터 탐색 방법 (0) | 2019.10.11 |
---|---|
과적합 판단 (0) | 2019.10.10 |
표준 편차(Standard deviation) (0) | 2019.10.08 |
자연어 (Natural Language), 자연어 처리(NLP; Natural Language Processing) (0) | 2019.09.27 |
오컴의 면도날(Occam’s Razor) (0) | 2019.09.26 |