Adan: Adaptive Nesterov Momentum algorithm for faster optimizing deep models

2022/09/01

 

1. abstract

 

adaptive gradient algorithm은 수렴을 빠르게 하기 위해 gradient의 1차, 2차 적률을 추정하는 heavy ball acceleration의 moving average idea를 빌려왔다.

 

그러나 nesterov acceleration은 이론상 heavy ball acceleration보다 더 빠르게 수렴하고 또한 많은 경험적인 사례에서 adaptive gradient 세티에서 훨씬 덜 조사된다?

 

이 논문에서 우리는 deep neural network의 training 속도를 올리기 위해 ADAptive Nesterov momentum algorithm, 줄여서 Adan을 제안한다. 

 

Adan은 먼저 기본 Nesterov accleration을 재공식화하여 새로운 Nesterov momentum estimation(NME)방법을 발전시켜서 외부 점(extrapolation)에서 gradient 계산을 위한 추가적인 계산과 메모리 오버헤드를 피한다.

 

그 때 Adan은 NME를 적용하여 수렴속도를 빠르게 하기 위한 adaptive gradient algorithm에서의 gradient의 1차, 2차 적률을 추정한다

 

게다가 우리는 Adan이 deep learning문제 같은 nonconvex 확률문제에서의 $O(\epsilon^{-3.5})$내에 1차 정점의 $\epsilon$ 근사를 찾아내서 가장 잘알려진 lower bound에 matching한다는 것을 발견했다

 

광범위한 실험결과가 Adan이 현재 잘 알려진 CNN과 transformer의 SOTA optimizer의 성능을 뛰어넘고 많은 인기있는 network나 프레임워크인 ResNet, ConvNext, ViT, Swin, MAE, LSTM, TransformerXL, BERT 같은 network의 새로운 SOTA optimizer로 자리잡을 수 있다는 것을 보여준다.

 

더 놀라운 것은 Adan이 SOTA optimizer의 training 비용(epoch)의 절반을 사용하여 ViT와 ResNet 등등보다 더 높거나 비교할만한 성능을 달성할 수 있고 1k부터 32k까지의 넓은 minibatch size에 대해 더 큰 tolerance를 보여준다.

 

우리는 Adan이 training 비용을 줄이고 다양한 아키텍처에 대한 서로 다른 optimizer를 시도하는 engineering 부담을 줄이면서 딥러닝의 발전에 기여하기를 바란다.

 

내용이 뭔소린지는 모르겠지만 아무튼 좋은 optimizer가 나온것 같은데

 

https://github.com/sail-sg/adan

 

GitHub - sail-sg/Adan: Adan: Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models

Adan: Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models - GitHub - sail-sg/Adan: Adan: Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models

github.com

 

TAGS.

Comments