-
딥러닝에서 Learning Rate를 최적화하는 방법AI ML/ML 2020. 6. 23. 22:12
https://towardsdatascience.com/learning-rate-a6e7b84f1658
- 작은 learning rate는 뉴럴넷을 느리고 조심스럽게 adjust, Local Minima 국소 최적치에 빠져 최적화된 W값을 찾기도 전에 학습이 끝날 수 있음
- 큰 Learning rate는 impetuous 맹렬하다. 빠르게 adjust but, overshooting의 위험성
딥러닝에서 뉴럴넷을 빠르고 정확하게를 동시에 만족시키는 Learning Rate 찾기가 과제
In general, lr = 0.01
학습률 스케쥴러(Learning Rate Scheduler)
# 학습률 스케줄러는 옵티마이져를 통해 적용된다. optimizer = torch.optim.SGD(model.parameters(), lr=0.01) # 지정한 스텝 단위로 학습률에 감마를 곱해 학습률을 감소시키는 방식 scheduler = lr_scheduler.StepLR(optimizer, step_size=1, gamma= 0.99) # 지정한 스텝 지점(예시에서는 10,20,40)마다 학습률에 감마를 곱해줘서 감소시키는 방식 scheduler = lr_scheduler.MultiStepLR(optimizer, milestones=[10,20,40], gamma= 0.1) # 매 epoch마다 학습률에 감마를 곱해줌으로써 감소시키는 방식 scheduler = lr_scheduler.ExponentialLR(optimizer, gamma= 0.99) # 원하는 에폭마다, 이전 학습률 대비 변경폭에 따라 학습률을 감소시켜주는 방식 scheduler = lr_scheduler.ReduceLROnPlateau(optimizer,threshold=1,patience=1,mode='min')
'AI ML > ML' 카테고리의 다른 글
Label Encoding + One Hot Encoding (0) 2021.01.21 Cross Validation (0) 2021.01.19 How to deal with missing data (0) 2020.06.24