SGD AdamW 같은 최적화 알고리즘이 머신러닝 훈련을 어떻게 AdamW 알아보세요. 손실을 최소화하고 AI 애플리케이션을 위한 Ultralytics 성능을 향상시키는 방법을 배우세요.
최적화 알고리즘은 머신러닝(ML) 및 딥러닝(DL) 모델의 훈련 과정을 주도하는 핵심 계산 엔진 역할을 합니다. 그 주요 임무는 예측 결과와 실제 목표값 간의 오차를 최소화하기 위해 모델 내부 가중치와 바이어스를 반복적으로 조정하는 것입니다. 이 과정을 안개 낀 산을 내려가 골짜기의 가장 낮은 지점에 도달하려는 등산객에 비유할 수 있습니다. 최적화 알고리즘은 등산객이 바닥( 손실 함수가 최소화되고 모델의 예측 정확도가 최대화되는 상태)에 도달하기 위해 내려가야 할 방향과 한 걸음의 크기를 결정하는 안내자 역할을 합니다.
신경망 훈련은 예측, 오차 계산, 매개변수 업데이트의 반복적인 순환 과정을 포함한다. 최적화 알고리즘은 이 순환의 "업데이트" 단계를 제어한다. 훈련 데이터 한 배치가 처리되면 시스템은 역전파(backpropagation)라는 방법을 사용하여 오차가 가장 가파르게 증가하는 방향을 가리키는 벡터인 기울기(gradient)를 계산한다.
최적화기는 오류를 줄이기 위해 기울기의 반대 방향으로 모델 매개변수를 업데이트합니다. 이 업데이트의 크기는 학습률이라는 핵심 하이퍼파라미터에 의해 결정됩니다. 단계가 너무 크면 모델이 전역 최소점을 지나칠 수 있으며, 너무 작으면 훈련 속도가 지나치게 느려지거나 국소 최소점에 갇힐 수 있습니다. 이러한 역학에 대한 더 깊은 기술적 통찰은 스탠퍼드 CS231n 최적화 노트와 같은 고급 자료를 통해 얻을 수 있습니다.
다양한 문제에는 각기 다른 전략이 필요합니다. 수많은 변형이 존재하지만, 현대 AI 개발을 주도하는 핵심 알고리즘은 다음과 같습니다:
최적화 알고리즘은 거의 모든 성공적인 AI 솔루션의 배경에서 조용히 작동하며, 데이터를 실행 가능한 정보로 변환합니다.
학습 과정의 다른 구성 요소들과 최적화 알고리즘을 구분하는 것이 워크플로우를 효과적으로 이해하는 데 중요합니다.
현대적인 프레임워크에서는 최적화 알고리즘 선택이 종종 단일 인수를 통해 이루어집니다. 다음 예시는
어떻게 훈련하는지 보여줍니다. YOLO26 모델을 사용하여
AdamW 최적화기 내부의 ultralytics 패키지. 사용자는 또한 활용할 수 있습니다.
Ultralytics 플랫폼 이러한 교육 세션을 관리하기 위한
노코드 방식.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model using the 'AdamW' optimization algorithm
# The optimizer iteratively updates weights to minimize loss on the dataset
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")
하위 레벨 메커니즘에 관심이 있는 분들을 위해, PyTorch 및 TensorFlow 최적화기와 같은 프레임워크는 사용자 정의 연구 아키텍처를 위해 이러한 알고리즘을 구현하고 맞춤 설정하는 방법에 대한 포괄적인 문서를 제공합니다.