# 네스테로프 모멘텀 (Nesterov Momentum)

네스테로프 모멘텀(Nesterov Momentum)은 고전적인 모멘텀 방법을 개선한 최적화 기법으로, 딥러닝을 포함한 기계 학습에서 널리 사용된다. 네스테로프 모멘텀은 그라디언트(기울기)의 계산 방식에 미묘한 변화를 주어, 모멘텀 기반 방법의 수렴 속도와 안정성을 향상시킨다.

기존 모멘텀 기법은 현재 위치에서의 그라디언트 정보를 바탕으로 움직임의 방향을 결정한다. 이때, 모멘텀을 적용하여 이전의 업데이트 방향을 일정 비율로 유지하면서, 그라디언트가 가리키는 새로운 방향으로 조금씩 이동한다. 그러나 네스테로프 모멘텀은 먼저 모멘텀을 적용한 후 그라디언트를 계산하는 방식으로 접근한다. 이는 그라디언트를 계산할 때 이미 예측된 위치에서의 정보를 활용하는 것이다.

#### 네스테로프 모멘텀의 수학적 정의

네스테로프 모멘텀을 수학적으로 정의하기 위해서는 먼저 기존 모멘텀 방법을 살펴볼 필요가 있다. 기존의 모멘텀 방법은 다음과 같이 정의된다.

$$
v\_{t+1} = \gamma v\_t + \eta \nabla f(\theta\_t)
$$

$$
\theta\_{t+1} = \theta\_t - v\_{t+1}
$$

여기서 $ v\_t $는 속도(velocity), $ \gamma $는 모멘텀 계수(momentum coefficient), $ \eta $는 학습률(learning rate), $ \nabla f(\theta\_t) $는 현재 위치 $ \theta\_t $에서의 그라디언트이다.

반면, 네스테로프 모멘텀은 다음과 같이 정의된다.

$$
v\_{t+1} = \gamma v\_t + \eta \nabla f(\theta\_t - \gamma v\_t)
$$

$$
\theta\_{t+1} = \theta\_t - v\_{t+1}
$$

이 공식에서 주목할 점은 그라디언트 $ \nabla f(\theta\_t - \gamma v\_t) $의 계산이 네스테로프 모멘텀에서 수행된다는 것이다. 이는 먼저 모멘텀을 적용한 위치 $ \theta\_t - \gamma v\_t $에서 그라디언트를 평가한 후, 그 정보를 바탕으로 파라미터를 업데이트하는 방식이다. 결과적으로 네스테로프 모멘텀은 기존 모멘텀보다 더욱 예측적인 업데이트를 수행할 수 있게 된다.

#### 네스테로프 모멘텀의 이점과 직관

네스테로프 모멘텀의 주요 이점은 더 빠르고 안정적인 수렴 속도를 제공한다는 것이다. 이 방법은 기존 모멘텀보다 방향을 더 정확하게 예측할 수 있기 때문에, 학습 과정에서 급격한 진동을 줄이고 더 일관된 진행을 보장할 수 있다. 특히, 복잡한 손실 함수 지형에서 네스테로프 모멘텀은 그라디언트의 갑작스러운 변화에 대응하는 능력이 뛰어나며, 이를 통해 최적화 과정에서의 효율성을 높인다.

직관적으로 생각하면, 네스테로프 모멘텀은 "더 앞을 내다보는" 접근을 취한다. 기존 모멘텀은 현재 위치에서의 그라디언트를 사용하여 업데이트를 수행하는 반면, 네스테로프 모멘텀은 한 걸음 더 나아가 모멘텀을 먼저 적용한 다음 그 위치에서 그라디언트를 계산한다. 이는 마치 이동 경로를 미리 예측하고, 더 나은 방향으로 조정하는 것과 유사한다.

#### 네스테로프 모멘텀의 구현과 조정

네스테로프 모멘텀을 구현하는 것은 상대적으로 간단하며, 대부분의 최적화 라이브러리에서 지원된다. 모멘텀 계수 $ \gamma $와 학습률 $ \eta $는 네스테로프 모멘텀의 성능에 큰 영향을 미치므로, 이들의 적절한 설정이 필요하다. 일반적으로, 모멘텀 계수 $ \gamma $는 0.9에서 0.99 사이로 설정되며, 이는 최적화 과정에서 빠른 수렴과 적절한 탐색을 모두 달성하기 위함이다.

네스테로프 모멘텀은 특히 비선형성이 강한 문제나, 스파스(sparse)한 데이터셋에 대해 효과적으로 작동할 수 있다. 그러나, 이러한 방법이 항상 최적의 솔루션을 보장하는 것은 아니므로, 문제의 특성에 따라 다양한 최적화 방법을 함께 고려하는 것이 중요하다.

***

관련 자료:

* Yurii Nesterov, A method of solving a convex programming problem with convergence rate O(1/k^2), Soviet Mathematics Doklady, 1983.
* Ilya Sutskever, et al., On the importance of initialization and momentum in deep learning, Proceedings of the 30th International Conference on Machine Learning (ICML-13), 2013.
* Sebastian Ruder, An overview of gradient descent optimization algorithms, arXiv preprint arXiv:1609.04747, 2016.
