적절한 학습률을 설정하는 방법

J. Hwang·2024년 8월 13일
0

머신 러닝에서 모델 최적화를 진행할 때, 학습률 (learning rate) 을 적절히 설정해야 한다. 학습률이 너무 높으면 loss가 급증하고, 너무 낮으면 학습이 매우 천천히 진행되어 비효율적이다. 그렇다면 적절한 학습률을 어떻게 결정할 수 있을까?

대개는 다양한 학습률 값으로 실험을 해 본 뒤 가장 적절한 값을 채택한다.

learning rate decay
처음에는 큰 학습률로 시작한 후 학습률을 점차 감소시킨다.
(αt\alpha_t = learning rate at epoch t, α0\alpha_0 = initial learning rate, TT = total number of epochs)

  • cosine

αt=12α0(1+cos(tπ/T))\alpha_t = \frac{1}{2} \alpha_0(1 + cos(t\pi/T))

  • linear

αt=α0(1t/T)\alpha_t = \alpha_0(1 - t/T)

  • inverse square root

αt=α0/t\alpha_t = \alpha_0 / \sqrt{t}


그러나 초기에 지나치게 큰 학습률을 사용하면 loss가 급증하게 되므로, 0에 가까운 작은 학습률로 시작해서 linear하게 증가시키는 것도 한 가지 방법이다.

References

https://velog.io/@good159897/Learning-rate-Decay의-종류
https://www.youtube.com/watch?v=WUazOtlti0g
Image credits : https://cs231n.stanford.edu/slides/2020/lecture_8.pdf

profile
Let it code

0개의 댓글