AdamW

2023. 11. 12. 15:38딥러닝 모델: 파이토치

torch.optim.AdamW(Adam with Weight Decay)는 AdamW의 옵티마이저 구현체로, 파이토치에서 제공되는 옵티마이저 중 하나임. 

AdamW는 Adam 옵티마이저의 변형으로, 가중치 감쇠를 적용하는 것이 특징임. 가중치 감쇠는 모델의 가중치를 감소시킴으로써 모델의 복잡성을 제어하고, 오버피팅(overfitting)을 완화하는 효과가 있음.

 

torch.optim.AdamW 함수의 기본 형태와 인수들의 기본값

 

  • params: 최적화할 파라미터들의 iterable
  • lr: 학습률(learning rate), 기본값은 0.001
  • betas: 감마 값들 (beta1, beta2)로 이루어진 튜플, 기본값은 (0.9, 0.999)
  • eps: 분모를 0으로 나누는 것을 방지하기 위한 작은 상수값, 기본값은 1e-08
  • weight_decay: 가중치 감쇠(L2 정규화) 계수, 기본값은 0
  • amsgrad: AMSGrad 알고리즘을 사용할지 여부, 기본값은 False

Weight Decay는 gradient descent에서 weight 업데이트를 할 때, 이전 weight의 크기를 일정 비율 감소시켜줌으로써 오버피팅을 방지한다. 

 

원래의 gradient descent 업데이트 식(알파는 learning rate)

weight decay를 포함한 업데이트 식

 

 

위에서 람다(ㅅ)를 decay rate라고 부르며 사용자가 0과 1사이 값으로 설정하는 하이퍼파라미터임. weight를 업데이트할 때 이전 weight의 크기를 일정 비율만큼 감소시키기 때문에 weight가 비약적으로 커지는 것을 방지할 수 있음. 

 

 

♣ 참고 자료

https://discuss.pytorch.kr/t/adamw/1967

 

adamW , 학습률 질문

yolov8x로 이미지를 학습하려는데 40000장입니다. 1.optimizer로 보편적으로 SGD보다 AdamW가 더좋나요? 2.cos_lr=True 로 하면 장단점이 뭘까요?

discuss.pytorch.kr

 

https://hiddenbeginner.github.io/deeplearning/paperreview/2019/12/29/paper_review_AdamW.html

 

[논문 리뷰] AdamW에 대해 알아보자! Decoupled weight decay regularization 논문 리뷰(1)

재야의 숨은 고수가 되고 싶은 초심자

hiddenbeginner.github.io

 

https://wikidocs.net/195019

 

AdamW

torch.optim.AdamW는 AdamW (Adam with Weight Decay) 옵티마이저의 구현체로, 파이토치에서 제공되는 옵티마이저 중 하나입니다. AdamW는 Ad…

wikidocs.net