AD

자료공유 Nadam과 AMSGrad에 대한 설명

Moderator 베일쿤
2019-03-23 14:43:44 7760 7 0

한 분께서 제가 공유한 Methods for Stochastic Optimizer 영상을 보시고 다음과 같은 질문을 제 트게더에 올려주셔서

해당 내용에 대해 답변해드리며 그 답변 내용을 여기에 공유합니다.


69ed6c3d0c4c7e964fd308c71e16114c.png


----------------------------------------------------------------------

기본적으로 Nadam과 AMSGrad (아마 RMSprop 때문에 헷갈리신 듯 합니다) 을 질문하신다는 것은

Adam에 대한 이해도가 있다고 가정하고 설명하도록 하겠습니다.


Nadam은 이름 그대로 Nesterov Accelerated Gradient (NAG)와 Adam Optimizer의 개념을 합친 것입니다.

즉, NAG에서 사용했던 방식대로 현재 위치에서 다음 위치로 이동할 Gradient와 Momentum 값을 구하는 것이 아닌

Momentum 값으로 이동한 뒤에 Gradient 값을 구해보자는 것입니다.


NAG와 Momentum Method에서 각각 구해진 Momentum Vector와 Gradient Vector를 벡터합 해보면

서로 다른 위치가 나오는 것을 확인할 수 있을 것입니다.


Nadam은 기존 Adam Optimizer에 이런 개념을 합친 것입니다.


즉, 기존 Adam Optimizer에서는 두 개의 momentum을 활용하게 되는데 m (First momentum)과 v (Second momentum)이 그것입니다.


m은 기존 momentum 방식에서 활용하던대로 Gradient 값을 좀 더 빠르게 계산할 수 있도록 돕는 역할을 하고

v는 데이터의 분포가 Sparse한 곳에서 그 영향력을 극대화 시킴으로써 빠르게 sparse한 영역을 벗어날 수 있도록 돕는 역할을 하는데요.


기존 Adam과 다르게 Nadam은 NAG의 철학을 바탕으로 현재 위치에서 Gradient 값을 계산하는 것이 아닌

Momentum 방향으로 이동한 뒤, 새로운 위치에서 Gradient 값을 계산해내게 됩니다.


이 때문에 Jacobian 을 계산할 때, 기존 Adam과는 다르게

(theta) - (gamma) * m_(t-1) (즉, 이미 Momentum에 의해 움직여진) 위치 상에서 Jacobian을 계산하는 것을 볼 수 있습니다.


Nadam의 장점은 기존 Adam Optimizer에 NAG 가 가지고 있는 Vanilla Momentum Optimizer보다 우수한 성능을 보였다는 관점을 합하여 만든 것이라

Adam 보다는 조금 더 빠르고 정확히 Global Minima를 찾아낼 수 있겠다 (단, Convex surface라는 가정 하에) 라는 인사이트를 가져올 수 있습니다.


AMSGrad는 비교적 최근에 나온 논문 (2018년도) 이라서 저도 자세히 읽어보진 않았습니다만 제가 강의자료에 적어둔 내용을 살펴보면 이런 부분이 있습니다.


In settings where Adam converges to a suboptimal solution, it has been observed that some minibatches provide large and informative gradients, but as these minibatches only occur rarely, exponential averaging diminishes their influence, which leads to poor convergence.

(Adam이 suboptimal solution (즉, local minima)에 수렴하는 환경 상에서, 일부 미니 배치는 꽤나 크고 유의미한 Gradient 값을 계산해내도록 만들지만, 이러한 미니 배치는 거의 발생하지 않으므로 Adam에서 Second momentum에 사용하던 Exponential average 방법이 해당 Gradient 값을 반영함에 있어서 Second Momentum의 영향력을 감소시켜 Optimal Solution으로의 수렴 속도를 저하시킨다.)


To fix this behaviour, the authors propose a new algorithm, AMSGrad that uses the maximum of past squared gradients v_t rather than the exponential average to update the parameters.

(이런 영향력을 없애기 위해, AMSGrad 논문의 저자는 기존에 활용하던 Exponential Averaging 방식을 버리고 과거 Second Momentum 값들 중 가장 큰 값을 활용하도록 만들었다.)


이런 연유 때문에 AMSGrad가 잠깐 주목을 받았습니다. 실제로 CIFAR-10 데이터셋에 대해서는 AMSGrad가 Adam보다 뛰어난 성능을 보이긴 했지만, 기타 다른 데이터셋에 대해서는 비슷한 성능을 보여주거나 훨씬 더 안 좋은 performance를 보여주었습니다.


-----------------------------------------------------------------------------------


해당 내용이 다른 분들께서 학습하시는 데에 도움이 되었으면 좋겠습니다.

후원댓글 0
댓글 0개  
이전 댓글 더 보기
TWIP 잔액: 확인중
▼아랫글 강의 영상 목록 베일쿤
공지잡담최신뉴스자료공유연구/플젝Q&A
8
자료공유
4월 16일 논문 리뷰 방송 [1]
Moderator 베일쿤
04-15
4
04-10
»
03-23
1
자료공유
강의 영상 목록 [1]
Moderator 베일쿤
03-22
12
자료공유
Mathematics for Machine Learning [9]
Moderator 베일쿤
03-20
7
03-18
4
03-14
1
자료공유
Dive into Deep Learning [4]
Moderator 베일쿤
03-14
4
자료공유
Methods for stochastic optimization [4]
Moderator 베일쿤
03-12
2
03-11
5
자료공유
제가 보는 교육자료 [3]
단단한_이과생
03-02
인기글 글 쓰기