#29 Derivative Term

chiro_J·2022년 10월 9일
0

머신러닝 클리닉

목록 보기
29/29
post-thumbnail

미분

우리가 고등학교 시절 다들 한 번 쯤 봤을 법한 공식이 있다.
문과생이었던 필자도, 도함수 즉, 미분의 기초가 되는 공식을 봤었던 기억이 난다.

목적함수를 최소화 시키고자 하는 경사하강법에서는 아래와 같다.

함숫값(목적함수)을 줄이기 위해서는 미분값이 양수이든 음수이든 현재의 위치에서 미분값을 빼주면 된다.



경사하강법의 기울기

Loss Function을 최소화하기 위해서는 경사하강법을 이용하여 weight(가중치)를 갱신할 수 있다.

경사하강법은 weight의 기울기를 이용하여, 함숫값이 낮아지는 방향으로 weight를 이동시켜 극값에 도달할 때까지 반복하는 것이다.

(가중치 업데이트 수식)

미적분적 개념에서, 함수는 극점에서의 기울기가 0이다.

→ Loss Function을 최소화시켰다는 것을 의미하며, 이는 목적함수의 최적화가 완료되었다는 뜻이다.

다만, 기울기가 0이라고 해서, 항상 최소값(global minimum)을 의미하지는 않는다.

위 그림처럼, 기존의 경사하강법은 local minima에 빠지기 쉽기 때문에, 해결 방법에 대해서

  • SGD ( 확률적 경사 하강법 )
  • Momentum ( 모멘텀을 이용하여 경사를 넘는 방법 )
  • Adagrade ( 러닝 레이트(학습률)가 신경망 학습이 되면서 자체적으로 조정이 되는 방법 )
  • Adam ( Momentum의 장점 + Adagrade의 장점을 살린 경사 감소법 , 가속도와 learning rate 조절 ) 등

보완하거나, 더 나은 방법들이 현재는 적용되고 있다.


'특정 지점에서의 미분값' == '특정 지점에서의 OOO'



조기 종료

경사 하강 알고리즘은 갱신 직전 값과 갱신 값이 같을 때 종료된다.

다만, 학습을 하다가도, 오히려 과적합의 위험이 있거나, 점점 과적합이 되어가고 있을 때, '조기 종료'가 되는 경우가 있다.

검증 에러가 최소에 도달하는 즉시 훈련을 멈추는 것
이전 epoch 때와 비교해서 오차가 증가했다면 학습을 중단한다

→ 어떤 일정한 epoch 수를 거듭하면서 계속해서 오차가 증가하면 학습을 중단한다.

학습 횟수(=epoch 수)가 많을수록 학습 데이터에 관한 오차는 작아지지만 이것이 오버피팅을 초래해서 모델의 일반화 성능이 떨어지게 된다.

실제로 최소값에 도달했는지 알 수 없기 때문에, 검증 에러가 일정 시간 동안 최솟값보다 클 때 학습을 멈추고, 최소였을 때 모델 파라미터를 선택한다.




ref)
https://amber-chaeeunk.tistory.com/71

0개의 댓글