Why Momentum?

Stochastic Gradient Descent(SGD) 에 momentum 개념이 추가됨.

Momentum 적용 전.

기존 SGD는 gradient가 차원별로 scale의 차이가 크면, jittering하는 문제가 있는데, 이러한 것을 완화하기 위해 “속도” 개념을 들고 옴.

TODO:

  • 방향으로 damping 필요.(그림에서는 불필요한 움직임이 많으니,)
  • 축 방향으로는 가속해야 함.(현재는 너무 느리니)

Summary

Idea of momentum: update weights with exponential moving average of gradients
moving average: 대충 추세선 정도로 생각하면 됨.

Moving average?

SGD with Momentum

Momentum 적용 후.



with velocity and momentum (typically)

  • 확실히 axis 방향의 damping이 잘 됨.

Important

Attention

Notation은 다음과 같이 2가지로 사용된다.

  • lr을 어디 term에서 보여줄지가 차이.


Exponential Moving Average

위에서 다시 momentum 수식을 보면, momentum 식 계산할 때, 를 구할 때에는 만큼의 decay가 일어나고, 한 타임 더 전을 생각해보면, 만큼의 decay가 일어난다. 즉, decay가 exponential하게 일어남.
→ momentum은 exponential moving average!
아래 그림처럼 잘 damping해줌.