본문 바로가기
Data·AI/관련자료

오차 역전파(Backpropogation)

by hyun-am 2021. 4. 29.

오차 역전파를 시작하기 전에 퍼셉트론으로 해결하지 못한 문제는 인공 신경망으로 해결했습니다. 여기서 내부의 가중치는 오차 역전파를 이용해서 해결할 수 있습니다.

그리고 오차 역전파는 경사 하강법의 확장 개념이라고 확인하면 되겠습니다.

오차 역전파의 개념

앞에서 설명했던 인공신경망에서 가중치(weight)와 바이어스(b)를통해 XOR문제를 해결할 때 저희는 정답에 해당하는 가중치와 바이어스를 미리 알아본후 이것을 통해 값을 구했습니다. 하지만 다른 프로젝트를 구현할 때는 이것에 대한 값을 알지 못합니다. 하지만 가중치를 구하기 위해서는 경사하강법을 통해 해결할 수 있습니다. 먼저 임의의 가중치를 선언하고 결괏값을 이용해 오차를 구한 후 이 오차가 최소인 지점으로 계속해서 이동합니다. 이때 **오차가 최소가 되는 점(미분했을때 기울기가0)**인 지점을 찾으면 이것이 저희가 원하는 답입니다. 근데 이것은 단일 퍼셉트론을 구할때 이런식으로 구하는 방법입니다. 하지만 은닉층이 있는 다층 퍼셉트론(MLP)이라도 원리는 크게 다르지 않습니다. 단일 퍼셉트론이 출력층 가중치를 수정한다면, 다층퍼셉트론은 출력층 가중치 수정 → 은닉층 가중치 수정 이런식으로 진행해 나갑니다.

오차 역전파 구동 방식

  1. 임의의 초기 가중치(W)를 준 뒤 결과(Y out)를 계산합니다.
  2. 계산 결과와 우리가 원하는 값 사이의 오차를 구한다
  3. 경사 하강법을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 업데이트한다.
  4. 위 과정을 더이상 오차가 줄어들지 않을 때까지 반복합니다.

 

자세한 연산 및 코딩 구현은 다음에 포스팅 하겠습니다.

참고도서 : 모두의 딥러닝(www.gilbut.co.kr/book/view?bookcode=BN001909)

 

'Data·AI > 관련자료' 카테고리의 다른 글

Datagrip ssh tunnel 오류 해결  (1) 2022.10.03
엘리스(elice) 레이서 1기 후기  (24) 2021.07.19
다층 퍼셉트론(MLP)  (0) 2021.04.28
퍼셉트론(Perceptron)이란  (0) 2021.04.27
확률이란-1  (0) 2021.03.30

댓글