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

하이퍼파라미터 튜닝

하이퍼파라미터 튜닝을 마스터하여 Ultralytics YOLO 같은 ML 모델을 최적화하세요. 전문가 기법으로 정확도, 속도 및 성능을 향상하세요.

하이퍼파라미터 튜닝은 머신러닝(ML) 모델의 학습 과정을 제어하는 외부 구성 변수를 최적화하는 반복적 과정입니다. 학습 과정에서 데이터로부터 weights and biases 같은 내부 파라미터와 달리, 하이퍼파라미터는 학습 과정이 시작되기 전에 데이터 과학자나 엔지니어가 설정합니다. 이러한 설정은 모델 구조와 알고리즘 동작을 제어하며, 성능을 미세 조정하는 "손잡이와 다이얼" 역할을 합니다. 정확도와 효율성 같은 지표를 극대화하기 위해서는 이러한 값들의 이상적인 조합을 찾는 것이 중요하며, 이는 종종 평범한 모델과 최첨단 솔루션의 차이를 만듭니다.

핵심 개념과 기법

모든 가능한 하이퍼파라미터 조합을 모으면 고차원 탐색 공간이 생성됩니다. 실무자들은 이 공간을 탐색하여 손실 함수를 최소화하는 최적 구성을 찾기 위해 다양한 전략을 활용합니다.

  • 그리드 검색: 이 철저한 방법은 그리드 내 지정된 모든 매개변수 조합에 대해 모델을 평가합니다. 비록 철저하지만, 계산 비용이 많이 들고 많은 변수를 다룰 때 차원의 저주에 시달립니다.
  • 무작위 탐색: 모든 조합을 테스트하는 대신, 이 기법은 하이퍼파라미터의 무작위 조합을 선택합니다. 연구에 따르면 이는 그리드 탐색보다 종종 더 효율적이며, 가장 영향력 있는 파라미터를 위해 탐색 공간을 더 효과적으로 탐색합니다.
  • 베이즈 최적화: 이 확률적 접근법은 과거 평가 결과를 바탕으로 어떤 하이퍼파라미터가 최상의 결과를 낼지 예측하는 대리 모델을 구축하여, 가장 유망한 영역에 검색을 집중시킵니다.
  • 진화 알고리즘: 생물학적 진화에서 영감을 얻은 이 방법은 돌연변이와 교차와 같은 메커니즘을 사용하여 여러 세대에 걸쳐 구성 요소 집합을 진화시킵니다. 이는 주로 ultralytics 최적화 라이브러리 현대 아키텍처와 같은 YOLO26.

하이퍼파라미터 튜닝과 모델 트레이닝 비교

튜닝과 훈련은 MLOps 라이프사이클에서 서로 다른 단계를 나타내므로 이를 구분하는 것이 필수적입니다:

실제 애플리케이션

효과적으로 조정된 모델은 복잡한 환경에서 견고한 솔루션을 배포하는 데 매우 중요합니다.

정밀 농업

농업 분야 인공지능에서 자율 드론은 컴퓨터 비전을 활용해 잡초와 작물 질병을 식별합니다. 이러한 모델은 배터리 수명이 제한된 에지 디바이스에서 가동되는 경우가 많습니다. 엔지니어들은 하이퍼파라미터 튜닝을 통해 데이터 증강 파이프라인과 입력 해상도를 최적화하여 모델이 높은 추론 속도와 잡초만 살포하는 데 필요한 정밀도 사이의 균형을 유지하도록 합니다. 이를 통해 화학 물질 사용량을 줄일 수 있습니다.

의료 진단

의료 분야, 특히 의료 영상 분석에서 AI의 경우, 거짓 음성 판정은 심각한 결과를 초래할 수 있습니다. MRI 스캔에서 detect 모델을 훈련할 때, 실무자들은 클래스 가중치 및 초점 손실과 관련된 하이퍼파라미터를 적극적으로 조정합니다. 이러한 조정은 재현율을 극대화하여 병리의 미세한 징후조차도 인간 검토를 위해 표시되도록 보장함으로써 조기 진단에 크게 기여합니다.

Ultralytics 통한 자동화된 튜닝

그리고 ultralytics 라이브러리는 내장 기능을 포함함으로써 최적화를 단순화합니다. 튜너 유전자 알고리즘을 활용합니다. 이를 통해 사용자는 수동적인 시행착오 없이 맞춤형 데이터셋에 최적의 하이퍼파라미터를 자동으로 탐색할 수 있습니다. 대규모 작업의 경우 팀은 Ultralytics 플랫폼 데이터셋을 관리하고 이러한 튜닝 실험을 클라우드에서 시각화합니다.

다음 예제는 YOLO26 모델에 대한 하이퍼파라미터 튜닝을 시작하는 방법을 보여줍니다. 튜너는 여러 반복을 통해 하이퍼파라미터를 변형하여 평균 정밀도(mAP)를 최대화합니다.

from ultralytics import YOLO

# Initialize a YOLO26 model (using the 'nano' weight for speed)
model = YOLO("yolo26n.pt")

# Start tuning hyperparameters on the COCO8 dataset
# The tuner runs for 30 epochs per iteration, evolving parameters like lr0 and momentum
model.tune(data="coco8.yaml", epochs=30, iterations=100, optimizer="AdamW", plots=False)

이 프로세스를 자동화함으로써 개발자는 자동화된 머신 러닝(AutoML) 개념에 한 걸음 더 다가설 수 있습니다. AutoML에서는 시스템이 특정 작업에 대해 가능한 최고의 성능을 달성하기 위해 스스로 최적화합니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기