# 모멘텀 (Momentum) 경사하강법

#### 개요

모멘텀 경사하강법은 기계 학습에서 최적화를 수행하는데 중요한 알고리즘이다. 이 방법은 기존의 경사하강법의 단점을 보완하여 더 빠르고 안정적인 수렴을 가능하게 한다. 모멘텀 경사하강법은 물리학에서의 모멘텀 개념을 도입하여, 단순한 기울기 계산에 의존하지 않고 과거의 기울기도 반영하는 방식으로 동작한다.

#### 모멘텀의 개념

모멘텀은 물리학에서 질량과 속도의 곱으로 정의된다. 최적화 문제에서는 기울기가 속도에 해당한다. 모멘텀 경사하강법은 이 개념을 활용하여, 현재 기울기에 의한 변화를 직접 반영하는 것뿐만 아니라, 이전 단계에서의 기울기 변화를 일정 비율로 현재 단계에 반영한다. 이를 통해 경사하강법이 단순히 기울기만을 따라가는 것이 아니라, 방향을 더 일관되게 유지할 수 있도록 돕는다.

수식으로는 다음과 같이 표현된다:

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

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

여기서:

* $ v\_t $는 현재 속도(모멘텀),
* $ \beta $는 모멘텀 계수로, 이전 속도가 현재 속도에 미치는 영향을 결정한다,
* $ \eta $는 학습률,
* $ \nabla J(\theta\_t) $는 현재 기울기,
* $ \theta\_t $는 현재 파라미터 값이다.

#### 모멘텀 계수의 역할

모멘텀 계수 $ \beta $는 0과 1 사이의 값으로 설정된다. $ \beta $ 값이 클수록 이전 단계의 속도가 현재 단계에 미치는 영향이 커진다. 이는 경사하강법이 좁고 깊은 골짜기에서의 진동을 줄이고, 수렴 속도를 높이는 데 도움을 준다. 너무 작은 $ \beta $ 값은 모멘텀의 효과를 줄여 단순 경사하강법과 크게 다르지 않게 된다. 반대로, 너무 큰 $ \beta $ 값은 시스템을 불안정하게 만들어, 최적화 과정에서 발산할 수 있다.

#### 모멘텀 경사하강법의 수렴 특성

모멘텀 경사하강법은 수렴 속도를 높이는 데 매우 효과적이다. 일반적인 경사하강법에서는 매 반복마다 기울기를 따라 이동하기 때문에, 경사면이 급격하게 변하는 구간에서 진동이 발생할 수 있다. 모멘텀을 도입하면, 이러한 진동이 줄어들어 더 안정적인 수렴이 가능한다. 특히, 골짜기 구조의 손실 함수에서 효과적이며, 이러한 상황에서 모멘텀은 단순한 경사하강법보다 훨씬 빠르게 수렴할 수 있다.

모멘텀은 특히 비선형 함수의 최적화에서 강력한 도구로 활용된다. 비선형 함수는 다수의 국소 최저점을 가질 수 있으며, 단순 경사하강법은 이러한 국소 최저점에서 쉽게 멈출 수 있다. 모멘텀 경사하강법은 이러한 국소 최저점에서 벗어나, 전역 최저점에 더 빠르게 도달할 수 있도록 돕는다.

***

관련 자료:

* Sutskever, I., Martens, J., Dahl, G., & Hinton, G. (2013). On the importance of initialization and momentum in deep learning. International conference on machine learning.
* Polyak, B. T. (1964). Some methods of speeding up the convergence of iteration methods. USSR Computational Mathematics and Mathematical Physics.
