Meet YOLO26: next-gen vision AI.

Link to this sectionRicetta di addestramento YOLO26#

Link to this sectionIntroduzione#

Questa guida documenta l'esatta ricetta di addestramento utilizzata per produrre i checkpoint ufficiali preaddestrati YOLO26 su COCO. Ogni iperparametro qui mostrato è già incorporato nei pesi .pt rilasciati e può essere esaminato programmaticamente.

Comprendere come sono stati addestrati i modelli base ti aiuta a prendere decisioni migliori durante il fine-tuning: quali aumentazioni dei dati mantenere, quali pesi della funzione di perdita regolare e quali impostazioni dell'ottimizzatore funzionano meglio per la dimensione del tuo dataset.

A chi è rivolta questa guida?

Questa guida è rivolta ai professionisti che desiderano comprendere cosa è stato incluso nei checkpoint ufficiali YOLO26: non solo l'architettura, ma anche gli schemi del learning rate, le pipeline di aumentazione e i pesi della perdita che ne hanno determinato le prestazioni. Usa queste informazioni per fare scelte informate durante il fine-tuning sui tuoi dati.

Link to this sectionIspezione degli argomenti di addestramento#

Ogni checkpoint Ultralytics memorizza la configurazione di addestramento completa utilizzata per produrlo. Puoi esaminare queste impostazioni in qualsiasi momento:

Ispeziona gli argomenti di addestramento del checkpoint
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

Questo funziona per qualsiasi checkpoint .pt, sia per i rilasci ufficiali che per i tuoi modelli sottoposti a fine-tuning. Per l'elenco completo degli argomenti di addestramento configurabili, consulta il riferimento alla configurazione di addestramento.

Link to this sectionPanoramica sull'addestramento#

Tutti i modelli base YOLO26 sono stati addestrati su COCO a una risoluzione di 640x640 utilizzando l'ottimizzatore MuSGD con batch size 128. I modelli sono stati inizializzati da pesi preaddestrati intermedi e perfezionati con iperparametri trovati tramite ricerca evolutiva. I log di addestramento completi e le metriche per ogni dimensione del modello sono disponibili su Ultralytics Platform:

Scelte progettuali chiave per tutte le dimensioni:

  • Addestramento end-to-end (end2end=True) con head one-to-one senza NMS
  • Ottimizzatore MuSGD che combina SGD con aggiornamenti ortogonalizzati in stile Muon per i pesi di convoluzione
  • Aumentazione mosaic pesante (probabilità ~0.9-1.0) disabilitata negli ultimi 10 epoche (close_mosaic=10)
  • Aumentazione di scala aggressiva (0.56-0.95) per gestire oggetti di dimensioni diverse
  • Rotazione/taglio minimi per la maggior parte delle dimensioni, mantenendo bassa la distorsione geometrica

Link to this sectionIperparametri per dimensione del modello#

Link to this sectionOttimizzatore e Learning Rate#

ImpostazioneNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
Strategia del learning rate

Il modello N ha utilizzato un learning rate iniziale più elevato con decadimento ripido (lrf=0.0495), mentre i modelli S/M/L/X hanno utilizzato un LR iniziale molto più basso con uno schema più graduale (lrf=0.882). Ciò riflette le diverse dinamiche di convergenza dei modelli più piccoli rispetto a quelli più grandi: i modelli più piccoli necessitano di aggiornamenti più aggressivi per apprendere in modo efficace.

Link to this sectionPesi della perdita#

ImpostazioneNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

Il modello N dà priorità alla perdita DFL, mentre i modelli S/M/L/X spostano l'enfasi sulla regressione del bounding box. La perdita di classificazione rimane relativamente coerente in tutte le dimensioni.

Link to this sectionPipeline di aumentazione#

Per una spiegazione dettagliata di ciascuna tecnica, consulta la guida all'aumentazione dei dati YOLO.

ImpostazioneNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

I modelli più grandi utilizzano un'aumentazione complessivamente più aggressiva (maggiori mixup, copy-paste e scale), poiché hanno maggiore capacità e beneficiano di una regolarizzazione più forte. Il modello N è l'unica dimensione con un'aumentazione significativa di rotazione, taglio e BGR.

Link to this sectionParametri di addestramento interni#

Avanzato: parametri interni della pipeline

I checkpoint contengono anche parametri utilizzati nella pipeline di addestramento interna ma che non sono esposti come impostazioni configurabili dall'utente in default.yaml:

ImpostazioneDescrizioneNSMLX
muon_wPeso dell'aggiornamento Muon in MuSGD0.5280.4360.4360.4360.436
sgd_wPeso dell'aggiornamento SGD in MuSGD0.6740.4790.4790.4790.479
cls_wPeso della classificazione interna2.743.483.483.483.48
o2mPeso della loss dell'head one-to-many1.00.7050.7050.7050.705
topkAssegnazione label top-k85555

