[딥러닝]최적화기법 Momentum 알고리즘


딥러닝 최적화 기법중 하나인 momentum 알고리즘에 대해 보겠습니다. momentum(관성)이라는 뜻을 갖고 있죠. parameter 가 업데이트가 될 때 관성이 생기는데 그 관성에 따라 parameter 가 업데이트 되게 끔 알고리즘이 구성됩니다.

Momentum 알고리즘

$J(\theta)$를 최적화 하고자 하는 loss 라고 합시다.Momentum 알고리즘에서는 관성을 표현하기 위해 다음과 같은 방식으로 업데이트 합니다.

$$v(n) = \gamma v(n-1) + \mu \nabla_\theta J(\theta(n))$$
$$\theta(n+1) = \theta(n) – v(n)$$

여기서 $v(n)$에서 $v$는 속도를 의미합니다. 그라디언트를 더함으로써 현재까지 업데이트한 정도를 더하는 것이죠. 이것을 이용해서 $\theta(n+1)$을 업데이트 합니다.$\gamma$는 과거의 그라디언트를 얼마나 반영할것인지를 조정하는 것이고, $\mu$는 learning rate 로 볼 수 잇습니다.

Leave a Comment