특정 작업에 맞게 Ultralytics YOLO 같은 머신 러닝 모델을 미세 조정하세요. 여기에서 방법, 적용 사례 및 모범 사례를 알아보세요!
미세 조정은 기계 학습(ML) 의 기본적인 과정으로, 사전 훈련된 모델을 특정 작업이나 데이터셋에 맞게 조정하는 것을 포함합니다. 개발자들은 방대한 데이터, 시간, 계산 능력이 필요한 처음부터 훈련하는대신, 이미 ImageNet과 같은 방대한 데이터셋으로부터 일반적인 특징을 학습한 "기초 모델"을 출발점으로 삼습니다. ImageNet과 같은 방대한 데이터셋으로부터 일반적인 특징을 이미 학습한'기초 모델'을 출발점으로 삼습니다. 이 접근법은 전이 학습의 실용적 구현으로, AI 시스템이 훨씬 적은 자원으로 틈새 문제에 대해 높은 성능을 달성할 수 있게 합니다.
미세 조정의 핵심 아이디어는 모델이 이미 습득한 "지식"을 활용하는 데 있습니다. 기본 모델은 일반적으로 가장자리, 질감, 형태와 같은 기본적인 시각적 요소에 대한 탄탄한 이해를 갖추고 있습니다. 미세 조정 과정에서 모델의 매개변수(가중치)는 새로운 특수 데이터의 미묘한 차이를 수용하기 위해 약간 조정됩니다.
이러한 조정은 일반적으로 낮은 학습률을 사용한 경사 하강법을 통해 달성됩니다. 보수적인 학습률은 초기 사전 훈련 과정에서 학습된 가치 있는 특징들이 파괴되지 않고 정제되도록 보장합니다. 많은 컴퓨터 비전(CV) 워크플로우에서 엔지니어들은 보편적 특징을 detect 지하는 백본의초기 레이어를 고정하고, 최종 클래스 예측을 담당하는 탐지 헤드와 더 깊은 레이어만 업데이트할 수 있습니다.
미세 조정은 일반적인 AI 능력과 특정 산업 요구 사항 사이의 격차를 해소합니다. 이를 통해 일반적인 모델이 전문적인 전문가로 거듭날 수 있습니다.
각 접근법을 언제 사용해야 하는지 이해하기 위해서는 미세 조정과 완전 훈련을 구분하는 것이 도움이 됩니다.
현대적인 프레임워크는 이 과정을 쉽게 접근 가능하게 합니다. 예를 들어, Ultralytics 데이터셋 관리와 클라우드 훈련을 자동으로 처리함으로써 워크플로우를 간소화합니다. 그러나 개발자는 Python 사용하여 로컬에서 모델을 미세 조정할 수도 있습니다.
다음 예시는 사전 훈련된 모델을 미세 조정하는 방법을 보여줍니다.
YOLO26 사용자 정의 데이터셋으로 모델을 학습시킵니다. 우리가 로드하는 점에 유의하십시오.
yolo26n.pt (사전 훈련된 가중치)를 단순화된 구성 파일 대신 사용함으로써,
라이브러리가 전이 학습을 시작하도록 지시합니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (n=nano size)
# This automatically loads weights trained on COCO
model = YOLO("yolo26n.pt")
# Fine-tune the model on a custom dataset (e.g., 'coco8.yaml')
# The 'epochs' argument determines how many passes over the data occur
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# The model is now fine-tuned and ready for specific inference tasks
최상의 결과를 얻기 위해서는 새로운 데이터 세트의 품질이 가장 중요합니다. 데이터 증강 도구를 사용하면 이미지를 회전, 반전하거나 밝기를 조정하여 작은 데이터 세트를 인위적으로 확장함으로써 과적합을 방지할 수 있습니다. 또한 검증 손실 및 평균 정밀도(mAP) 와 같은 지표를 모니터링하면 모델이 미확인 데이터에 대해 잘 일반화되는지 확인할 수 있습니다.
복잡한 워크플로를 관리하는 경우, MLOps 전략과 실험 추적 같은 도구를 활용하면 다양한 미세 조정된 반복 작업에 대한 버전 관리를 유지하는 데 도움이 됩니다. 객체 탐지든 인스턴스 분할이든, 미세 조정은 효과적인 AI 솔루션을 배포하기 위한 업계 표준으로 남아 있습니다.