[DL Wizard] Optimization Algorithms 번역 및 정리

2020. 2. 5. 21:19nlp

반응형

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())

반응형