"모바일 앱 환경에서는 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를 계산한다.
'stochastic' gradient ($g_{NAG}$)를 계산하는 지점이 현재 파라미터 $\theta_t$가 아니라, velocity $v_t$가 더해진 파라미터 $\tilde{\theta}$에서 계산된다.
그 다음에는 Heavy-ball과 유사한 방법으로 파라미터 업데이트 ($\theta_t \rightarrow \theta_{t+1}$)로 이동한다.
이 차이를 그림으로 한 번 더 보자.
위의 그림은 heavy-ball momentum이고 아래의 그림은 nesterov momentum이다.
두 방법의 차이는 step size $\eta$가 상대적으로 클 때, 더 뚜렷하게 나타나는데 이때 Nesteorv momentum은 상대적으로 큰 $\alpha$에 대해서도 성능이 잘 나오는 반면, Heavy-ball은 그러하지 못하다.
추가적으로, step-size $\eta$가 상대적으로 작을 때, 두 방법의 차이는 크지 않다.
다음 글에서는 Adaptive step size를 적용하는 SGD를 변형한 알고리즘들에 대해 살펴보도록 하겠다.
'Deep dive into Optimization' 카테고리의 다른 글
Deep dive into optimization : Adam - Updated (0) | 2023.04.12 |
---|---|
Deep dive into optimization : Adaptive step-size (1) - Updated (0) | 2023.04.06 |
Deep dive into optimization : Momentum (1) - Updated (0) | 2023.03.30 |
Deep dive into optimization: Gradient descent (3) - Updated (0) | 2023.03.23 |
Deep dive into optimization : Gradient descent - Updated (0) | 2023.03.20 |
댓글