Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Momentum (Optimization)

모멘텀 최적화는 과거의 그래디언트를 활용해 모델 학습을 가속하고, 노이즈가 있는 업데이트를 완화하며, 학습률과의 균형을 유지하면서 수렴을 개선합니다.

모멘텀은 그래디언트 기반 학습에 이전 업데이트의 정보를 반영하는 최적화 기법입니다. 현재 그래디언트와 이전 그래디언트의 감쇠 이력을 결합해 일관된 방향으로의 이동 속도를 높이고 앞뒤로 반복되는 움직임을 줄입니다. 이를 통해 머신 러닝 모델은 학습 목적 함수를 더 효율적으로 최소화할 수 있습니다. 검색 엔진 최적화는 웹사이트 노출과 관련이 있지만, 모멘텀은 모델 파라미터의 수치 업데이트와 관련이 있습니다.

모멘텀의 작동 방식#

경사 하강법에서 모델은 가중치를 그래디언트의 반대 방향으로 이동시킵니다. 그래디언트는 손실 함수가 가장 빠르게 증가하는 방향입니다. Polyak 모멘텀 또는 헤비볼 방법이라고도 하는 고전적 모멘텀은 이 움직임에 관성을 더합니다. Boris Polyak은 반복 방법 가속에 관한 1964년 연구에서 이 방법을 소개했습니다.

옵티마이저는 파라미터마다 하나씩 누적값을 보유하는 속도 버퍼를 유지합니다. 각 업데이트에서 이전 버퍼에 모멘텀 계수를 곱하고 현재 그래디언트를 더한 다음, 그 결과 버퍼에 학습률을 곱해 가중치에서 뺍니다. 신경망에서는 역전파가 그래디언트를 제공하며, 옵티마이저는 업데이트 사이에 버퍼를 유지합니다.

모멘텀은 손실 표면이 길게 늘어난 경우 특히 유용합니다. 이러한 표면에서는 골짜기를 가로지르는 방향의 곡률은 가파르고, 골짜기 바닥을 따라가는 방향의 곡률은 완만합니다. 골짜기를 따라 반복해서 향하는 그래디언트는 누적되는 반면, 골짜기를 가로지르는 방향에서 번갈아 나타나는 성분은 서로 일부 상쇄됩니다. 확률적 경사 하강법에서는 이러한 기억 기능이 미니배치 간 변동도 완화합니다. 모멘텀의 이차 손실 동역학을 살펴보면 모멘텀이 가속을 제공하는 동시에 최소점 근처에서 진동을 유발할 수 있는 이유를 알 수 있습니다.

일반적으로 베타 또는 뮤로 표기하는 모멘텀 계수는 보통 0과 1 사이의 값입니다. 값이 0이면 일반 경사 하강법과 같아지고, 값이 1에 가까울수록 이전 그래디언트를 더 오래 유지합니다. 0.9는 흔히 사용하는 시작값입니다. 정규화하지 않은 속도 버퍼에서 그래디언트가 일정하면, 계수가 0.9일 때 누적 속도는 해당 그래디언트의 10배에 가까워지고 0.99일 때는 100배에 가까워집니다. 따라서 하이퍼파라미터 튜닝에서 모멘텀과 학습률은 서로 큰 영향을 줍니다.

지나치게 공격적인 조합은 오버슈트를 일으킵니다. 업데이트가 최소점을 반복해서 넘어가면서 손실이 진동하거나 발산합니다. 이 현상은 매끄러운 이차 목적 함수에서도 발생합니다. 학습률 스케줄은 학습 중 업데이트 크기를 변경하고, 모멘텀은 방향 이력을 얼마나 유지할지 결정합니다.

서로 밀접하게 관련된 두 가지 최적화 알고리즘은 이 이력을 서로 다른 방식으로 활용합니다.

  • 네스테로프 모멘텀은 유지된 속도를 이용해 얻은 미래 위치에서 그래디언트를 계산하므로, 그래디언트가 예상 이동을 보정할 수 있습니다.
  • Adam은 지수 가중 그래디언트 평균과 업데이트를 파라미터별로 조정하는 제곱 그래디언트 평균을 결합합니다. beta1은 그래디언트 기억을 제어합니다.

간단한 PyTorch 예제#

이 PyTorch 예제는 길게 늘어난 이차 목적 함수에서 시작점과 학습률을 동일하게 설정해 비교합니다. 공식 SGD 구현은 모멘텀 버퍼를 자동으로 관리합니다.

import torch

# Curvature is 50 times greater along the second coordinate.
scale = torch.tensor([1.0, 50.0])

for momentum in (0.0, 0.9):
    weights = torch.tensor([5.0, 1.0], requires_grad=True)
    optimizer = torch.optim.SGD([weights], lr=0.015, momentum=momentum)

    for step in range(100):
        optimizer.zero_grad()
        loss = (scale * weights.square()).sum()
        loss.backward()
        optimizer.step()

    final_loss = (scale * weights.square()).sum().item()
    print(f"Momentum {momentum}: loss = {final_loss:.6f}")

업데이트 100회 후 손실은 모멘텀이 없을 때 약 0.056531, 모멘텀이 있을 때 약 0.000216입니다. 누적된 방향 이력은 완만한 좌표를 따라가는 진행 속도를 높입니다.

컴퓨터 비전 학습에서의 활용#

모멘텀은 이미지 분류 및 객체 탐지를 위한 합성곱 신경망 학습을 지원합니다. Ultralytics YOLO 학습에서는 optimizer="SGD"를 선택하면 네스테로프 모멘텀이 활성화되고, momentum 설정은 유지되는 업데이트 이력을 제어합니다. 트레이너 구현은 nesterov=True을 사용해 해당 계수를 옵티마이저에 전달합니다.

대표적인 적용 사례는 ImageNet을 위한 최초의 ResNet 학습 절차입니다. 해당 모델은 모멘텀 0.9를 적용한 SGD, 256의 배치 크기, 가중치 감쇠 0.0001, 그리고 오류가 정체되면 10분의 1로 줄이는 초기 학습률 0.1을 사용했습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요