경사 하강법과 문제점 (feat. 오차 역전파법)

경사 하강법

신경망을 학습하는 과정은 다음과 같다.

파라미터를 변경할 때마다 오차의 값이 달라진다. 이 값들을 모아서 그래프로 만든다.

image
초기 파라미터의 값이 -1.6이라고 할때, 해당 값의 미분값(기울기)는 좌측으로 상향하고 있다. 경사 하강법은 이름 그대로 경사에서 하강을 통해서 학습하는 방식이므로, 하향하는 방향 쪽으로 파라미터 값을 변경해나간다.

그래서 이 과정을 평평한 부분에 도달할 때까지(미분값이 0이 될 때까지) 반복한다.

문제점

그런데 미분값이 0인 평평한 곳에 도달했는데, 그곳이 최소 오차 값이 아닌 곳일 수도 있지 않은가?

Momentum 방식

그래서 사용하는 것 중 하나가 Mementum 방식으로 관성을 이용하는 방식입니다.

유리구슬을 예시로 들자면, 이미 가속도가 붙은 구슬은 상승하는 경사를 마주해도 가속도가 남아있는 한 올라갈 수 있을 것입니다. 이러한 방식으로 골짜기를 벗어나는 방법을 사용합니다.

오차 역전파법

오차 역전파법을 알아보기 전에, 이 방법이 생기기 이전의 학습 방법에 대해서 알아보겠다.

이전에는 신경망에 포함된 각각의 뉴런을 학습시키기 위해 뉴런 1의 파라미터를 살짝 건드려보고 예측과 정답을 비교, 뉴런 2의 파라미터를 살짝 건드려보고 비교...

비효율적이고 프로세스를 많이 차지하게된다. 반면 오차 역전파법은 순전파를 발생시켜 예측 값을 얻고 역전파를 신경망에 다시 전달하여 두번만에 학습을 하게 된다.

출처

https://compmath.korea.ac.kr/deeplearning/BackPropagation.html#id3

댓글 1

김동학
김동학약 1시간 전

테스트