-
Learning Rate (학습률, 알파) | Supervised Machine Learning: Regression and ClassificationMachine Learning/Stanford ML Specialization 2023. 10. 27. 18:58
Learning Rate(학습률)이라는것이 있다. 지난 시간 Gradient Descent(경사 하강법)에 대해 공부할 때, w값을 바꾸어가면서 계산했는데, 새로운 w값을 찾을 때, 알파(a)값을 바꿔서 J(w)의 Derevitive 값을 곱해줬었다. 여기서 알파(a)가 바로 학습률, Learning Rate이다. 너무 작지도 크지도 않은 Learning Rate를 선택하는것은 아주 중요하다.
Too Large or Small Learning Rate
만약, 알파(Learning Rate)가 너무 작다면, (예: 0.00001), 알맞는 J(w)을 찾는 과정이 많이 걸리고, 이는 많은 리소스를 사용하게 되고 시간도 오래걸린다.
https://youtu.be/k0h8emRAAHE 만약 Learning Rate가 너무 크다면? 아래와 같이 minimum에 거의 도달했는 데, Learning Rate가 너무 커서 너무 많이 움직여서 실제 Minimum을 지나쳐버리게 되고, 이 Minimum을 찾기 힘들게 되거나 오히려 리소스를 더 사용(Overshoot)하게 될수도 있다. 그리고 Minimum으로 수렴하지 못하게 되고, 오히려 값들이 갈라져 엉뚱한 방향으로 값을 찾게 될수도 있다.
https://youtu.be/k0h8emRAAHE Local Minimum
이미 Local Minimum에 도달 했다면, Gradient Descent(경사 하강법)은 의미가 없다. 알파(Learning Rate)가 얼마가 되든, 해당 지점의 기울기(Derivetive of J(w))는 0이기 때문에 항상 w = w 의 수식이 되고, 알파값을 줄이거나 늘려도 차이가 없다.
https://youtu.be/k0h8emRAAHE https://youtu.be/k0h8emRAAHE 또 한가지 살펴보아야 할 점은, Learning Rate를 w를 업데이트 하는 매 순간마다 줄여주지 않고서도 Minimum에 도달할 수 있는가? 이다. 매번은 아니더라도(만약 Learning Rate가 너무 클 경우), Learning Rate를 서서히 줄이지 않아도 가능하다. 이 이유는, Minimum에 도달할수록, 기울기는 점점 0에 가까워지고, 이는 Derivative가 점점 줄게 한다. 그래서 자동적으로 같은 알파값을 쓰더라도, 스텝들이 점점 작아지게 된다.
Reference
'Machine Learning > Stanford ML Specialization' 카테고리의 다른 글