최적화 알고리즘이 신경망 훈련에서 의료 및 농업의 실제 애플리케이션에 이르기까지 AI 및 ML 성능을 어떻게 향상시키는지 알아보세요.
최적화 알고리즘은 머신러닝(ML) 및 딥러닝(DL) 모델의 훈련 과정을 주도하는 핵심 계산 엔진 역할을 합니다. 그 주요 임무는 예측 결과와 실제 목표값 간의 오차를 최소화하기 위해 모델 내부 가중치와 바이어스를 반복적으로 조정하는 것입니다. 이 과정을 안개 낀 산을 내려가 골짜기의 가장 낮은 지점에 도달하려는 등산객에 비유할 수 있습니다. 최적화 알고리즘은 등산객이 바닥( 손실 함수가 최소화되고 모델의 예측 정확도가 최대화되는 상태)에 도달하기 위해 내려가야 할 방향과 한 걸음의 크기를 결정하는 안내자 역할을 합니다.
신경망 훈련은 예측, 오차 계산, 매개변수 업데이트의 반복적인 순환 과정을 포함한다. 최적화 알고리즘은 이 순환의 "업데이트" 단계를 제어한다. 훈련 데이터 한 배치가 처리되면 시스템은 역전파(backpropagation)라는 방법을 사용하여 오차가 가장 가파르게 증가하는 방향을 가리키는 벡터인 기울기(gradient)를 계산한다.
최적화기는 오류를 줄이기 위해 기울기의 반대 방향으로 모델 매개변수를 업데이트합니다. 이 업데이트의 크기는 학습률이라는 핵심 하이퍼파라미터에 의해 결정됩니다. 단계가 너무 크면 모델이 전역 최소점을 지나칠 수 있으며, 너무 작으면 훈련 속도가 지나치게 느려지거나 국소 최소점에 갇힐 수 있습니다. 이러한 역학에 대한 더 깊은 기술적 통찰은 스탠퍼드 CS231n 최적화 노트와 같은 고급 자료를 통해 얻을 수 있습니다.
다양한 문제에는 각기 다른 전략이 필요합니다. 수많은 변형이 존재하지만, 현대 AI 개발을 주도하는 핵심 알고리즘은 다음과 같습니다:
최적화 알고리즘은 거의 모든 성공적인 AI 솔루션의 배경에서 조용히 작동하며, 데이터를 실행 가능한 정보로 변환합니다.
학습 과정의 다른 구성 요소들과 최적화 알고리즘을 구분하는 것이 워크플로우를 효과적으로 이해하는 데 중요합니다.
현대적인 프레임워크에서는 최적화 알고리즘 선택이 종종 단일 인수를 통해 이루어집니다. 다음 예시는
어떻게 훈련하는지 보여줍니다. YOLO26 모델을 사용하여
AdamW 최적화기 내부의 ultralytics package. Users can also leverage the
Ultralytics 플랫폼 for a no-code approach to managing these training
sessions.
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 최적화기와 같은 프레임워크는 사용자 정의 연구 아키텍처를 위해 이러한 알고리즘을 구현하고 맞춤 설정하는 방법에 대한 포괄적인 문서를 제공합니다.