운동량을 뜻하는 단어가 의미하는 바와 같이, 모멘텀 기법은 아래의 수식과 같이 공이 그릇의 바닥을 구르는 듯한 움직임을 보여준다. $$ v \gets \alpha v - \eta \frac{\partial L}{\partial W} \\ W \gets W + v $$ SGD와 마찬가지로 W는 가중치 매개변수, L은 손실함수, $\eta$는 학습률이다. 새로나오는 변수중 v는 속도(velocity)고, $\alpha$로 속도의 크기를 설정해줌으로써 물체가 아무런 힘을 받지 않을 때도 서서히 하강시키게 된다. 보통 $\alpha$값은 0.9등의 값으로 설정한다. SGD 의 단점에서 예를 든 함수와 비교하며 변수의 변화에 따라 Momentum이 어떤식으로 학습하는지 알아보자. $\eta : 0.1, \alpha : 0.9$, 반복횟수 30회 위와 같이 지면을 따라 구르듯이 진행함을 알 수 있다. 그런데 여기서 최솟값인 0.0을 지나서 계속 굴러지나가는(?) 모습이 보이는데, 반복 횟수를 높여 그냥 지나가버리는지 아니면 다시 최솟값을 향해 굴러오는지 확인해보자. 우선 현재 최솟값부근을 확대하면 아래와 같다. $\eta : 0.1, \alpha : 0.9$, 반복횟수 60회 최솟값을 향해 잘 굴러옴을 알 수 있다. 확대해서 보면 아래와 같다. 이번엔 속도의 크기를 낮춰보자. $\eta : 0.1, \alpha : 0.8$, 반복횟수 60회 속도크기가 0.9일때와 비교해보면, 진행방향이 아래-위가 바뀔때의 위치가 작아졌음을 볼 수 있다. 즉, 이 $\alpha$값이 작을수록 조금씩만 진행된다고 할 수 있다. 이번에는 크기를 키워보자. $\eta : 0.1, \alpha : 1$, 반복횟수 60회 1로 설정하니 학습이 거의 이루어지지 않아 보인다. 실제로 반복횟수를 훨씬 더 큰 값으로 하면 아래와 같이 확연히 알 수 있다. 그렇다면 1보다 커지면 어떻게 되는지 알아보자. $\eta : 0.1, \alpha : 1.1$ 위에서