"역전파"의 두 판 사이의 차이
(→구동 방식) |
(→참고자료) |
||
17번째 줄: | 17번째 줄: | ||
* eccjang, 〈[http://www.incodom.kr/%EA%B8%B0%EA%B3%84%ED%95%99%EC%8A%B5/%EC%98%A4%EC%B0%A8%EC%97%AD%EC%A0%84%ED%8C%8C 오차역전파]〉, 《인코덤》, 2019-01-07 | * eccjang, 〈[http://www.incodom.kr/%EA%B8%B0%EA%B3%84%ED%95%99%EC%8A%B5/%EC%98%A4%EC%B0%A8%EC%97%AD%EC%A0%84%ED%8C%8C 오차역전파]〉, 《인코덤》, 2019-01-07 | ||
* 〈[https://en.wikipedia.org/wiki/Backpropagation Backpropagation]〉, 《위키피디아》 | * 〈[https://en.wikipedia.org/wiki/Backpropagation Backpropagation]〉, 《위키피디아》 | ||
+ | * 〈[https://thebook.io/006958/part03/ch08/01-02/ 모두의 딥러닝]〉, 《더북》 | ||
==같이 보기== | ==같이 보기== | ||
{{알고리즘|토막글}} | {{알고리즘|토막글}} |
2019년 9월 24일 (화) 11:45 판
역전파(Backpropagation)는 먼저 계산 결과와 정답의 오차를 구해 이 오차에 관여하는 값들의 가증치를 수정하여 오차가 작아지는 방향으로 일정 횟수를 반복해 수정하는 방법이다. 오차역전파 또는 오류역전파라고도 불린다.[1]
개요
역전파 알고리즘은 사슬 규칙을 이용하는 기울기 기반 최적화 알고리즘에 따라 인공신경망(ANN)을 효율적으로 훈련시키는 데 사용되는 방법이다. 이 역전파의 주요 특징은 학습 중인 작업을 수행할 수 있을 때까지 네트워크를 개선하기 위해 가중치 업데이트를 계산하는 반복적이고 재귀적이며 효율적인 방법이다. 역전파는 네트워크 설계 시 활성화 함수의 파생물을 알아야 한다. 자동 미분은 파생물을 훈련 알고리즘에 자동 및 분석적으로 제공할 수 있는 기술이다.[2]
구동 방식
- 임의의 초기 가중치()를 준 뒤 결과 ()를 계산한다.
- 계산 결과와 우리가 원하는 값 사이의 오차를 구한다.
- 경사 하강법을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 업데이트한다.
- 위 과정을 더이상 오차가 줄어들지 않을 때까지 반복한다.
여기서 '오차가 작아지는 방향으로 업데이트한다'는 의미는 미분 값이 0에 가까워지는 방향으로 나아간다는 말이다. 즉, '기울기가 0이 되는 방향'으로 나아가야 하는데, 이 말은 가중치에서 기울기를 뺐을 때 가중치의 변화가 전혀 없는 상태를 말한다. 따라서 오차역전파를 다른 방식으로 표현하자면 가중치에서 기울기를 빼도 값의 변화가 없을 때까지 계속해서 가중치 수정 작업을 반복하는 것이다. 이를 수식으로 표현하면 , 새 가중치는 현 가중치에서 '가중치에 대한 기울기'를 뺀 값이다.
각주
- ↑ eccjang, 〈오차역전파〉, 《인코덤》, 2019-01-07
- ↑ 〈Backpropagation〉, 《위키피디아》
참고자료
- eccjang, 〈오차역전파〉, 《인코덤》, 2019-01-07
- 〈Backpropagation〉, 《위키피디아》
- 〈모두의 딥러닝〉, 《더북》
같이 보기
|