Nadam은 Nesterov-가속 적응 모멘트 추정(Nesterov-accelerated Adaptive Moment Estimation)의 약칭으로, 인공 신경망 훈련에 사용되는 최적화 알고리즘이다. Adam 옵티마이저의 적응형 학습률 메커니즘과 Nesterov 모멘텀의 선견(lookahead) 속성을 통합하여, 경사 기반 최적화 중 수렴 속도와 안정성을 개선하는 것을 목표로 한다. 2016년 Timothy Dozat이 소개한 이후, Nadam은 컴퓨터 비전부터 자연어 처리에 이르는 다양한 작업을 위한 딥러닝의 표준 선택지가 되었다.
이 알고리즘은 Adam과 유사하게 과거 기울기와 제곱 기울기의 지수 감쇠 평균을 유지하면서 모델 파라미터를 업데이트하지만, 선견 위치에서 기울기를 평가하는 Nesterov 스타일 보정을 통합한다. 이러한 결합 덕분에 Nadam은 손실 함수 지형의 변화에 더 빠르게 반응하면서도 적응형 방법의 견고성을 유지한다. 결과적으로 특정 벤치마크, 특히 잡음이 많거나 희소한 기울기로 딥 네트워크를 훈련할 때 표준 확률적 경사 하강법과 Adam보다 더 나은 성능을 보이는 경우가 많다.
배경 및 동기
최적화는 Machine learning의 핵심에 있으며, 알고리즘은 손실 함수를 최소화하기 위해 모델 파라미터를 반복적으로 조정한다. 확률적 경사 하강법(SGD)과 같은 초기 방법은 고정 학습률을 사용하는데, 이는 수렴이 느리고 하이퍼파라미터 선택에 민감할 수 있다. 이러한 문제를 해결하기 위해 연구자들은 AdaGrad, RMSProp, 그리고 이후 Adam과 같은 적응형 방법을 개발했으며, 이는 과거 기울기 정보를 기반으로 업데이트를 조정한다. 2014년 Diederik Kingma와 Jimmy Ba가 소개한 Adam은 모멘텀과 파라미터별 학습률을 결합하여 다양한 작업에서 효과성 덕분에 널리 채택되었다.
그러나 Adam은 현재 파라미터보다 앞선 지점에서 기울기를 계산하여 수렴을 가속화하는 기법인 Nesterov 모멘텀을 통합하지 않는다. Nesterov 모멘텀은 볼록 최적화에서 더 빠른 수렴과 더 나은 이론적 보장을 제공하는 것으로 알려져 있다. Nadam은 이러한 격차를 메우기 위해 제안되었으며, Nesterov의 선견을 Adam의 모멘텀 항에 적용하여 적응형 학습률의 이점을 희생하지 않으면서 성능을 향상시킨다.
Nadam 알고리즘
Nadam의 업데이트 규칙은 다음과 같이 표현할 수 있다. \( \theta \)를 모델 파라미터, \( g_t \)를 단계 \( t \)에서의 기울기, \( m_t \)와 \( v_t \)를 각각 1차 및 2차 모멘트 추정치라고 하자. 알고리즘은 다음을 유지한다:
\[ m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t \]
\[ v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \]
여기서 \( \beta_1 \)과 \( \beta_2 \)는 감쇠율이며, 일반적으로 0.9와 0.999로 설정된다. 초기화를 보정하기 위해 편향 보정이 적용된다:
\[ \hat{m}_t = \frac{m_t}{1 - \beta_1^t} \]
\[ \hat{v}_t = \frac{v_t}{1 - \beta_2^t} \]
Nadam의 핵심 차이는 Nesterov 보정 기울기를 사용한다는 점이다. 업데이트는 다음과 같아진다:
\[ \theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \epsilon} \left( \beta_1 \hat{m}_t + \frac{(1 - \beta_1) g_t}{1 - \beta_1^t} \right) \]
여기서 \( \eta \)는 학습률이고 \( \epsilon \)은 수치적 안정성을 위한 작은 상수이다. 이 공식은 모멘텀 단계를 효과적으로 계산한 다음 현재 기울기를 기반으로 보정을 적용하여 Nesterov의 선견을 모방한다.
Adam 및 SGD와의 비교
Nadam은 Adam (Optimizer)와 많은 속성을 공유하며, 적응형 파라미터별 학습률과 하이퍼파라미터 설정에 대한 견고성을 포함한다. 그러나 Nesterov 구성 요소는 특히 훈련 초기 단계에서 더 빠른 수렴으로 이어지는 경우가 많다. 실제로 Nadam은 Adam에 비해 더 적은 반복으로 더 낮은 훈련 손실을 달성할 수 있지만, 그 차이는 작업에 따라 달라질 수 있다. 예를 들어 자연어 처리를 위한 Transformer (architecture) 모델 훈련에서 Nadam은 일부 벤치마크에서 Adam보다 더 빠르게 수렴하는 것으로 관찰되었다.
모멘텀이 있는 SGD와 비교할 때, Nadam은 학습률을 자동으로 조정하여 수동 튜닝의 필요성을 줄여준다는 장점이 있다. 그러나 SGD 변형은 단순성과 때로는 더 나은 일반화 성능 덕분에 여전히 인기가 있다. Nadam은 이러한 접근 방식 사이에 위치하여 속도와 안정성의 균형을 제공한다.
구현 및 사용
Nadam은 TensorFlow, PyTorch, Keras를 포함한 주요 딥러닝 프레임워크에 구현되어 있다. Keras에서는 기본 하이퍼파라미터로 keras.optimizers.Nadam으로 사용할 수 있다. 실무자들은 Adam과 유사하게 약 0.001의 학습률을 사용하는 경우가 많으며, 수렴을 개선하기 위해 Learning Rate Scheduling과 같은 학습률 스케줄을 사용할 수 있다. Nadam은 컴퓨터 비전 작업의 Neural network 아키텍처(예: Residual Network (ResNet), U-Net) 훈련과 자연어 처리의 Large language model 미세 조정에 특히 효과적이다.
한 가지 실용적인 고려 사항은 메모리 사용량이다. Nadam은 Adam과 유사하게 파라미터당 두 개의 모멘트 추정치를 유지하므로, 매우 큰 모델의 경우 SGD에 비해 메모리 사용량이 두 배가 될 수 있다. 그러나 대부분의 응용 프로그램에서 메모리 오버헤드는 허용 가능한 수준이다.
이론적 속성
Nadam은 볼록 문제에 대한 Adam의 수렴 보장을 계승하며, Nesterov 가속의 추가 이점이 있다. 딥러닝에서 일반적인 비볼록 설정에서는 이론적 분석이 더 복잡하지만, 경험적 증거는 Nadam이 손실 함수 지형을 효과적으로 탐색할 수 있음을 시사한다. 선견 메커니즘은 날카로운 최소값을 벗어나 더 평평한 영역을 찾는 데 도움이 되어 잠재적으로 일반화를 개선할 수 있다.
연구는 모멘텀 감쇠 스케줄을 조정하거나 Gradient Clipping과 같은 기법과 결합하는 등 Nadam의 변형도 탐구했다. 이러한 적응은 딥 네트워크 훈련에서 견고성을 더욱 향상시킨다.
응용 및 영향
Nadam은 이미지 분류, 객체 감지, 음성 인식, 기계 번역을 포함한 다양한 분야에 적용되었다. Deep learning 커뮤니티에서의 채택은 널리 퍼져 있으며, 많은 실무자들이 Adam이 성능이 좋지 않을 때 Nadam을 기본으로 사용한다. 예를 들어 Generative AI 시스템과 같은 생성 모델 훈련에서 Nadam은 훈련을 안정화하고 샘플 품질을 개선하는 데 사용되었다.
Artificial intelligence 연구의 맥락에서 Nadam은 최적화 기법의 발전을 나타내며, AdamW 및 RAdam과 같은 후속 알고리즘에 영향을 미쳤다. 그 개발은 빠르고 안정적인 옵티마이저를 설계하려는 지속적인 노력을 강조하며, 이는 Machine learning 모델 확장의 중요한 측면이다.
한계 및 고려 사항
강점에도 불구하고 Nadam이 보편적으로 우월한 것은 아니다. 어떤 경우에는 Adam이 더 잘 일반화할 수 있고, 적절히 튜닝된 모멘텀이 있는 SGD가 둘 다 능가할 수 있다. 옵티마이저 선택은 종종 특정 작업, 모델 아키텍처, 데이터 세트에 따라 달라진다. 또한 \( \beta_1 \)과 \( \beta_2 \)와 같은 Nadam의 하이퍼파라미터는 최적 성능을 위해 튜닝이 필요할 수 있지만, 기본값은 많은 시나리오에서 잘 작동한다.
또 다른 한계는 Nadam이 다른 적응형 방법과 마찬가지로 때때로 일반화가 좋지 않은 날카로운 최소값으로 수렴할 수 있다는 점이다. Batch Normalization 및 Dropout과 같은 기법이 이 문제를 완화하기 위해 함께 사용되는 경우가 많다. 연구자들은 옵티마이저와 정규화 방법 간의 상호 작용을 계속 조사하고 있다.
향후 방향
딥러닝을 위한 최적화 분야는 빠르게 진화하고 있다. 가중치 감쇠를 분리하는 AdamW와 대규모 배치 훈련을 위해 설계된 LAMB와 같은 새로운 알고리즘은 Adam과 Nadam의 아이디어를 기반으로 한다. Nadam 자체는 연구 논문과 실제 응용 프로그램에서 여전히 관련 기준점으로 남아 있다. 모델이 커짐에 따라 효율적이고 안정적인 옵티마이저에 대한 수요는 추가 혁신을 주도할 가능성이 높으며, Nadam은 기본 참조점 역할을 한다.
요약하자면, Nadam은 Adam과 Nesterov 모멘텀의 강점을 결합한 강력한 최적화 알고리즘이다. 그 개발은 복잡한 모델 훈련을 위한 신뢰할 수 있는 도구를 제공함으로써 Deep learning의 발전에 기여했다. 한계가 없지는 않지만, Nadam은 실무자의 도구 상자에서 여전히 가치 있는 선택지이다.