Ultralytics YOLO 하이퍼파라미터 튜닝 가이드#
Ultralytics YOLO의 하이퍼파라미터 튜닝은 학습률, 손실 가중치, 증강 강도와 같은 설정을 자동으로 반복 탐색하여 정확도, 정밀도, 재현율과 같은 머신러닝 모델의 성능 지표를 최대화하는 과정입니다. 이러한 값을 직접 테스트하는 대신, Ultralytics YOLO는 유전 알고리즘을 사용해 하이퍼파라미터 공간을 탐색하고 여러 번의 짧은 학습 실행을 통해 후보 구성을 변형하고 평가합니다.
시청: 더 나은 모델 성능을 위한 하이퍼파라미터 튜닝 방법 🚀
하이퍼파라미터란 무엇인가요?#
하이퍼파라미터는 알고리즘의 상위 수준 구조 설정입니다. 학습 단계가 시작되기 전에 설정하며 학습 중에는 일정하게 유지됩니다. 다음은 Ultralytics YOLO에서 일반적으로 튜닝하는 하이퍼파라미터입니다:
- 학습률
lr0: 손실 함수의 최솟값을 향해 이동할 때 각 반복에서 적용되는 단계 크기를 결정합니다. - 배치 크기
batch: 순전파 과정에서 동시에 처리되는 이미지 수입니다. - 에포크 수
epochs: 에포크는 모든 학습 예제에 대해 순전파와 역전파를 한 번씩 완료하는 과정입니다. - 아키텍처 세부 사항: 채널 수, 레이어 수, 활성화 함수 유형 등이 여기에 해당합니다. 이러한 설정은 학습 인수가 아니라 모델 YAML 구성에 지정됩니다.
이 네 가지 중 기본 검색 공간에 포함되는 것은 학습률뿐입니다. batch, epochs, 아키텍처는 고정된 상태로 유지됩니다. 튜너는 아래에 나열된 스케줄, 손실 계수, 증강도 변형합니다.
YOLO26에서 사용하는 증강 하이퍼파라미터의 전체 목록은 구성 페이지를 참조하세요.
유전적 진화와 변이#
Ultralytics YOLO는 하이퍼파라미터를 최적화하기 위해 유전 알고리즘을 사용합니다. 유전 알고리즘은 자연 선택과 유전의 메커니즘에서 착안했습니다.
- 선택: 각 반복에서 최대 9개의 적합도가 가장 높은 구성 중 하나를 적합도에 비례하는 가중치로 선택합니다. 결과가 30개에 도달하면 전체 결과 중 상위 20%(최대 30개)를 통해 파라미터 공분산도 추정하며, 엘리트 데이터가 쌓일수록 그 영향력이 커집니다.
- 변이: 각 반복에서 정규화된 탐색 범위를 기준으로 정규분포 단계값을 적용해 파라미터의 약 절반을 변이시킵니다. 공분산이 활성화되면 신뢰도로 가중된 비율 중 최대 40%에 상관된 단계값을 적용합니다. 반사 처리를 통해 이 단계값을 범위 내로 되돌리며, 범위를 벗어난 값이 누적되지 않도록 합니다. 개선 없이 시도가 누적되면 25회 시도 동안 단계 크기를 최대 20%까지 선형으로 줄이고, 새로운 최적 결과가 나오면 초기화합니다. 1회 반복에는 부모가 없으며 기본 학습 하이퍼파라미터를 기준선으로 사용합니다.
하이퍼파라미터 튜닝 준비#
튜닝을 시작하기 전에 다음 사항을 확인해야 합니다:
- 지표 식별: 기본 제공 튜너(
use_ray=False)는 작업의fitness점수를 기준으로 시도를 순위화하고,use_ray=True는 작업 지표를 사용합니다. AP50 또는 F1 점수와 같이 확인할 보조 지표를 결정하세요. - 튜닝 예산 설정: 할당할 컴퓨팅 리소스의 규모를 정하세요. 하이퍼파라미터 튜닝에는 많은 컴퓨팅 리소스가 필요할 수 있습니다.
튜닝 루프 작동 방식#
기본 제공 튜너는 각 반복에서 다음 루프를 반복합니다:
- 하이퍼파라미터 초기화 — Ultralytics YOLO가 설정한 기본 하이퍼파라미터 또는 도메인 지식이나 이전 실험에 기반한 값 중 적절한 기준선에서 시작합니다.
- 하이퍼파라미터 변이 —
Tuner클래스는_mutate메서드를 사용해 기존 세트에서 새로운 하이퍼파라미터 세트를 자동으로 생성합니다. - 모델 학습 — 변이된 하이퍼파라미터로 모델을 학습한 다음, 선택한 지표로 학습 성능을 평가합니다.
- 모델 평가 — 평가 과정에서 해당 반복의 적합도 점수를 산출합니다. 이 점수를 이전 반복의 점수와 비교해 현재 하이퍼파라미터가 개선되었는지 판단합니다.
- 결과 기록 — 향후 참조를 위해 성능 지표와 해당 하이퍼파라미터를 모두 기록합니다. Ultralytics YOLO는 이러한 결과를 NDJSON 형식으로 자동 저장합니다.
- 반복 — 지정된 반복 횟수에 도달할 때까지 계속 진행하며, 각 반복은 이전 실행에서 얻은 지식을 바탕으로 이루어집니다. 기본 제공 튜너는 모든
iterations을 실행합니다. Ray Tune은 각 피팅 에포크 후 지표를 보고하므로 ASHA는 유예 기간이 지난 후 성능이 낮은 시도를 중단할 수 있습니다.
반복 횟수와 모집단 크기#
기본 제공 튜너(use_ray=False)에서 iterations은 순차 시도의 총 횟수를 제어하며 기본값은 300입니다. 각 시도에서는 하나의 하이퍼파라미터 구성으로 모델 하나를 학습합니다. 예를 들어 iterations=40와 epochs=50을 사용하면 후보 40개로 이루어진 별도 모집단을 한 번의 50에포크 실행에 사용하는 것이 아니라, 서로 독립적인 50에포크 학습 실행 40회를 예약합니다.
기본 제공 유전 알고리즘에는 명시적인 모집단 크기 파라미터가 없습니다. 이전 시도가 존재하면 적합도가 가장 높은 구성 중 최대 9개를 선택하고, 반복마다 후보 하나를 변이시킵니다.
병렬 시도 또는 더 고급 검색 전략을 사용하려면 use_ray=True을 설정해 Ray Tune을 사용하세요. Ray Tune은 동일한 기본 시도 횟수 300을 사용하며 iterations을 num_samples로 전달받습니다. 자세한 내용은 Ray Tune 통합 가이드를 참조하세요.
기본 검색 공간#
다음 표에는 YOLO26 하이퍼파라미터 튜닝의 기본 검색 공간 파라미터가 나와 있습니다. 각 파라미터에는 튜플 (min, max)로 정의된 특정 값 범위가 있습니다.
| 매개변수 | 유형 | 값 범위 | 설명 |
|---|---|---|---|
lr0 | float | (1e-5, 1e-2) | 학습 시작 시의 초기 학습률입니다. 값이 낮으면 학습이 더 안정적이지만 수렴 속도는 느려집니다. |
lrf | float | (0.01, 1.0) | lr0의 비율로 나타낸 최종 학습률 계수입니다. 학습 중 학습률이 감소하는 정도를 제어합니다. |
momentum | float | (0.7, 0.98) | SGD 모멘텀 계수입니다. 값이 높으면 일관된 그래디언트 방향을 유지하는 데 도움이 되며 수렴 속도를 높일 수 있습니다. |
weight_decay | float | (0.0, 0.001) | 과적합을 방지하기 위한 L2 정규화 계수입니다. 값이 클수록 정규화가 강해집니다. |
warmup_epochs | float | (0.0, 5.0) | 선형 학습률 워밍업 에포크 수입니다. 학습 초기의 불안정성을 방지하는 데 도움이 됩니다. |
warmup_momentum | float | (0.0, 0.95) | 워밍업 단계의 초기 모멘텀입니다. 최종 모멘텀 값까지 점차 증가합니다. |
box | float | (1.0, 20.0) | 전체 손실 함수에서 BBox 손실의 가중치입니다. BBox 회귀와 분류 간 균형을 조정합니다. |
cls | float | (0.1, 4.0) | 전체 손실 함수에서 분류 손실의 가중치입니다. 값이 높을수록 올바른 클래스 예측을 강조합니다. |
cls_pw | float | (0.0, 1.0) | 클래스 불균형 처리를 위한 클래스 가중치 계수입니다. 값이 높을수록 희소 클래스의 가중치가 커집니다. |
dfl | float | (0.4, 12.0) | BBox 거리 회귀 항의 가중치입니다. DFL을 사용하지 않는 YOLO26은 이 계수를 정규화된 BBox 거리에 대한 L1 손실에 적용합니다. 값이 높을수록 정밀한 위치 지정이 강조됩니다. |
hsv_h | float | (0.0, 0.1) | HSV 색 공간에서 임의의 색조 증강 범위입니다. 모델이 색상 변화에 일반화하는 데 도움이 됩니다. |
hsv_s | float | (0.0, 0.9) | HSV 공간에서 임의의 채도 증강 범위입니다. 다양한 조명 조건을 시뮬레이션합니다. |
hsv_v | float | (0.0, 0.9) | 임의의 명도(밝기) 증강 범위입니다. 모델이 다양한 노출 수준에 대응하는 데 도움이 됩니다. |
degrees | float | (0.0, 45.0) | 최대 회전 증강 각도(도)입니다. 모델이 객체 방향에 불변하도록 돕습니다. |
translate | float | (0.0, 0.9) | 이미지 크기에 대한 비율로 나타낸 최대 이동 증강 값입니다. 객체 위치 변화에 대한 강건성을 높입니다. |
scale | float | (0.0, 0.95) | 임의 스케일 증강 범위입니다. 모델이 다양한 크기의 객체를 감지하는 데 도움이 됩니다. |
shear | float | (0.0, 10.0) | 최대 전단 증강 각도(도)입니다. 학습 이미지에 원근 왜곡과 유사한 변형을 추가합니다. |
perspective | float | (0.0, 0.001) | 임의 원근 증강 범위입니다. 다양한 시점을 시뮬레이션합니다. |
flipud | float | (0.0, 1.0) | 학습 중 이미지 수직 뒤집기를 적용할 확률입니다. 항공 및 위성 이미지에 유용합니다. |
fliplr | float | (0.0, 1.0) | 이미지 수평 뒤집기를 적용할 확률입니다. 모델이 객체 방향에 불변하도록 돕습니다. |
bgr | float | (0.0, 1.0) | 색상 채널을 바꾸는 BGR 증강을 사용할 확률입니다. 색상 불변성을 높이는 데 도움이 될 수 있습니다. |
mosaic | float | (0.0, 1.0) | 이미지 4장을 결합하는 모자이크 증강을 사용할 확률입니다. 작은 객체 감지에 특히 유용합니다. |
mixup | float | (0.0, 1.0) | 이미지 두 장을 혼합하는 MixUp 증강을 사용할 확률입니다. 모델의 강건성을 높일 수 있습니다. |
cutmix | float | (0.0, 1.0) | CutMix 증강을 사용할 확률입니다. 지역 특징을 유지하면서 이미지 영역을 결합합니다. |
copy_paste | float | (0.0, 1.0) | flip 모드에서는 복사 가능한 객체 중 복사할 비율이며, mixup 모드에서는 이를 적용할 확률도 포함합니다. |
close_mosaic | int | (0.0, 10.0) | 학습 완료 전에 안정화를 위해 마지막 N개 에포크에서 모자이크를 비활성화합니다. 실수로 변이된 후 정수 에포크 수로 반올림됩니다. |
사용자 지정 검색 공간 예제#
다음은 검색 공간을 정의하고 model.tune() 메서드를 사용해 Tuner 클래스로 COCO8에서 YOLO26n을 30에포크 동안 AdamW 옵티마이저로 하이퍼파라미터 튜닝하는 방법입니다. 튜닝 속도를 높이기 위해 플로팅, 체크포인트 저장, 마지막 에포크 이외의 검증은 건너뜁니다.
이 예제는 시연용일 뿐입니다. 짧거나 소규모로 실행한 튜닝에서 도출된 하이퍼파라미터가 실제 학습에 최적인 경우는 드뭅니다. 신뢰할 수 있고 다른 상황에도 적용 가능한 결과를 얻으려면 실제로는 비슷한 데이터셋, 에포크 수, 증강을 포함해 전체 학습과 유사한 설정으로 튜닝해야 합니다. 빠른 튜닝은 일반화되지 않는 빠른 수렴이나 단기 검증 성능 향상에 파라미터가 편향되도록 만들 수 있습니다.
from ultralytics import YOLO
# YOLO 모델 초기화
model = YOLO("yolo26n.pt")
# 검색 공간 정의
search_space = {
"lr0": (1e-5, 1e-2),
"degrees": (0.0, 45.0),
}
# COCO8에서 30에포크 동안 하이퍼파라미터 튜닝
model.tune(
data="coco8.yaml",
epochs=30,
iterations=300,
optimizer="AdamW",
space=search_space,
plots=False,
save=False,
val=False,
)중단된 하이퍼파라미터 튜닝 세션 재개#
resume=True을 전달하면 중단된 하이퍼파라미터 튜닝 세션을 재개할 수 있습니다. 선택적으로 재개에 사용할 runs/{task} 아래의 디렉터리 name을 전달할 수도 있습니다. name을 지정하지 않으면 가장 최근에 실행한 세션이 아니라 기본 이름인 tune라는 디렉터리를 그대로 재개하므로, 사용자 지정 이름으로 시작한 실행은 name를 전달해야 합니다. 또한 data, epochs, iterations, space를 포함한 이전 학습 인수를 모두 제공해야 합니다.
from ultralytics import YOLO
# YOLO 모델 정의
model = YOLO("yolo26n.pt")
# 검색 공간 정의
search_space = {
"lr0": (1e-5, 1e-2),
"degrees": (0.0, 45.0),
}
# 이전 실행 재개
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, resume=True)
# 이름이 'tune_exp'인 튜닝 실행 재개
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, name="tune_exp", resume=True)결과#
하이퍼파라미터 튜닝을 성공적으로 완료하면 튜닝 결과가 담긴 여러 파일과 디렉터리가 생성됩니다. 각 항목은 다음과 같습니다:
파일 구조#
결과 디렉터리 구조는 다음과 같습니다. multitrain/ 및 multitrain-2/과 같은 스윕 디렉터리에는 각 튜닝 반복의 실행 결과가 저장됩니다. 즉, 데이터셋별 하위 디렉터리에 하이퍼파라미터 한 세트로 학습한 모델 하나가 저장됩니다. 저장 공간을 절약하기 위해 튜너는 현재 최적 결과가 아닌 반복의 데이터셋별 실행 디렉터리를 삭제합니다. tune/ 디렉터리에는 개별 모델 학습의 튜닝 결과가 모두 들어 있습니다:
runs/
└── detect/
├── multitrain/
│ └── coco8/
├── multitrain-2/
├── ...
└── tune/
├── best_hyperparameters.yaml
├── tune_fitness.png
├── tune_results.ndjson
├── tune_scatter_plots.png
└── weights/
├── last.pt
└── best.pt파일 설명#
best_hyperparameters.yaml#
이 YAML 파일에는 튜닝 과정에서 찾은 성능이 가장 좋은 하이퍼파라미터가 들어 있습니다. 이 파일을 사용해 최적화된 설정으로 이후 학습을 초기화할 수 있습니다.
-
형식: YAML
-
용도: 하이퍼파라미터 결과
-
예제:
# 558/900 iterations complete ✅ (45536.81s) # Results saved to /usr/src/ultralytics/runs/detect/tune # Best fitness=0.64297 observed at iteration 498 # Best fitness metrics are {'metrics/precision(B)': 0.87247, 'metrics/recall(B)': 0.71387, 'metrics/mAP50(B)': 0.79106, 'metrics/mAP50-95(B)': 0.62651, 'val/box_loss': 2.79884, 'val/cls_loss': 2.72386, 'val/l1_loss': 0.68503, 'fitness': 0.64297} # Best fitness model is /usr/src/ultralytics/runs/detect/tune/weights # Best fitness hyperparameters are printed below. lr0: 0.00269 lrf: 0.00288 momentum: 0.73375 weight_decay: 0.00015 warmup_epochs: 1.22935 warmup_momentum: 0.1525 box: 18.27875 cls: 1.32899 dfl: 0.56016 hsv_h: 0.01148 hsv_s: 0.53554 hsv_v: 0.13636 degrees: 0.0 translate: 0.12431 scale: 0.07643 shear: 0.0 perspective: 0.0 flipud: 0.0 fliplr: 0.08631 mosaic: 0.42551 mixup: 0.0 copy_paste: 0.0
tune_fitness.png#
이 파일은 반복 횟수에 따른 적합도를 표시한 그래프입니다. 시간의 흐름에 따라 유전 알고리즘이 어떻게 작동했는지 확인할 수 있습니다.
- 형식: PNG
- 용도: 성능 시각화
그래프에는 다음이 포함됩니다:
- 데이터셋별 각 반복의 마커 하나. 따라서 단일 데이터셋 실행에서는 반복마다 점 하나가 표시되고, 여러 데이터셋을 사용하는 실행에서는 반복마다 데이터셋별로 점 하나가 표시됩니다.
- 점선으로 표시된 '평활화된 평균' 선은 반복별 최상위 적합도 값에 가우시안 평활화(
sigma=3)를 적용해 계산합니다.
tune_results.ndjson#
각 튜닝 반복의 상세 결과를 담은 NDJSON 파일입니다. 각 줄은 통합 적합도, 튜닝된 하이퍼파라미터, 데이터셋별 지표를 포함한 JSON 객체 하나로 구성됩니다. 단일 데이터셋 튜닝과 여러 데이터셋 튜닝은 동일한 파일 형식을 사용합니다.
- 형식: NDJSON
- 용도: 반복별 결과 추적
- 예제:
가독성을 위해 아래에 보기 좋게 정렬한 예제를 표시합니다. 실제 .ndjson 파일에서는 각 객체가 한 줄에 저장됩니다.
{
"iteration": 1,
"fitness": 0.48628,
"hyperparameters": {
"lr0": 0.01,
"lrf": 0.01,
"momentum": 0.937,
"weight_decay": 0.0005
},
"datasets": {
"coco8": {
"metrics/precision(B)": 0.65666,
"metrics/recall(B)": 0.85,
"metrics/mAP50(B)": 0.85086,
"metrics/mAP50-95(B)": 0.64104,
"val/box_loss": 1.57958,
"val/cls_loss": 1.04986,
"val/l1_loss": 1.32641,
"fitness": 0.64104
},
"coco8-grayscale": {
"metrics/precision(B)": 0.6582,
"metrics/recall(B)": 0.51667,
"metrics/mAP50(B)": 0.59106,
"metrics/mAP50-95(B)": 0.33152,
"val/box_loss": 1.95424,
"val/cls_loss": 1.64059,
"val/l1_loss": 1.70226,
"fitness": 0.33152
}
},
"save_dirs": {
"coco8": "runs/detect/multitrain/coco8",
"coco8-grayscale": "runs/detect/multitrain/coco8-grayscale"
}
}최상위 fitness은 데이터셋별 fitness 값의 산술 평균입니다. 단일 데이터셋 튜닝에서 datasets 딕셔너리에는 항목이 하나 있으며, 해당 항목의 fitness은 최상위 fitness와 같습니다. 완료된 반복마다 JSON 객체 하나가 기록됩니다. 실제 save_dirs 경로는 절대 경로이며, 위 예제에서는 가독성을 위해 축약했습니다.
tune_scatter_plots.png#
이 파일에는 tune_results.ndjson에서 생성한 산점도가 포함되어 있어 다양한 하이퍼파라미터와 성능 지표 간의 관계를 확인할 수 있습니다. 변이에는 각 하이퍼파라미터에 설정된 범위가 사용되므로 degrees 및 shear와 같이 기본값이 0인 값도 변할 수 있습니다.
- 형식: PNG
- 용도: 탐색적 데이터 분석
weights/#
이 디렉터리에는 튜닝 실행에서 적합도가 가장 높았던 반복의 저장된 PyTorch 모델이 들어 있습니다. 두 파일은 모두 동일한 반복에서 생성됩니다:
last.pt: last.pt는 학습의 마지막 에포크에서 저장한 가중치입니다.best.pt: best.pt는 적합도 점수가 가장 높았던 반복의 가중치입니다.
이러한 결과를 바탕으로 이후 모델 학습과 분석에 대해 더 정확한 결정을 내릴 수 있습니다.
결론#
Ultralytics YOLO의 하이퍼파라미터 튜닝은 시작하기 쉽고 내부적으로 강력한 기능을 제공합니다. 유전 알고리즘에서 적합도 가중 선택과 범위 정규화 돌연변이를 사용합니다. 이 가이드에 설명된 반복 과정을 따르면 모델을 체계적으로 튜닝해 성능을 향상시킨 다음, 결과로 얻은 best_hyperparameters.yaml을 재사용해 향후 학습 실행을 초기화할 수 있습니다. 병렬 시험과 고급 검색 알고리즘을 활용해 튜닝 규모를 확장하려면 Ray Tune 통합 가이드를 계속 살펴보거나, 클라우드 학습을 통해 Ultralytics Platform에서 하이퍼파라미터를 구성하고 실시간 메트릭을 추적하는 관리형 작업을 실행하세요.
레이어별 학습률이나 사용자 지정 적합도 메트릭처럼 인수로 설정할 수 없는 항목은 대신 트레이너를 서브클래싱하세요. 더 자세한 내용을 알아보려면 Tuner 클래스 소스 코드를 살펴보세요. 질문이나 기능 요청이 있으면 GitHub 또는 Discord로 문의해 주세요.
자주 묻는 질문#
lr0매개변수로 초기값을 설정하세요. 일반적으로 값은0.001부터0.01까지이며, 튜닝 과정에서 값을 변이시켜 최적값을 찾습니다.model.tune()메서드로 이 과정을 자동화할 수 있습니다. 예를 들면 다음과 같습니다.예제from ultralytics import YOLO # YOLO 모델 초기화 model = YOLO("yolo26n.pt") # COCO8에서 30에포크 동안 하이퍼파라미터 튜닝 model.tune(data="coco8.yaml", epochs=30, iterations=300, optimizer="AdamW", plots=False, save=False, val=False)자세한 내용은 Ultralytics YOLO 구성 페이지를 확인하세요.
Ultralytics YOLO26의 유전 알고리즘은 하이퍼파라미터 공간을 탐색하는 강력한 방법으로, 모델 성능을 크게 최적화할 수 있습니다. 주요 이점은 다음과 같습니다.
- 효율적인 검색: 적합도 가중 선택은 성능이 좋은 구성을 유지하고, 범위 정규화 돌연변이는 새로운 후보를 탐색합니다.
- 지역 최솟값 회피: 무작위성을 도입해 지역 최솟값에 빠지지 않도록 하여 전역 최적화를 개선합니다.
- 성능 메트릭: 작업별 적합도 점수(탐지의 경우 mAP50-95)를 바탕으로 조정됩니다.
유전 알고리즘이 하이퍼파라미터를 최적화하는 방법을 알아보려면 하이퍼파라미터 진화 가이드를 확인하세요.
Ultralytics YOLO의 하이퍼파라미터 튜닝에 필요한 시간은 데이터셋 크기, 모델 아키텍처의 복잡도, 반복 횟수, 사용 가능한 컴퓨팅 리소스 등 여러 요인에 따라 크게 달라집니다. 예를 들어 COCO8과 같은 데이터셋에서 YOLO26n을 30 epoch 동안 튜닝하는 데는 하드웨어에 따라 몇 시간에서 며칠까지 걸릴 수 있습니다.
튜닝 시간을 효과적으로 관리하려면 하이퍼파라미터 튜닝 준비에서 설명한 것처럼 사전에 명확한 튜닝 예산을 설정하세요. 이를 통해 리소스 할당과 최적화 목표의 균형을 맞출 수 있습니다.
YOLO에서 하이퍼파라미터를 튜닝하는 동안 모델 성능을 평가할 때는 다음과 같은 주요 메트릭을 사용할 수 있습니다.
- AP50: IoU 임계값 0.50에서의 평균 정밀도입니다.
- F1 점수: 정밀도와 재현율의 조화 평균입니다.
- 정밀도 및 재현율: 참양성 대비 거짓양성과 거짓음성을 식별하는 모델의 정확도를 나타내는 개별 메트릭입니다.
이러한 메트릭을 통해 모델 성능의 다양한 측면을 파악할 수 있습니다. 전체적인 개요는 Ultralytics YOLO 성능 메트릭 가이드를 참조하세요.
예. Ultralytics YOLO26은 고급 하이퍼파라미터 최적화를 위해 Ray Tune과 통합됩니다. Ray Tune은 베이지안 최적화와 Hyperband 같은 정교한 검색 알고리즘을 제공하며, 튜닝 속도를 높이는 병렬 실행 기능도 지원합니다.
YOLO26에서 Ray Tune을 사용하려면
model.tune()메서드 호출에서use_ray=True매개변수를 설정하면 됩니다. 자세한 내용과 예제는 Ray Tune 통합 가이드를 확인하세요.