모멘텀(Momentum)

•
2026년 11월 08일 발행•2026년 11월 08일 수정
요약

이전 갱신 방향을 누적한 속도 항으로 경사 하강법의 진동을 줄이고 수렴을 가속하는 최적화 기법

초급
경사 하강법과 학습률의 개념을 알고, 지수 이동 평균 형태의 갱신식을 이해할 수 있어야 한다.

#개념

모멘텀(Momentum)은 경사 하강법에서 이전 갱신 방향을 누적한 속도 항을 함께 사용해 파라미터를 갱신하는 최적화 기법이다. 현재 기울기만 보고 움직이는 대신 지금까지의 이동 방향을 관성처럼 유지하므로, 일관된 방향으로는 가속하고 방향이 자주 바뀌는 성분은 상쇄한다. 오늘날 확률적 경사 하강법(Stochastic Gradient Descent, SGD)과 Adam 계열 옵티마이저 대부분이 이 개념을 기반으로 한다.
모멘텀의 기원은 1964년 Boris Polyak가 제안한 중량 공 방법(Heavy Ball Method)이다. 마찰이 있는 표면 위를 굴러가는 무거운 공을 떠올리면 이해하기 쉽다. 공은 경사를 따라 내려가면서 속도를 얻고, 작은 요철이나 반대 방향의 일시적인 경사가 있어도 축적된 운동량 덕분에 계속 진행한다. Polyak는 이 관성 항을 추가하면 이차 함수 근방에서 단순 경사 하강법보다 수렴 속도가 빨라진다는 것을 보였다.
가장 널리 쓰이는 모멘텀 갱신식은 속도 $v_t$와 파라미터 $\theta_t$를 두 단계로 갱신한다. 먼저 $v_t = \beta v_{t-1} + \nabla_\theta L(\theta_{t-1})$로 이전 속도에 현재 기울기를 더하고, 이어서 $\theta_t = \theta_{t-1} - \eta v_t$로 파라미터를 이동한다. 여기서 $\beta$는 모멘텀 계수(Momentum Coefficient)로 0과 1 사이 값을 가지며, $\eta$는 학습률(Learning Rate)이다. $\beta = 0$이면 일반 경사 하강법과 같아지며, 구성 요소는 다음과 같다.
모멘텀 갱신의 구성 요소
  • 속도(Velocity): 과거 기울기를 지수적으로 누적한 벡터로, 실제 이동 방향과 크기를 결정한다.
  • 모멘텀 계수 $\beta$: 이전 속도를 얼마나 유지할지 정하는 값으로, 클수록 관성이 강해진다.
  • 학습률 $\eta$: 속도 벡터에 곱해지는 보폭으로, 갱신 크기를 직접 조절한다.
  • 감쇠(Dampening): 일부 구현에서 새 기울기에 $(1-\tau)$를 곱해 속도에 들어가는 비중을 줄이는 선택적 항이다.
