2020. 2. 5. 21:19ㆍnlp
https://www.deeplearningwizard.com/deep_learning/boosting_models_pytorch/optimizers/
Gradient Descent의 수학적 해석
Optimization Algorithm 종류
1) Batch Gradient Descent : 전체 데이터 보고 업데이트
2) Stochastic Gradient Descent : 한 개 데이터 보고 업데이트
3) Mini-batch Gradient Descent(=SGD) : n개 데이터 보고 업데이트
→ optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
4) SGD Momentum : n개 데이터 보고 업데이트 하긴 하는데 이전 update vector도 참고
- v_(t-1) : 이전 update vector
- gamma : momentum, 일반적으로 0.9로 설정
→ optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate, momentum=0.9)
5) SGD Nesterov : 미래에 예상되는 parameter 값에 대한 gradient를 구함
→ optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate, momentum=0.9, nesterov=True)
6) 그 외
Adam
→ optimizer = torch.optim.Adam(model.parameters())
Adagrad
→ optimizer = torch.optim.Adagrad(model.parameters())
Adadelta
→ optimizer = torch.optim.Adadelta(model.parameters())
Adamax
→ optimizer = torch.optim.Adamax(model.parameters())
RMSProp
→ optimizer = torch.optim.RMSprop(model.parameters())
'nlp' 카테고리의 다른 글
CNN : Convolutional Neural Network 정리 (0) | 2020.02.06 |
---|---|
[DL Wizard] Weight Initializations & Activation Functions 번역 및 정리 (0) | 2020.02.05 |
[DL Wizard] Learning Rate Scheduling 번역 및 정리 (0) | 2020.02.05 |
[DL Wizard] Derivative, Gradient and Jacobian 번역 및 정리 (0) | 2020.02.05 |
[Hyper-parameter Tuning] 하이퍼 파라미터 튜닝 (0) | 2020.02.05 |