Questi sono registrati per la riproducibilità, ma non devono essere impostati durante il fine-tuning. Consulta le FAQ per maggiori dettagli.

Link to this sectionGuida al fine-tuning#

Quando effettui il fine-tuning di YOLO26 sul tuo dataset, non hai bisogno di replicare l'intera ricetta di pretraining. I pesi preaddestrati codificano già la conoscenza sull'aumento e sull'ottimizzazione derivata dal training su COCO. Per le migliori pratiche generali di training, consulta Suggerimenti per il training del modello.

Link to this sectionInizia in modo semplice#

Fine-tuning con le impostazioni predefinite
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Il fine-tuning con le impostazioni predefinite rappresenta una solida base di partenza. Regola gli iperparametri solo se hai un motivo specifico per farlo.

Link to this sectionQuando apportare modifiche#

Dataset piccoli (< 1.000 immagini):

  • Riduci l'intensità dell'aumento: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Abbassa il learning rate: lr0=0.001
  • Usa meno epoch con patience: epochs=50, patience=20
  • Prendi in considerazione il congelamento degli strati del backbone: freeze=10

Dataset grandi (> 50.000 immagini):

  • Segui più fedelmente la ricetta di pretraining
  • Valuta optimizer=MuSGD per esecuzioni più lunghe
  • Aumenta l'augmentation: mosaic=1.0, mixup=0.3, scale=0.9

Immagini specifiche di dominio (aeree, mediche, subacquee):

  • Aumenta flipud=0.5 se l'orientamento verticale varia
  • Aumenta degrees se gli oggetti appaiono con rotazioni arbitrarie
  • Regola hsv_s e hsv_v se le condizioni di illuminazione differiscono significativamente da COCO

Per l'ottimizzazione automatizzata degli iperparametri, vedi la guida al Tuning degli Iperparametri.

Link to this sectionScelta della dimensione del modello#

ModelloIdeale perGuida alla dimensione del batch
YOLO26nDispositivi edge, mobile, tempo reale su CPUBatch grandi (64-128) su GPU consumer
YOLO26sEquilibrio tra velocità e precisioneBatch medi (32-64)
YOLO26mPrecisione superiore con calcolo moderatoBatch più piccoli (16-32)
YOLO26lAlta precisione quando è disponibile una GPUBatch piccoli (8-16) o multi-GPU
YOLO26xMassima precisione, distribuzione serverBatch piccoli (4-8) o multi-GPU

Per le opzioni di export e distribuzione, vedi la guida all'Export e le Opzioni di Distribuzione del Modello.

Link to this sectionFAQ#

Link to this sectionCome vedo gli iperparametri esatti utilizzati per qualsiasi checkpoint?#

Carica il checkpoint con torch.load() e accedi alla chiave train_args, oppure usa model.ckpt["train_args"] con l'API Ultralytics. Vedi Ispezione degli argomenti di Training per esempi completi.

Link to this sectionPerché i conteggi delle epoch sono diversi per ogni dimensione del modello?#

I modelli più grandi convergono più velocemente su COCO perché hanno maggiore capacità. Il modello N ha richiesto 245 epoch, mentre il modello X ne ha richieste solo 40. Durante il fine-tuning sul tuo dataset, il numero ottimale di epoch dipende dalla dimensione e dalla complessità del tuo dataset, non dalla dimensione del modello. Usa l'arresto anticipato (patience) per trovare automaticamente il punto di arresto corretto.

Link to this sectionDovrei usare MuSGD per il fine-tuning?#

Quando optimizer=auto (l'impostazione predefinita), Ultralytics seleziona automaticamente MuSGD per training run più lunghe (>10.000 iterazioni) e AdamW per quelle più brevi. Puoi impostare esplicitamente optimizer=MuSGD se preferisci. Per ulteriori informazioni sulla selezione dell'ottimizzatore, consulta la documentazione sul training.

Link to this sectionCosa sono muon_w, sgd_w, cls_w, o2m e topk nel checkpoint?#

Si tratta di parametri interni della pipeline di training che ha prodotto i checkpoint di base. Sono archiviati per la riproducibilità ma non sono impostazioni configurabili dall'utente in default.yaml. Non è necessario impostarli durante il fine-tuning. Vedi Parametri di Training Interni per i dettagli.

Link to this sectionPosso replicare l'esatto pretraining da zero?#

I checkpoint sono stati prodotti utilizzando un branch di training interno con funzionalità aggiuntive non presenti nel codebase pubblico (come i pesi configurabili o2m e cls_w). Puoi ottenere risultati molto simili utilizzando gli iperparametri documentati in questa pagina con il pacchetto pubblico Ultralytics, ma una riproduzione esatta richiede il branch interno.

Commenti