속도 항을 펼쳐 보면 $v_t = \sum_{k=0}^{t-1} \beta^k \nabla_\theta L(\theta_{t-1-k})$가 되므로, 모멘텀은 과거 기울기에 지수적으로 감소하는 가중치를 부여한 합으로 해석할 수 있다. 이는 지수 이동 평균(Exponential Moving Average, EMA)과 같은 구조이며, 대략 최근 $1/(1-\beta)$개 스텝의 기울기를 평균하는 효과를 낸다. $\beta = 0.9$라면 약 10스텝, $\beta = 0.99$라면 약 100스텝의 기울기가 반영된다.
모멘텀이 효과적인 대표적인 상황은 협곡(Ravine) 형태의 손실 지형이다. 한 방향으로는 곡률이 매우 크고 다른 방향으로는 완만한 지형에서, 일반 경사 하강법은 가파른 벽 사이를 지그재그로 오가며 진동하고 완만한 바닥 방향으로는 느리게 전진한다. 모멘텀을 쓰면 부호가 번갈아 바뀌는 진동 성분은 누적 과정에서 서로 상쇄되고, 일관된 바닥 방향 성분은 계속 더해져 가속된다.
확률적 경사 하강법에서는 미니배치마다 기울기에 잡음이 섞이는데, 모멘텀은 여러 스텝의 기울기를 평균하므로 이 잡음을 완화하는 역할도 한다. 다만 관성이 너무 크면 최솟값을 지나쳐 되돌아오는 오버슈팅이 발생하고, 손실 곡선이 출렁이며 수렴이 늦어질 수 있다. 따라서 모멘텀 계수는 진동 억제와 오버슈팅 사이의 절충으로 정해야 한다.
네스테로프 가속 경사(Nesterov Accelerated Gradient, NAG)는 1983년 Yurii Nesterov가 제안한 방법을 바탕으로 한 모멘텀 변형이다. 일반 모멘텀이 현재 위치에서 기울기를 계산한 뒤 속도를 더하는 것과 달리, NAG는 속도만큼 미리 이동한 예상 위치 $\theta_{t-1} - \eta \beta v_{t-1}$에서 기울기를 계산한다. 앞을 내다보고 방향을 수정하므로 오버슈팅이 줄고 반응성이 좋아진다.
Sutskever 등(2013)은 NAG를 위와 같은 모멘텀 형태로 재해석하고, 심층 신경망과 순환 신경망 학습에서 잘 설계된 초기화와 모멘텀 계수 스케줄만으로도 SGD가 당시의 2차 최적화 기법에 근접한 성능을 낸다는 것을 보였다. 이 연구는 모멘텀이 딥러닝 학습의 기본 구성 요소로 자리 잡는 데 큰 영향을 주었다. 두 방식의 차이는 다음과 같다.
일반 모멘텀과 NAG 비교
  • 기울기 계산 위치: 일반 모멘텀은 현재 파라미터에서, NAG는 속도만큼 앞선 예상 위치에서 기울기를 계산한다.
  • 오버슈팅: NAG는 앞선 위치의 기울기로 속도를 미리 보정하므로 최솟값 근처에서 과도하게 지나치는 현상이 적다.
  • 이론적 수렴 속도: 매끄러운 볼록 함수에서 NAG는 최적의 수렴 차수를 보장하지만, 비볼록인 신경망 학습에서는 차이가 작을 수 있다.
  • 구현 비용: 대부분의 프레임워크는 nesterov 옵션 하나로 제공하며, 추가 연산 비용은 거의 없다.
모멘텀 계수와 학습률은 서로 독립적이지 않다. 기울기가 일정하게 $g$로 유지되면 속도는 $g/(1-\beta)$로 수렴하므로, 정상 상태에서 한 스텝의 이동량은 $\eta/(1-\beta)$에 비례한다. 즉 $\beta$를 0.9에서 0.99로 올리면 유효 학습률(Effective Learning Rate)이 약 10배 커지는 셈이다. 따라서 $\beta$를 바꿀 때는 학습률도 함께 조정해야 하며, 둘을 따로 튜닝하면 불안정한 결과를 얻기 쉽다.
구현에 따라 학습률을 속도 안에 넣는 방식도 있다. Sutskever 등의 표기는 $v_t = \beta v_{t-1} - \eta \nabla_\theta L$로 학습률을 속도에 포함하고, PyTorch는 속도를 기울기만으로 누적한 뒤 마지막에 학습률을 곱한다. 학습률이 고정이면 두 방식은 같지만, 학습률 스케줄로 $\eta$가 바뀌는 순간에는 동작이 달라지므로 논문 재현 시 주의가 필요하다.
아담(Adam) 옵티마이저의 1차 모멘트 $m_t = \beta_1 m_{t-1} + (1-\beta_1) g_t$ 역시 기울기의 지수 이동 평균이므로 모멘텀과 같은 역할을 한다. 차이는 $(1-\beta_1)$을 곱한 정규화된 평균을 쓴다는 점과, 2차 모멘트로 파라미터별 보폭을 조정한다는 점이다. 이 때문에 Adam은 모멘텀과 적응적 학습률을 결합한 방법으로 설명되며, Nadam처럼 Adam에 네스테로프 방식을 결합한 변형도 있다.
배치 정규화(Batch Normalization)에도 momentum이라는 이름의 하이퍼파라미터가 있지만, 이는 최적화 기법이 아니라 추론에 쓸 평균과 분산의 이동 평균 계수를 뜻한다. 더구나 프레임워크마다 의미가 반대인 경우가 있어 혼동하기 쉽다. 이름이 같은 두 개념의 차이는 다음과 같다.
모멘텀이라는 이름의 서로 다른 개념
  • 옵티마이저 모멘텀: 기울기의 누적 정도를 정하는 계수로, 일반적으로 0.9 전후 값을 쓴다.
  • PyTorch 배치 정규화 momentum: 새 배치 통계에 주는 가중치로, 기본값 0.1은 기존 이동 평균을 0.9 비율로 유지한다는 뜻이다.
  • Keras 배치 정규화 momentum: 기존 이동 평균에 주는 가중치로, 기본값 0.99는 새 배치 통계를 0.01 비율로 반영한다는 뜻이다.
