코딩뚠뚠

[머신러닝 공부] 10. 경사하강법 2 본문

공부/ML&DL

[머신러닝 공부] 10. 경사하강법 2

로디네로 2021. 2. 6. 15:55
반응형

머신러닝 입문자들의 필수코스라고 할 수 있는 앤드류 응 님의 강의를 번역해놓은 아래 브런치를 참고하여 공부하고 핵심내용만 정리해보고자 한다.

 

원문 출처 : brunch.co.kr/@linecard/447

 

앤드류 응의 머신러닝 (2-6):경사 하강법 이해

온라인 강의 플랫폼 코세라의 창립자인 앤드류 응 (Andrew Ng) 교수는 인공지능 업계의 거장입니다. 그가 스탠퍼드 대학에서 머신 러닝 입문자에게 한 강의를 그대로 코세라 온라인 강의 (Coursera.org

brunch.co.kr

 


Optimization 즉 최적화 기법 중 Gradient Descent (경사하강법) 이다.

 

이를 다시 세분화하여 BGD(Batch Gradient descent), SGD(Stochastic Gradient Descent), Mini-batch Gradient Descent,  등이 있지만 여기서는 큰 틀의 Gradient Descent 만 다루도록 한다.

 

경사하강법의 수학적 정의는 다음과 같다.

 

a 는 lr 즉 learning rate로, 파라미터 J를 업데이트 할 때 얼마나 큰 스텝으로 이동하는지를 결정한다.

 


파라미터가 왼쪽, 오른쪽에 위치할 때 하강 하는 과정을 알아보도록 하자.

 

>> 파라미터 θ1 이 그래프의 오른쪽에 있는 경우

 

미분항은 θ1 점이 있는 위치에서 그래프의 접선의 기울기이다.

 

θ1이 오른쪽에 있을 때 직선의 기울기는 양의 값이므로 미분항의 값은 양수가 될 것이다.

 

a ( = lr = learning rate) 의 값은 항상 양수이므로 θ1-양수 를 한 후 θ1를 업데이트 해야하므로 결과적으로 θ1의 값은 작아질 것이므로 그래프의 왼쪽으로 이동하게 된다.

 

여기서 의미를 찾아보자면 비용함수 J(θ1) 에서오른쪽에 위치한 θ1의 값이 작아진다는 것은 결국 Gradient descent algorithm이 적용되어 최적점인 왼쪽으로 찾아간다는 의미이다.

 

만약에 θ1이 왼쪽에 위치한다면 오른쪽으로 이동하게 되어 역시 최적점을 찾아 갈 것이다.

 


 

학습률 (a = lr = learning rate) 에 대해서 알아보도록 하자.

 

학습률이 너무 작거나 크면 어떤 일이 생기게 될까?

 

>> 학습률이 너무 작은 값일때

 

비용함수 에서 최소값을 찾아갈 때 너무나 많은 스텝을 반복하게 되어 최소값까지 갈때까지 시간이 너무 오래 걸린다.

 

>> 학습률이 너무 큰 값일때

 

하강 알고리즘이 최소값을 지날 수 있다. 다시 돌아온다 하더라도 최소값에 근접까지는 할 수 있어도 다시 지나칠 가능성이 높다.

 


 

한 step 마다 같은 거리를 이동할까?

 

아니다. 경사가 급할 수록 즉 기울기의 절대값이 클수록 더 많은 거리를 이동한다.

 

즉 최소지점에 도달할 수록 기울기가 완만해져 조금씩 이동하게 된다.

 

반응형