모멘텀 최적화 (Momentum)
쉽게 풀면
확률적 경사 하강법만 사용하면 매번 방향이 조금씩 흔들려서 최적점까지 가는 길이 지그재그로 왔다갔다할 수 있어요. 모멘텀은 공이 언덕을 굴러 내려갈 때 관성이 붙는 것처럼, 이전까지의 이동 방향을 어느 정도 기억해서 현재 업데이트에 반영합니다. 이렇게 하면 일관된 방향으로는 점점 속도가 붙어 더 빠르게 수렴하고, 흔들리는 방향으로는 서로 상쇄되어 진동이 줄어들어요. 그래서 SGD에 모멘텀을 더한 방식이 순수 SGD보다 훨씬 안정적이고 빠르게 학습되는 경우가 많습니다.
왜 중요한가
모멘텀은 딥러닝 최적화 논문에서 학습 안정성과 수렴 속도를 개선하는 가장 기본적인 기법 중 하나로 다뤄집니다. 손실함수의 표면이 좁고 가파른 골짜기 형태를 가질 때 순수 경사 하강법은 좌우로 진동하며 느리게 수렴하는데, 모멘텀은 이런 비효율을 줄여 학습 시간을 단축시킵니다. 이 아이디어는 이후 Adam, RMSprop 등 널리 쓰이는 적응형 옵티마이저의 핵심 구성요소로 흡수되었기 때문에, 최적화 기법을 다루는 논문이라면 모멘텀의 원리를 이해하는 것이 출발점이 됩니다.
논문에서는 이렇게 쓰입니다
이전 업데이트 방향의 90%를 다음 업데이트에 반영하는 방식으로 SGD를 개선해 사용했다는 뜻이다.
네스테로프 모멘텀은 현재 위치가 아니라 관성으로 이동할 다음 위치에서 미리 그래디언트를 계산해 반영하는 변형으로, 표준 모멘텀보다 더 정확한 방향으로 수렴하는 경우가 많다는 것을 보여주는 문장입니다.
강화학습처럼 그래디언트 신호 자체가 불안정한 분야에서는 모멘텀 계수를 조정해 노이즈에 흔들리지 않도록 학습을 안정화하는 방식으로 활용되기도 합니다.
조금 더 깊게 보면
표준 모멘텀 외에 네스테로프 가속 경사(Nesterov Accelerated Gradient)라는 변형이 널리 쓰이는데, 이는 관성 방향으로 먼저 한 걸음 이동한 지점에서 그래디언트를 계산해 반영함으로써 방향 보정이 더 빠르다는 이론적 장점이 있습니다. 또한 모멘텀은 지수이동평균(exponential moving average) 형태로 과거 그래디언트를 누적하는데, 이 원리가 확장되어 Adam 옵티마이저에서는 1차 모멘트(방향)뿐 아니라 2차 모멘트(그래디언트 크기의 제곱)까지 함께 추적해 파라미터별로 학습률을 적응적으로 조절합니다.
주의할 점
모멘텀 값을 너무 크게 설정하면 관성이 지나치게 강해져 최적점을 지나쳐버리는 오버슈팅이 발생할 수 있다.