2020. 2. 5. 21:19ㆍnlp
https://www.deeplearningwizard.com/deep_learning/boosting_models_pytorch/optimizers/
Optimization Algorithms - Deep Learning Wizard
Optimization Algorithms Introduction to Gradient-descent Optimizers Model Recap: 1 Hidden Layer Feedforward Neural Network (ReLU Activation) Steps Step 1: Load Dataset Step 2: Make Dataset Iterable Step 3: Create Model Class Step 4: Instantiate Model Class
www.deeplearningwizard.com
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 |