본문으로 건너뛰기
실습하기

가속도를 활용한 모멘텀 최적화

모멘텀(Momentum) 최적화는 기본 경사 하강법의 단점을 보완하여 더 빠르고 안정적인 학습을 가능하게 하는 기법입니다.

기본적인 경사 하강법은 현재 기울기를 따라 한 단계씩 이동하지만, 모멘텀 최적화는 이전 이동 방향의 영향을 반영하여 보다 부드럽고 일관된 방향으로 학습을 진행합니다.

이를 물리학적으로 비유하면, 공이 경사면을 따라 구를 때 가속도가 붙어 이전 이동 방향의 영향을 지속적으로 받는 것과 유사합니다.

공은 이전의 움직임을 유지하려는 관성을 가지며, 갑자기 멈추지 않고 보다 부드럽게 최적점(최적 가중치 방향)으로 이동합니다.


  • 일반 경사 하강법: 한 걸음씩 이동 (갑작스러운 방향 변화 가능)

  • 모멘텀 최적화: 이전 이동 방향을 고려하여 부드럽게 이동

모멘텀 최적화는 기울기 변동이 심한 경우(예: 경사가 급격히 변하는 손실 함수) 모델이 더욱 안정적으로 수렴하도록 도와줍니다.


모멘텀 최적화의 동작 방식

모멘텀 최적화는 다음 두 가지 방식으로 동작합니다.


1. 속도(velocity) 변수 추가

기존 경사 하강법에서는 가중치(W)를 직접 업데이트했습니다.

모멘텀 최적화는 이전 기울기의 영향을 고려하기 위해 속도(velocity) 변수를 추가합니다.

vt=βvt1αLWv_t = \beta v_{t-1} - \alpha \frac{\partial L}{\partial W}
  • vtv_t : 현재 속도 (기울기의 변화량을 누적)
  • β\beta : 모멘텀 계수 (일반적으로 0.9 사용)
  • α\alpha : 학습률 (Learning Rate)
  • LW\frac{\partial L}{\partial W} : 현재 기울기(Gradient)

2. 가중치 업데이트

속도를 이용하여 가중치를 조정합니다.

Wextnew=Wextold+vtW_{ ext{new}} = W_{ ext{old}} + v_t
모멘텀 최적화 예제
기존 가중치: 0.8
기울기: -0.2
이전 속도: -0.05
모멘텀 계수(β): 0.9
새로운 속도: (0.9 * -0.05) - (0.1 * -0.2) = -0.03
새로운 가중치: 0.8 + (-0.03) = 0.77

이 과정에서 과거의 이동 방향이 반영되므로, 모델이 불필요한 진동 없이 더 빠르게 최적값으로 수렴할 수 있습니다.


모멘텀 최적화 vs 기본 경사 하강법

방법이동 방식수렴 속도안정성
기본 경사 하강법기울기만 따라 이동느림, 변동 심함불안정
모멘텀 최적화속도를 고려한 이동빠름, 변동 감소안정적

모멘텀 최적화는 최적화 과정에서 기울기가 계속 변하는 경우에도 안정적으로 학습할 수 있도록 도와줍니다.


모멘텀 최적화는 경사 하강법보다 빠르고 안정적인 학습을 돕습니다.

다음 수업에서는 Adam 옵티마이저를 활용한 최적화 기법에 대해 알아보겠습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!