Link to this sectionYOLO26 학습 레시피#
Link to this section소개#
This guide documents the exact training recipe used to produce the official YOLO26 pretrained checkpoints on COCO. Every hyperparameter shown here is already embedded in the released .pt weights and can be inspected programmatically.
기본 모델이 어떻게 학습되었는지 이해하면 파인튜닝 시 더 나은 결정을 내리는 데 도움이 됩니다. 어떤 데이터 증강을 유지하고, 어떤 손실 함수 가중치를 조정하며, 데이터셋 크기에 어떤 옵티마이저 설정이 가장 효과적인지 파악할 수 있습니다.
이 가이드는 공식 YOLO26 체크포인트에 포함된 내용(아키텍처뿐만 아니라 성능을 결정짓는 학습률 스케줄, 증강 파이프라인, 손실 가중치 등)을 이해하고자 하는 실무자를 위한 것입니다. 이 정보를 활용하여 자신의 데이터로 파인튜닝할 때 정보에 입각한 선택을 하십시오.
Link to this section학습 인수(Args) 검사#
모든 Ultralytics 체크포인트는 이를 생성하는 데 사용된 전체 학습 구성을 저장합니다. 언제든지 다음 설정을 검사할 수 있습니다:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])이 기능은 공식 릴리스는 물론 사용자가 직접 파인튜닝한 모든 .pt 체크포인트에서 작동합니다. 구성 가능한 전체 학습 인수 목록은 학습 구성 참조를 확인하십시오.
Link to this section학습 개요#
모든 YOLO26 기본 모델은 배치 사이즈 128을 사용하고 MuSGD 옵티마이저를 적용하여 640x640 해상도의 COCO 데이터셋에서 학습되었습니다. 모델은 중간 사전 학습 가중치로부터 초기화되었으며 진화 탐색(evolutionary search)을 통해 발견된 하이퍼파라미터로 정교화되었습니다. 각 모델 크기에 대한 전체 학습 로그 및 메트릭은 Ultralytics Platform에서 확인할 수 있습니다:
모든 크기에 걸친 주요 설계 결정 사항:
- End-to-end 학습 (
end2end=True), NMS-free one-to-one 헤드 사용 - MuSGD 옵티마이저, SGD와 conv 가중치에 대한 Muon 스타일의 직교화 업데이트 결합
- 강도 높은 모자이크 증강 (~0.9-1.0 확률), 마지막 10 에폭에서는 비활성화 (
close_mosaic=10) - 공격적인 스케일 증강 (0.56-0.95), 다양한 크기의 객체를 처리하기 위함
- 최소한의 회전/전단(shear) 적용, 대부분의 크기에서 기하학적 왜곡 최소화 유지
Link to this section모델 크기별 하이퍼파라미터#
Link to this section옵티마이저 및 학습률#
| 설정 | N | S | M | L | X |
|---|---|---|---|---|---|
optimizer | MuSGD | MuSGD | MuSGD | MuSGD | MuSGD |
lr0 | 0.0054 | 0.00038 | 0.00038 | 0.00038 | 0.00038 |
lrf | 0.0495 | 0.882 | 0.882 | 0.882 | 0.882 |
momentum | 0.947 | 0.948 | 0.948 | 0.948 | 0.948 |
weight_decay | 0.00064 | 0.00027 | 0.00027 | 0.00027 | 0.00027 |
warmup_epochs | 0.98 | 0.99 | 0.99 | 0.99 | 0.99 |
epochs | 245 | 70 | 80 | 60 | 40 |
batch | 128 | 128 | 128 | 128 | 128 |
imgsz | 640 | 640 | 640 | 640 | 640 |
N 모델은 더 높은 초기 학습률과 급격한 감쇠(lrf=0.0495)를 사용한 반면, S/M/L/X 모델은 훨씬 낮은 초기 학습률과 완만한 스케줄(lrf=0.882)을 사용했습니다. 이는 소형 모델과 대형 모델 간의 서로 다른 수렴 동학을 반영하며, 소형 모델은 효과적으로 학습하기 위해 더 공격적인 업데이트가 필요합니다.
Link to this section손실 가중치#
| 설정 | N | S | M | L | X |
|---|---|---|---|---|---|
box | 5.63 | 9.83 | 9.83 | 9.83 | 9.83 |
cls | 0.56 | 0.65 | 0.65 | 0.65 | 0.65 |
dfl | 9.04 | 0.96 | 0.96 | 0.96 | 0.96 |
N 모델은 DFL 손실을 우선시하는 반면, S/M/L/X 모델은 바운딩 박스 회귀에 중점을 둡니다. 분류 손실은 모든 크기에서 비교적 일관되게 유지됩니다.
Link to this section증강 파이프라인#
각 기법에 대한 자세한 설명은 YOLO 데이터 증강 가이드를 참조하십시오.
| 설정 | N | S | M | L | X |
|---|---|---|---|---|---|
mosaic | 0.909 | 0.992 | 0.992 | 0.992 | 0.992 |
mixup | 0.012 | 0.05 | 0.427 | 0.427 | 0.427 |
copy_paste | 0.075 | 0.404 | 0.304 | 0.404 | 0.404 |
scale | 0.562 | 0.9 | 0.95 | 0.95 | 0.95 |
fliplr | 0.606 | 0.304 | 0.304 | 0.304 | 0.304 |
degrees | 1.11 | ~0 | ~0 | ~0 | ~0 |
shear | 1.46 | ~0 | ~0 | ~0 | ~0 |
translate | 0.071 | 0.275 | 0.275 | 0.275 | 0.275 |
hsv_h | 0.014 | 0.013 | 0.013 | 0.013 | 0.013 |
hsv_s | 0.645 | 0.353 | 0.353 | 0.353 | 0.353 |
hsv_v | 0.566 | 0.194 | 0.194 | 0.194 | 0.194 |
bgr | 0.106 | 0.0 | 0.0 | 0.0 | 0.0 |
더 큰 모델은 더 높은 mixup, copy-paste, scale 등 전반적으로 더 공격적인 증강을 사용합니다. 왜냐하면 큰 모델은 용량이 더 크고 더 강력한 정규화를 통해 이점을 얻기 때문입니다. N 모델은 회전, 전단, BGR 증강이 유의미하게 적용된 유일한 모델 크기입니다.
Link to this section내부 학습 매개변수#
고급: 내부 파이프라인 매개변수
체크포인트에는 내부 학습 파이프라인에서 사용되었지만 default.yaml에서 사용자가 구성 가능한 설정으로 노출되지 않는 매개변수도 포함되어 있습니다:
| 설정 | 설명 | N | S | M | L | X |
|---|---|---|---|---|---|---|
muon_w | MuSGD의 Muon 업데이트 가중치 | 0.528 | 0.436 | 0.436 | 0.436 | 0.436 |
sgd_w | MuSGD의 SGD 업데이트 가중치 | 0.674 | 0.479 | 0.479 | 0.479 | 0.479 |
cls_w | 내부 분류 가중치 | 2.74 | 3.48 | 3.48 | 3.48 | 3.48 |
o2m | 일대다 헤드 손실 가중치 | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | Top-k 라벨 할당 | 8 | 5 | 5 | 5 | 5 |
이 값들은 재현성을 위해 기록된 것이며, 파인튜닝 시에는 설정할 필요가 없습니다. 자세한 내용은 FAQ를 참조하십시오.
Link to this section파인튜닝 지침#
자신의 데이터셋으로 YOLO26을 파인튜닝할 때는 전체 사전 학습 레시피를 복제할 필요가 없습니다. 사전 학습된 가중치에는 이미 COCO 학습에서 얻은 증강 및 최적화 지식이 인코딩되어 있습니다. 더 일반적인 학습 모범 사례는 모델 학습을 위한 팁을 참조하십시오.
Link to this section간단하게 시작하기#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)기본값으로 파인튜닝하는 것이 강력한 기준(baseline)이 됩니다. 특별한 이유가 있는 경우에만 하이퍼파라미터를 조정하십시오.
Link to this section조정 시기#
소규모 데이터셋 (1,000개 미만 이미지):
- 증강 강도 감소:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - 낮은 학습률 사용:
lr0=0.001 - 더 적은 에포크와 인내심(patience) 설정 사용:
epochs=50,patience=20 - 백본 레이어 고정 고려:
freeze=10
대규모 데이터셋 (50,000개 초과 이미지):
- 사전 학습 레시피와 더 밀접하게 일치시킴
- 더 긴 실행을 위해
optimizer=MuSGD고려 - 증강 증가:
mosaic=1.0,mixup=0.3,scale=0.9
도메인 특화 이미지 (항공, 의료, 수중):
- 수직 방향이 다양한 경우
flipud=0.5증가 - 객체가 임의의 회전으로 나타나는 경우
degrees증가 - 조명 상태가 COCO와 크게 다른 경우
hsv_s및hsv_v조정
자동 하이퍼파라미터 최적화에 대해서는 하이퍼파라미터 튜닝 가이드를 참조하십시오.
Link to this section모델 크기 선택#
| 모델 | 용도 | 배치 크기 지침 |
|---|---|---|
| YOLO26n | 엣지 디바이스, 모바일, CPU에서의 실시간 처리 | 소비자용 GPU에서의 대규모 배치 (64-128) |
| YOLO26s | 속도와 정확도의 균형 | 중간 규모 배치 (32-64) |
| YOLO26m | 적당한 컴퓨팅 자원으로 더 높은 정확도 달성 | 소규모 배치 (16-32) |
| YOLO26l | GPU 사용 가능 시 높은 정확도 | 소규모 배치 (8-16) 또는 멀티 GPU |
| YOLO26x | 최대 정확도, 서버 배포 | 초소형 배치 (4-8) 또는 멀티 GPU |
내보내기 및 배포 옵션은 내보내기 가이드 및 모델 배포 옵션을 참조하십시오.
Link to this sectionFAQ#
Link to this section체크포인트에 사용된 정확한 하이퍼파라미터는 어떻게 확인합니까?#
torch.load()로 체크포인트를 로드하여 train_args 키에 접근하거나, Ultralytics API에서 model.ckpt["train_args"]를 사용하십시오. 전체 예제는 학습 인수 검사하기를 참조하십시오.
Link to this section모델 크기마다 에포크 수가 다른 이유는 무엇입니까?#
더 큰 모델은 용량이 더 크기 때문에 COCO에서 더 빠르게 수렴합니다. N 모델은 245 에포크가 필요했지만 X 모델은 40 에포크만 필요했습니다. 자신의 데이터셋으로 파인튜닝할 때는 최적의 에포크 수가 모델 크기가 아닌 데이터셋의 크기와 복잡성에 따라 결정됩니다. 조기 종료(patience)를 사용하여 올바른 종료 지점을 자동으로 찾으십시오.
Link to this section파인튜닝에 MuSGD를 사용해야 합니까?#
optimizer=auto(기본값)인 경우, Ultralytics는 더 긴 학습 실행(10,000회 반복 초과)에는 MuSGD를, 더 짧은 실행에는 AdamW를 자동으로 선택합니다. 원하신다면 optimizer=MuSGD로 명시적으로 설정할 수 있습니다. 옵티마이저 선택에 대한 자세한 내용은 학습 문서를 참조하십시오.
Link to this section체크포인트의 muon_w, sgd_w, cls_w, o2m, topk는 무엇입니까?#
이는 기본 체크포인트를 생성한 학습 파이프라인의 내부 파라미터입니다. 재현성을 위해 저장된 것이며 default.yaml에서 사용자가 구성할 수 있는 설정은 아닙니다. 파인튜닝할 때 이를 설정할 필요는 없습니다. 자세한 내용은 내부 학습 파라미터를 참조하십시오.
Link to this section처음부터 정확한 사전 학습을 재현할 수 있습니까?#
해당 체크포인트는 공개 코드베이스에는 없는 추가 기능(구성 가능한 o2m 가중치 및 cls_w 등)을 포함한 내부 학습 브랜치를 사용하여 생성되었습니다. 공개 Ultralytics 패키지와 이 페이지에 문서화된 하이퍼파라미터를 사용하여 매우 근접한 결과를 얻을 수는 있지만, 정확한 재현을 위해서는 내부 브랜치가 필요합니다.