Yolo 비전 선전
선전
지금 참여하기
용어집

최적화 알고리즘

최적화 알고리즘이 신경망 훈련에서 의료 및 농업의 실제 애플리케이션에 이르기까지 AI 및 ML 성능을 어떻게 향상시키는지 알아보세요.

최적화 알고리즘은 머신러닝(ML)딥러닝(DL) 모델의 훈련 과정을 주도하는 핵심 계산 엔진 역할을 합니다. 그 주요 임무는 예측 결과와 실제 목표값 간의 오차를 최소화하기 위해 모델 내부 가중치와 바이어스를 반복적으로 조정하는 것입니다. 이 과정을 안개 낀 산을 내려가 골짜기의 가장 낮은 지점에 도달하려는 등산객에 비유할 수 있습니다. 최적화 알고리즘은 등산객이 바닥( 손실 함수가 최소화되고 모델의 예측 정확도가 최대화되는 상태)에 도달하기 위해 내려가야 할 방향과 한 걸음의 크기를 결정하는 안내자 역할을 합니다.

최적화 알고리즘 작동 방식

신경망 훈련은 예측, 오차 계산, 매개변수 업데이트의 반복적인 순환 과정을 포함한다. 최적화 알고리즘은 이 순환의 "업데이트" 단계를 제어한다. 훈련 데이터 한 배치가 처리되면 시스템은 역전파(backpropagation)라는 방법을 사용하여 오차가 가장 가파르게 증가하는 방향을 가리키는 벡터인 기울기(gradient)를 계산한다.

최적화기는 오류를 줄이기 위해 기울기의 반대 방향으로 모델 매개변수를 업데이트합니다. 이 업데이트의 크기는 학습률이라는 핵심 하이퍼파라미터에 의해 결정됩니다. 단계가 너무 크면 모델이 전역 최소점을 지나칠 수 있으며, 너무 작으면 훈련 속도가 지나치게 느려지거나 국소 최소점에 갇힐 수 있습니다. 이러한 역학에 대한 더 깊은 기술적 통찰은 스탠퍼드 CS231n 최적화 노트와 같은 고급 자료를 통해 얻을 수 있습니다.

일반적인 최적화 알고리즘 유형

다양한 문제에는 각기 다른 전략이 필요합니다. 수많은 변형이 존재하지만, 현대 AI 개발을 주도하는 핵심 알고리즘은 다음과 같습니다:

  • 확률적 경사 하강법(SGD): 전체 데이터셋이 아닌 단일 예제나 소규모 배치로 매개변수를 업데이트하는 고전적인 접근법입니다. 이 방법은 계산 효율성이 높으며 Scikit-learn과 같은 라이브러리에서 널리 사용됩니다.
  • Adam : Adaptive Moment Estimation( Adam 모멘트 Adam )의 약자로, 각 매개변수별로 학습률을 개별적으로 Adam . Kingma와 Ba의 선구적인 Adam 논문에서 상세히 설명되었으며, 속도와 수렴 특성 덕분에 범용 훈련의 기본 선택지로 자주 사용됩니다.
  • AdamW: Adam 변형 Adam 가중치 감쇠를 기울기 업데이트와 분리 Adam 더 나은 일반화 성능을 이끌어냅니다. 이는 트랜스포머와 같은 최첨단 아키텍처 및 고성능 Ultralytics 모델 훈련에 자주 선호되는 최적화기입니다.

실제 애플리케이션

최적화 알고리즘은 거의 모든 성공적인 AI 솔루션의 배경에서 조용히 작동하며, 데이터를 실행 가능한 정보로 변환합니다.

  1. 자율주행 차량: 자율주행 기술에서 물체 감지 시스템은 보행자, 신호등, 다른 차량을 순간적으로 인식해야 합니다. 자동차 AI를 위한 이러한 시스템 훈련 과정에서 최적화 알고리즘이 수백만 장의 도로 이미지를 처리하며 감지 오류를 최소화하도록 신경망을 미세 조정합니다. 이를 통해 차량은 사람을 감지할 때 확실히 정지하여 사고를 방지합니다.
  2. 의료 영상 분석: 의료 분야 인공지능(AI) 응용 사례, 예를 들어 MRI 영상에서 종양 식별과 같은 경우 정밀도는 절대 타협할 수 없는 요소입니다. 최적화 알고리즘은 컨볼루션 신경망(CNN)훈련을 유도하여 악성 조직과 정상 조직을 높은 민감도로 구분함으로써 중요한 진단에서 위음성 결과를 발생시킬 위험을 줄입니다.

관련 개념 구분하기

학습 과정의 다른 구성 요소들과 최적화 알고리즘을 구분하는 것이 워크플로우를 효과적으로 이해하는 데 중요합니다.

  • 최적화 알고리즘 vs. 손실 함수: 손실 함수는 "점수판" 역할을 하며, 모델 예측의 오차를 나타내는 수치(예: 평균 제곱 오차)를 계산합니다. 최적화 알고리즘은 이 점수를 활용해 가중치를 조정하고 다음 단계에서 성능을 개선하는 "전략가"입니다.
  • 최적화 알고리즘 대 하이퍼파라미터 튜닝: 최적화 알고리즘은 훈련 루프 동안 내부 파라미터(가중치)를 학습합니다. 하이퍼파라미터 튜닝은 훈련 시작전에 최적의 외부 설정(예: 최적화기 자체 선택, 배치 크기, 초기 학습률)을 선택하는 과정입니다. Ray Tune과 같은 자동화 도구는 이러한 외부 설정의 최적 조합을 찾는 데 흔히 사용됩니다.

Python 최적화 구현하기

현대적인 프레임워크에서는 최적화 알고리즘 선택이 종종 단일 인수를 통해 이루어집니다. 다음 예시는 어떻게 훈련하는지 보여줍니다. 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 최적화기와 같은 프레임워크는 사용자 정의 연구 아키텍처를 위해 이러한 알고리즘을 구현하고 맞춤 설정하는 방법에 대한 포괄적인 문서를 제공합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기