You are on page 1of 1

역전파 알고리즘

:backpropagation algorithm 2311 우신영

1. 사용하는 이유 :
인공신경망에서 Gradient Descent( 경사 하강법 ) 을 사용할 때 loss function 에서 각 가중치까지
신경망의 역방향으로 실행했던 함수를 따라가 미분하여 곱하였음 . 모든 파라미터에 개별적으로
적용하면 비효율적이다 . => 해결방안 : 오차 역전파 알고리즘

2. 원리 :
ㄱ . 순전파 ㄴ . 역전파 1 단계

- 경사 하강법을 사용하기 위해 각 가중치에 대한


미분이 필요하다 .

: 시그모이드 값 : 시그모이드의 미분꼴


- 파란색은 입력값 빨강색은 각 가중치 값을 의미

가중치와 입력 값을 곱하고 시그모이드 함수를 거친다 .


경사하강법을 통해 가중치를 업데이트 (learning rate = 0.5)

각각 같은 과정을 거치고 평균 제곱 오차를 계산하면 ,

ㄷ . 역전파 2 단계 ㅁ . 실제 적용
-1 단계 후 입력층으로 다시 가중치
업데이트를 진행한다 .
( 모델의 학습 과정 )

- 실제 코드에서는 일일이 구현하지는 않지만 수식만 적용하면 간단히 구현이 가능하다 .


- 다시 가중치의 업데이트를 진행

ㄹ . 결과
역전파를 거치며 가중치를
업데이트 시킨 인공신경망에
다시 입력 값을 넣었을 때
오차가 0.02397190 에서 < 업데이트 된 가중치 >
0.02323634 로 감소한 것을 < 학습 수에 따른 오차 >
확인할 수 있다 . 이렇듯
순전파와 역전파를
반복하며 최저의 오차율을
ㅂ . 정리
- 역전파는 안정적으로 오차의 local minimum 을 구할 수 있는 방법으로서 자주 쓰인다 .
가지는 가중치 값들을 찾는
그러나 결국 경사 하강법을 사용한다는 점에서 꼭 global minimum 에 수렴한다는
것이 인공신경망의
보장이 없고 기울기 소실 (vanishing gradient) 현상이 발생한다는 문제점이 있다 .
학습 방법이다 .
그러므로 , 깊은 층을 가진 모델에 적용할 때에는 위와 같은 문제를 생각하고
적용할 필요가 있다 .

You might also like