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
https://hiddenbeginner.github.io/deeplearning/paperreview/2019/12/29/paper_review_AdamW.html
'딥러닝 모델: 파이토치' 카테고리의 다른 글
Pytorch로 시작하는 딥러닝 입문(01-05 데이터 분리, Splitting Data) (0) | 2024.01.30 |
---|---|
Pytorch로 시작하는 딥러닝 입문(01-04 Machine Learning Workflow) (1) | 2024.01.30 |
albumentations (0) | 2023.11.03 |
epoch vs 배치 크기 vs 반복 횟수 (0) | 2023.10.22 |
파이토치 튜토리얼 (1) | 2023.10.07 |