일반적으로 Optimizer
들은 Learning Rate들을 설정해야한다.
하지만 너무 높거나 낮게 설정하면 Model 학습에 문제가 생긴다.
이처럼 Learning Rate를 설정하는 부분은 쉽지않은데, 일반적으로는 Engineer의 경험에따라 설정하게 된다.
그렇지만 조금 더 효율적으로 설정할 수 있는 방법 론이 있는데, Learning Rate Decay
라는 방법이다.
Learning Rate Decay는 초기에는 LR을 높이다가, 천천히 줄어드게 만드는 방법론이다.
Low LR 설정 -> LR 증가 -> LR 감소-> LR 감소 로도 진행가능 (Initial WarmUp - Linear)
이 방법에는 여러가지가 있는데,
간단하게 정렬 하자면 4가지 방법론이 있다.
특정 Epoch 기준으로 LR를 감소시키는 방법론이다.
LR 감소 기준 및 Epoch 감소 위치 설정은 개인의 경험으로 설정하면 된다.
하지만 그만큼 조정해야할 HyperParameter가 증가하게되어, 경우의 수가 증가하게 된다.
초기 설정한 LR에서 Epoch 마다 Cos 연산을 통해 LR을 업데이트하는 방법이다.
전체적인 흐름이 부드럽게 움직이기때문에 많이 사용한다.
Linear Decay는 선형적으로 LR을 업데이트하는 방법으로, 수식은 위처럼 간단하게 표현 가능하다.
마지막으로 Inverse SQRT Decay인데
흐름은 Cos Decay와 유사하지만, epoch의 역제곱근으로 곱해지는 방법이다.
하지만 시간이 지날수록 Cos Decay보다 LR이 빠르게 감소하므로, 실제로 Cos Decay가 조금 더 잘 수렴할 수 있을 것으로 보입니다.