IT Repository

(12) Optimizer - Momentum 개념 본문

Basic fundamentals

(12) Optimizer - Momentum 개념

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

 

 

 

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

Momentum

Vanilla SGD에 관성(Momentum) 개념을 도입
로컬 미니멈에 갖히는 문제를 어느정도 해결하고, Gradient가 Oscillate하는 문제도 어느정도 해결
이전 스텝의 Gradient와 현재 스텝의 Gradient를 모두 고려

$$\theta = \theta - v_t \\ v_t = \gamma v_{t-1} + \eta \nabla_\theta J(\theta) \\ (\gamma : \text{0 ~ 1 범위의 decay 상수})$$


그러나 모멘텀이 있기 때문에 글로벌 미니멈 근처에서 수렴하는 속도가 너무 느림

 

NAG (Nesterov Accelerated Gradient)

Momentum : 현재있는 점($\theta$)에서 모멘텀 스텝과 Gradient 스텝을 합성
NAG : 현재있는 점($\theta$)에서 모멘텀 스텝을 진행, 이후 새로운 위치($\theta'$)에서 Gradient 스텝을 진행

$$\theta = \theta - v_t \\ v_t = \gamma v_{t-1} + \eta \nabla_{\theta'} J(\theta') \\ ~\\ \begin{pmatrix} \theta = \theta - v_t & \text{가 파라미터를 업데이트하는 것과 같이,} \\ \theta' = \theta - \gamma v_{t-1} & \text{역시 모멘텀 스텝만큼 파라미터를 업데이트 하는 식이다.} \end{pmatrix}$$

그러나 결국 모든 파라미터에 대해서 step size가 동일하다는 문제점이 있음

Problem of NAG
$\theta = \{ w_1, w_2, w_3 , \dots, w_n \}$ 일 때,
$w_1$은 변화가 많았음 (이미 Minimum에 있을 확률이 높음)
$w_2$는 변화가 적었음 (아직 Minimum에 도달하지 못했을 확률이 높음)

따라서, 이후 ADAM Optimizer에서는 각 파라미터마다 서로 다르게 step(learning rate)을 진행하는 방식을 도입 (Adaptive Learning rate)

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

(14) Optimizer - ADAM Optimizer  (0) 2020.01.13
(13) Optimizer - Adaptive learning rate 개념  (0) 2020.01.13
(11) Optimizer - Vanilla SGD  (0) 2020.01.13
(10) Optimizer  (0) 2020.01.13
(9) Other Techniques of Optimize  (0) 2020.01.13
Comments