본문 바로가기
  • Deep dive into Learning
  • Deep dive into Optimization
  • Deep dive into Deep Learning
Deep dive into Optimization

Deep dive into Optimization : Momentum(2) - Updated

by Sapiens_Nam 2023. 4. 4.

 

"모바일 앱 환경에서는 latex 수식이 깨져 나타나므로, 가급적 웹 환경으로 봐주시길 바랍니다."

 

지난 글에서는 momentum에 대한 기초적인 내용들을 살펴보았다. 오늘은 momentum에서 매우 유명한 method 중 하나인 Nesterov momentum에 대해 이야기를 나누도록 하겠다.

 

https://kyteris0624.tistory.com/26

 

Deep dive into optimization : Momentum (1)

"모바일 앱 환경에서는 latex이 깨져서 나타나므로, 가급적 웹으로 봐주시길 바랍니다." https://kyteris0624.tistory.com/24 Deep dive into optimization: Gradient descent (3) "모바일 앱 환경에서는 latex이 깨져서 나타

kyteris0624.tistory.com

 

Heavy-ball momentum과 Nesterov momentum의 가장 큰 차이점은 gradient를 계산하는 지점이다.

Heavy-ball에서는 gradient를 현재 파라미터 $w_t$에서 계산을 하지만, Nesterov는 $v_t$만큼 이동한 지점에서 gradient를 계산한다.

Nesterov momentum

 

'stochastic' gradient ($g_{NAG}$)를 계산하는 지점이 현재 파라미터 $\theta_t$가 아니라, velocity $v_t$가 더해진 파라미터 $\tilde{\theta}$에서 계산된다.

그 다음에는 Heavy-ball과 유사한 방법으로 파라미터 업데이트 ($\theta_t \rightarrow \theta_{t+1}$)로 이동한다.

 

이 차이를 그림으로 한 번 더 보자.

 

Sutskever et al. 2013

 

위의 그림은 heavy-ball momentum이고 아래의 그림은 nesterov momentum이다.

두 방법의 차이는 step size $\eta$가 상대적으로 클 때, 더 뚜렷하게 나타나는데 이때 Nesteorv momentum은 상대적으로 큰 $\alpha$에 대해서도 성능이 잘 나오는 반면, Heavy-ball은 그러하지 못하다.

추가적으로, step-size $\eta$가 상대적으로 작을 때, 두 방법의 차이는 크지 않다.

 

다음 글에서는 Adaptive step size를 적용하는 SGD를 변형한 알고리즘들에 대해 살펴보도록 하겠다. 

728x90

댓글