가속도를 활용한 모멘텀 최적화
모멘텀(Momentum)
최적화는 기본 경사 하강법의 단점을 보완하여 더 빠르고 안정적인 학습을 가능하게 하는 기법입니다.
기본적인 경사 하강법은 현재 기울기를 따라 한 단계씩 이동하지만, 모멘텀 최적화는 이전 이동 방향의 영향을 반영하여 보다 부드럽고 일관된 방향으로 학습을 진행합니다.
이를 물리학적으로 비유하면, 공이 경사면을 따라 구를 때 가속도가 붙어 이전 이동 방향의 영향을 지속적으로 받는 것과 유사합니다.
공은 이전의 움직임을 유지하려는 관성을 가지며, 갑자기 멈추지 않고 보다 부드럽게 최적점(최적 가중치 방향)으로 이동합니다.
-
일반 경사 하강법: 한 걸음씩 이동 (갑작스러운 방향 변화 가능)
-
모멘텀 최적화: 이전 이동 방향을 고려하여 부드럽게 이동
모멘텀 최적화는 기울기 변동이 심한 경우(예: 경사가 급격히 변하는 손실 함수) 모델이 더욱 안정적으로 수렴하도록 도와줍니다.
모멘텀 최적화의 동작 방식
모멘텀 최적화는 다음 두 가지 방식으로 동작합니다.
1. 속도(velocity) 변수 추가
기존 경사 하강법에서는 가중치(W)를 직접 업데이트했습니다.
모멘텀 최적화는 이전 기울기의 영향을 고려하기 위해 속도(velocity)
변수를 추가합니다.
- : 현재 속도 (기울기의 변화량을 누적)
- : 모멘텀 계수 (일반적으로 0.9 사용)
- : 학습률 (Learning Rate)
- : 현재 기울기(Gradient)
2. 가중치 업데이트
속도를 이용하여 가중치를 조정합니다.
기존 가중치: 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 강의를 등록해 주세요!