논문을 보다가 Ranger optimizer라는 것을 봤다.
여러 최적화 기법들을 봤는데 Ranger는 처음보는 것 같아 기록을 남겨본다.
Ranger는 Radam + Lookahead 이다.
Radam
- Rectified Adam이라서 RAdam이다.
- Adam : adaptive learning rate를 기반으로 하고, 상대적인 업데이트 양에 따라 step size를 조정해줌.
-adaptive learning 의 경우 bad local optima convergence problem에 빠질 수 있다. 학습 초기에 샘플이 부족할 경우, learning rate의 분산이 커지고, 이에따라 최적이 아닌 local optima에 너무 일찍 도달하여 학습이 거의 일어나지 않는 현상이다.
- 이를 해결하기 위해 Radam이 나왔고, adaptive learning rate term의 분산을 rectify해준다. 분산식을 거꾸로 이용해 rectification term을 구한다. Adam의 수식에 rectification을 곱해줌으로써, 학습 초기에 발생할 수 있는 bad local optima problem을 해결할 수 있다.
Lookahead
-suboptimal 하이퍼파라미터에 덜 민감해서 하이퍼파라미터 튜닝 필요성이 줄어듦
-1) k번동안 다른 optimizer 이용해서 업데이트함 2)업데이트된 방향에서 1 step back함. 3) 그 지점에서 다시 k번 업데이트
-이 과정을 반복하는게 lookahead
- Adam, SGD로 빠져나오기 힘든 local minima를 빠져나올 수 있음. 그러면 아래와 같은 그림이 됨
그렇다면 이제 Ranger를 보자!!
-RAdam과 LookAhead는 상호보완적이다.
- RAdam은 학습 시작할 때 유리하다. dynamic rectifier를 이용해서 분산을 기반으로 Adam의 adaptive momentum을 조절한다. 그래서 자동으로 warm-up을 할 수 있게한다.
-LookAhead는 학습 전반적으로 안정적인 exploration을 할 수 있게해서 하이퍼파라미터 튜닝 필요성을 줄여준다.
-Ranger는 LookAhead의 optimizer로 RAdam을 사용한것이다.
'연구' 카테고리의 다른 글
G-quadruplex (G 쿼드라플렉스) (0) | 2023.02.22 |
---|---|
scaffold의 의미 (0) | 2022.10.29 |
Alphafold2 논문 리뷰4 [Evoformer - pair representation] (0) | 2022.10.25 |
Alphafold2 논문 리뷰3 [Evoformer - MSA representation] (0) | 2022.10.25 |
Alphafold2 논문 리뷰2 [입력 부분] (0) | 2022.10.25 |