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

최적화 알고리즘

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

최적화 알고리즘은 학습 프로세스를 구동하는 기본 엔진입니다. 머신러닝(ML)딥러닝(DL). 최적화 알고리즘의 주요 기능은 다음과 같습니다. 모델의 내부 파라미터, 특히 모델 가중치 및 편향과 같은 모델 가중치 및 편향성)을 반복적으로 조정하여 예측 중에 발생하는 오류를 최소화하는 것입니다. 를 최소화하는 것입니다. 이 과정을 안개가 자욱한 산악 지형에서 가장 낮은 지점을 찾으려는 등산객으로 시각화할 수 있습니다, 산악 지형에서 가장 낮은 지점을 찾으려는 등산객으로 시각화할 수 있습니다. 최적화 알고리즘은 등산객이 계곡의 바닥에 도달할 때까지 단계별로 내리막길을 안내합니다. 계곡의 바닥에 도달할 때까지 단계별로 등산객을 안내합니다. 손실 함수가 최소화되고 정확도가 최대화된 상태를 나타냅니다.

최적화 알고리즘 작동 방식

신경망의 훈련에는 다음과 같은 과정이 포함됩니다. 예측, 오류 계산 및 매개변수 업데이트의 지속적인 주기를 포함합니다. 최적화 알고리즘은 이 주기의 이 사이클의 "업데이트" 단계를 관리합니다. 모델이 학습 데이터의 일괄 처리를 처리한 후 훈련 데이터를 처리한 후, 시스템은 예측된 결과와 실제 결과 사이의 예측된 출력과 실제 목표 사이의 차이(손실 함수에 의해 정량화된 값)를 계산합니다.

알고리즘은 역전파라는 기술을 사용하여 알고리즘은 오차가 가장 가파르게 증가하는 방향을 나타내는 벡터인 기울기를 계산합니다. 오차를 줄이기 위해 오차를 줄이기 위해 옵티마이저는 이 기울기의 반대 방향으로 가중치를 업데이트합니다. 이 방향에서 취하는 단계의 크기는 해당 방향의 스텝의 크기는 학습 속도. 적절한 균형을 찾는 것이 핵심입니다. 단계가 너무 크면 최소값을 초과할 수 있고, 단계가 너무 작으면 훈련 속도가 느려질 수 있습니다. 수렴하는 데 많은 시간이 걸릴 수 있습니다. 종합적인 스탠포드 CS231n 최적화 노트와 같은 리소스는 이러한 문제에 대한 이러한 역학 관계에 대한 심층적인 기술적 인사이트를 제공합니다.

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

"만능" 최적화 도구는 존재하지 않으며, 아키텍처와 데이터에 따라 각기 다른 알고리즘이 뚜렷한 이점을 제공합니다. 아키텍처와 데이터에 따라 다른 이점을 제공합니다.

  • 확률적 그라디언트 하강(SGD): 가장 고전적인 접근 방식 중 하나입니다. SGD 전체 데이터 세트에 대한 기울기를 계산하는 대신 단일 예제 또는 일괄 처리를 사용하여 매개변수를 업데이트합니다. 계산상 효율적이지만 훈련 중에 가끔 진동이 발생할 수 있습니다.
  • Adam 옵티마이저: 약자 적응형 순간 추정, Adam 각 매개변수에 대해 학습 속도를 개별적으로 조정하기 때문에 최신 AI에서 널리 사용됩니다. 개별적으로 조정하기 때문에 현대 AI에 널리 사용됩니다. 이 기능은 SGD 다른 두 가지 확장 기능, 즉 AdaGradRMSProp의 장점을 결합하여 더 빠른 융합.
  • Adam : 가중치 감쇠를 그라데이션 업데이트에서 분리하여 종종 더 나은 더 나은 일반화 성능을 제공합니다. 이는 종종 트랜스포머나 트랜스포머와 같은 최신 아키텍처를 훈련할 때 를 훈련할 때 기본으로 선택하는 경우가 많습니다. Ultralytics YOLO11 모델.

실제 애플리케이션

최적화 알고리즘은 많은 정교한 AI 솔루션의 숨은 주역입니다. AI 솔루션의 숨은 주역입니다.

  1. 자율 주행 차량: In 자율 주행 자동차 시스템 물체 감지 모델은 보행자, 표지판 및 기타 차량을 매우 정밀하게 식별해야 합니다. 학습 단계에서는 최적화 알고리즘이 네트워크를 미세 조정하여 수백만 개의 주행 시나리오에서 감지 오류를 최소화합니다. 이를 통해 다음을 보장합니다. 안전에 중요한 시스템 자동차의 AI는 실시간으로 안정적으로 작동합니다.
  2. 의료 이미지 분석: 의료 분야에서 AI를 위한 도구를 개발할 때는 MRI 스캔에서 종양을 감지하는 것과 같이 의료 분야의 AI 도구를 개발할 때는 정밀도가 가장 중요합니다. 옵티마이저는 반복적으로 컨볼루션 신경망(CNN) 을 반복적으로 조정하여 오탐을 줄임으로써 모델이 악성 조직과 건강한 조직을 구별하는 방법을 효과적으로 학습하도록 합니다.

관련 개념 구분하기

머신 러닝 워크플로에서 볼 수 있는 다른 유사한 용어와 최적화 알고리즘을 구분하는 것이 도움이 됩니다.

  • 최적화 알고리즘 대 손실 함수: 손실 함수는 오차를 나타내는 숫자 값(예: 평균 제곱 제곱 오차). 최적화 알고리즘은 이 점수를 사용하여 모델의 전술(가중치)을 조정하여 다음 라운드에서 점수를 개선하는 전략가입니다. 다음 라운드에서 점수를 개선합니다.
  • 최적화 알고리즘 대 하이퍼파라미터 튜닝: 최적화 알고리즘은 학습 중에 내부 파라미터의 학습을 처리합니다. 하이퍼파라미터 튜닝 은 훈련을 시작하기 전에 최적화 도구 자체, 배치 크기 또는 초기 학습 속도 등 최적의 외부 설정을 선택하는 작업이 포함됩니다. 다음과 같은 도구 레이 튠과 같은 도구는 종종 이러한 외부 설정에 대한 검색을 자동화하는 데 종종 사용됩니다.

Python 최적화 구현하기

상위 수준 프레임워크를 사용할 때 최적화 알고리즘을 선택하는 것은 종종 단일 인수로 이루어집니다. 다음 예제는 AdamW 옵티마이저를 훈련할 때 YOLO11 모델을 사용하여 ultralytics 패키지입니다.

from ultralytics import YOLO

# Load the recommended YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the AdamW optimization algorithm
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")

사용자 지정 루프를 구현하려는 연구자와 개발자에게는 다음과 같은 라이브러리가 유용합니다. PyTorchTensorFlow 광범위한 컬렉션 제공 모든 모델 아키텍처에 쉽게 통합할 수 있는 사전 구축된 최적화 알고리즘의 광범위한 컬렉션을 제공합니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기