실무에서는 SGD와 함께 $\beta = 0.9$를 기본값으로 쓰는 경우가 가장 많으며, 이미지 분류 모델 학습에서는 네스테로프 옵션을 함께 켜는 설정도 흔하다. Adam 계열은 $\beta_1 = 0.9$, $\beta_2 = 0.999$가 사실상의 표준이다. 모멘텀 계수를 0.99처럼 크게 잡으면 학습률을 낮추고 워밍업을 두는 것이 안전하며, 학습 초반에 계수를 점차 키우는 스케줄도 사용된다.
모멘텀은 구현이 간단하고 추가 메모리가 파라미터 수만큼의 속도 버퍼뿐이어서 거의 모든 딥러닝 학습에 기본으로 포함된다. 다만 모멘텀이 있는 옵티마이저는 상태를 가지므로, 학습을 중단했다가 재개할 때는 파라미터와 함께 옵티마이저 상태도 저장하고 복원해야 동일한 학습 경로를 이어갈 수 있다.

#관련 용어

경사 하강법
손실 함수의 기울기 반대 방향으로 파라미터를 반복 갱신하는 최적화 알고리즘
확률적 경사 하강법(SGD)
미니배치로 추정한 기울기를 사용해 파라미터를 갱신하는 경사 하강법의 변형
학습률
한 번의 갱신에서 파라미터를 얼마나 이동할지 정하는 하이퍼파라미터
네스테로프 가속 경사(NAG)
속도만큼 앞선 예상 위치에서 기울기를 계산해 오버슈팅을 줄이는 모멘텀 변형
아담 옵티마이저
기울기의 1차·2차 모멘트를 이용해 파라미터별 학습률을 조정하는 적응적 최적화 기법
배치 정규화
미니배치 통계로 층 입력을 정규화하고 추론용 통계를 이동 평균으로 유지하는 기법

#직무 연관도

DA
Data Analyst
낮음
학습 곡선의 진동이나 수렴 속도 차이를 해석할 때 참고하는 배경 지식
DS
Data Scientist
밀접
옵티마이저 선택과 모멘텀·학습률 조합 튜닝으로 모델 수렴과 성능을 개선
DE
Data Engineer
높음
학습 파이프라인에서 옵티마이저 설정과 상태 저장·복원을 관리

#사용 사례

인터넷 서비스전자상거래의료자율주행제조
개요
모멘텀은 신경망을 경사 기반으로 학습하는 거의 모든 분야에서 옵티마이저의 기본 구성 요소로 사용된다. 전자상거래와 인터넷 서비스의 추천·검색 모델, 의료 영상 분석, 자율주행 인식 모델, 제조 불량 검사 모델 학습에서 SGD 모멘텀이나 Adam 계열 옵티마이저 형태로 적용된다.
사례
이미지 분류용 합성곱 신경망을 학습할 때 SGD에 모멘텀 0.9와 네스테로프 옵션을 적용하고 학습률 스케줄을 함께 사용해 진동을 줄이고 수렴 속도를 높인다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.