transformer에 사용된 warm up learning rate scheduler

1. warm up learning rate scheduler

 

최적화 알고리즘인 optimizer의 learning rate는 중요한 hyperparameter인데 보통 하나의 값을 선택하고 전 과정동안 그 값으로 학습을 진행함.

 

그러나 조금 더 빠르게하면서 모델 성능은 높이고 싶다면 학습 중 변경하는 방법도 생각해볼 수 있음

 

이런 기법을 learning rate scheduling라고 부른다.

 

학습 중 적절한 방식으로 learning rate를 변경하면서 학습한다. 모델의 성능을 높이고 학습도 빠르게 할 수 있는 여러 기법들이 있다.

 

warm up learning rate scheduler은 transformer에서 사용한다면 학습이 경험적으로 잘 된다고 많은 경우 알려져있다.

 

 

 

2. 직관적으로 warm up scheduling이 효과있는 이유

 

다음과 같은 목적함수를 생각해보자.

 

 

optimal 위치를 찾기 위해 1번에서 우연히 시작을 한 것이다. gradient가 매우 커서 초기에는 매우 작은 learning rate를 선택해야할 것이다.

 

그러면서 내려가다 보니까 gradient가 완만한 구간인 2번에 도달해서 작은 learning rate로는 학습이 느리니까 learning rate를 키워나가는 것이다.

 

그러다가 3번의 optimal 근처까지 잘 왔는데 여전히 learning rate가 커버리면 overshooting 현상이 일어날 가능성이 높다.

 

그래서 learning rate를 점점 줄여나가 optimal을 찾을 수 있도록 한다.

TAGS.

Comments