본문 바로가기

머신러닝 & 딥러닝 공부/호기심 기록

옵티마이저 비교 (AdamW , RAdam , AdamP) 및 간단 사용법

반응형

 

별,, 별별 옵티마이저가 다있구나

 

 

안녕하세요~!

27년차 진로탐색꾼 조녁입니다! 오늘은 사용해본 옵티마이저 간단한 사용법과 비교 남깁니다. 

자세한 내용은 참고자료 남겨두겠습니다.

-> 결론 : 저는 AdamW가 제일 안정적으로 잘 나왔습니다. 아직 옵티마이저의 하이퍼파라미터들은 안바꿔봤지만 큰 차이는 없을 것 같습니다.

 

1.Adam 과 RAdam 비교

- 한 마디로 정리하자면 RAdam은 Adam의 수식에 rectification을 곱해줌으로써 학습 초기에 일어날 수 있는 bad local optima problem을 해결하고, 학습 안정성을 높였다고 할 수 있습니다.

 

2. AdamW와 AdamP 비교

- AdamW에 비해 norm increase를 adjust하는 방식이라서 weight decay coupling과는 서로 complementary 하게 동작

 

3. AdamP 사용법 (Clova가 만듦)

Install

pip3 install adamp

 

Usage

from adamp import AdamP

# define your params
params = model.parameters()
optimizer = AdamP(params, lr=0.001, betas=(0.9, 0.999), weight_decay=1e-2)

 

4. Radam 사용법

RAdam github : https://github.com/LiyuanLucasLiu/RAdam/blob/master/radam/radam.py

 

GitHub - LiyuanLucasLiu/RAdam: On the Variance of the Adaptive Learning Rate and Beyond

On the Variance of the Adaptive Learning Rate and Beyond - GitHub - LiyuanLucasLiu/RAdam: On the Variance of the Adaptive Learning Rate and Beyond

github.com

 

링크에서 radam file 다운받아서 현재 디렉토리에 저장함

from radam import Radam

optimizer = RAdam(params, lr=args.lr, betas=(0.9, 0.999), eps=1e-8, weight_decay=0, degenerated_to_sgd=False)

 

 

참고자료

Adam을 개선한 RAdam : https://theonly1.tistory.com/1754

AdamP github : https://github.com/clovaai/adamp

RAdam github : https://github.com/LiyuanLucasLiu/RAdam/blob/master/radam/radam.py

반응형