IT Repository

(11) Optimizer - Vanilla SGD 본문

Basic fundamentals

(11) Optimizer - Vanilla SGD

IT찬니 2020. 1. 13. 18:08

 

 

 

 
  • Vanilla SGD
    • Momentum 개념
      1. Momentum
      2. NAG
    • Adaptive learning rate 개념
      1. AdaGrad
      2. AdaDelta, RMSProp
    • 위의 두 방법을 병합: ADAM (RMSProp + NAG)
 

Gradient Descent

$$\theta = \theta - \eta \nabla J(\theta) \\ (\theta : \text{Parameter set of the model},~\eta : \text{Learning rate},~J(\theta) : \text{Loss function})$$

Batch Gradient Descent
트레이닝셋의 모든 샘플에 대해 Gradient를 한번에 계산하고 파라미터 업데이트를 진행하는 것 (Deterministic)

모든 샘플을 한번에 메모리에 올리기에는 너무 큰 메모리 용량이 필요
Gradient 계산과 Optimization이 너무 오래 걸림

Stochastic Gradient Descent(SGD)
트레이닝 셋을 작은 덩어리(Mini-batch)로 나누어, Mini-batch에 대해 Gradient를 계산하고 파라미터 업데이트를 진행 (Stochastic)
Mini-batch를 어떻게 선택하느냐 에 따라 결과값이 달라짐

Batch Gradient Descent보다 빠르지만, 수렴 정도는 비슷함
또한, Local Minimum에 빠지는 것을 확률적으로 피할 수 있음

Problem of Vanilla SGD
확률적으로 피할 수 있다고 해도 Local Minimum에 갖히면 Gradient가 0이 되므로 빠져나올수가 없음

'Basic fundamentals' 카테고리의 다른 글

(13) Optimizer - Adaptive learning rate 개념  (0) 2020.01.13
(12) Optimizer - Momentum 개념  (0) 2020.01.13
(10) Optimizer  (0) 2020.01.13
(9) Other Techniques of Optimize  (0) 2020.01.13
(8) Gradient Vanishing  (0) 2020.01.13
Comments