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 preaddestrati ufficiali YOLO26 su COCO. Ogni iperparametro qui mostrato è già incorporato nei pesi .pt rilasciati e può essere ispezionato a livello programmatico.

Conoscere cosa è confluito nei checkpoint ufficiali — non solo l'architettura, ma anche gli schemi di learning rate, le pipeline di augmentazione e i pesi della funzione di perdita che ne hanno determinato le prestazioni — ti aiuta a prendere decisioni migliori durante il fine-tuning: quali data augmentation mantenere, quali pesi della funzione di perdita regolare e quali impostazioni dell'ottimizzatore funzionano meglio per la dimensione del tuo dataset.

Link to this sectionPanoramica dell'addestramento#

Tutti i modelli base YOLO26 sono stati addestrati su COCO a una risoluzione di 640x640 utilizzando l'ottimizzatore MuSGD con batch size 128. Invece di partire da pesi casuali in una singola esecuzione, 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 di modello sono disponibili su Ultralytics Platform:

Scelte di design 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 le matrici di pesi (parametri con ndim >= 2, come i pesi convoluzionali e lineari)
  • Intensa augmentation mosaic (probabilità ~0.9-1.0) disabilitata nelle ultime 10 epoche (close_mosaic=10)
  • Aggressive scale augmentation (0.56-0.95) per gestire oggetti di diverse dimensioni
  • Rotazione/shear minimi per la maggior parte delle dimensioni, mantenendo bassa la distorsione geometrica

Link to this sectionIspezione degli argomenti di addestramento dei checkpoint YOLO26#

Ogni checkpoint Ultralytics memorizza la configurazione di addestramento completa utilizzata per produrlo, così puoi verificare tu stesso ogni numero presente in questa pagina:

Ispeziona gli argomenti di addestramento del checkpoint
from ultralytics import YOLO

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

L'output elenca la configurazione completa di oltre 100 voci, includendo ogni valore della ricetta documentato in questa pagina. Un estratto per yolo26n.pt:

batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGD

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

Link to this sectionIperparametri di addestramento YOLO26 per dimensione del modello#

Le tabelle seguenti raggruppano la ricetta per categoria: ottimizzatore e schedule, pesi della funzione di perdita e augmentation. Ogni valore proviene direttamente dai train_args incorporati nei checkpoint rilasciati.

Link to this sectionOttimizzatore e Learning Rate#

Queste impostazioni dell'ottimizzatore e dello schedule hanno guidato il preaddestramento su COCO per ogni dimensione; nota come il modello N si distingua dal resto:

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 di learning rate

Il modello N ha utilizzato un learning rate iniziale più elevato con un decadimento ripido (lrf=0.0495), mentre i modelli S/M/L/X hanno utilizzato un LR iniziale molto più basso con uno schedule 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 funzione di perdita#

I pesi della funzione di perdita bilanciano le tre componenti della perdita di rilevamento: regressione IoU del bounding box (box), classificazione (cls) e un termine di regressione della distanza del box (dfl). Nota che YOLO26, privo di DFL, riutilizza il guadagno dfl per pesare una perdita L1 sulle distanze normalizzate del box piuttosto che sulla distribuzione focal loss:

ImpostazioneNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

Il modello N dà priorità al termine di regressione della distanza dfl, mentre i modelli S/M/L/X spostano l'enfasi sulla regressione del box basata su IoU. La perdita di classificazione rimane relativamente coerente in tutte le dimensioni.

Link to this sectionPipeline di Augmentation#

Per una spiegazione dettagliata di ogni tecnica, consulta la guida alla data augmentation 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 valori indicati come ~0 sono inferiori a 0.01 nei checkpoint effettivi (ad esempio, degrees=0.00012 per il modello S): l'augmentation è effettivamente disabilitata.

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

Link to this sectionParametri di addestramento interni#

Avanzato: parametri della pipeline interna

I checkpoint contengono anche parametri che sono stati utilizzati nella pipeline di addestramento interna ma 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 di classificazione interno2.743.483.483.483.48
o2mPeso della loss dell'head one-to-many1.00.7050.7050.7050.705
topkAssegnazione dell'etichetta top-k85555

Consulta la voce FAQ su questi parametri per capire cosa significano durante il fine-tuning.

Link to this sectionFine-Tuning di YOLO26 sul tuo dataset#

Quando effettui il fine-tuning di YOLO26 sul tuo dataset, non hai bisogno di replicare l'intera procedura di pre-addestramento. I pesi pre-addestrati includono già le conoscenze su aumentazione e ottimizzazione derivate dall'addestramento su COCO. Per le migliori pratiche di addestramento generali, consulta i Consigli per l'addestramento dei modelli.

Link to this sectionFine-Tuning con le impostazioni predefinite#

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 ne hai una ragione specifica.

Link to this sectionQuando regolare gli iperparametri di YOLO26#

Dataset piccoli (< 1.000 immagini):

  • Riduci l'intensità dell'aumentazione: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Abbassa il learning rate: lr0=0.001
  • Usa meno epoche con pazienza: epochs=50, patience=20
  • Valuta di bloccare i layer del backbone: freeze=10

Dataset grandi (> 50.000 immagini):

  • Segui più da vicino la procedura di pre-addestramento
  • Valuta optimizer=MuSGD per esecuzioni più lunghe
  • Aumenta l'aumentazione: 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, consulta la guida alla sintonizzazione degli iperparametri.

Link to this sectionScegliere la dimensione del modello#

ModelloIdeale perGuida alla dimensione del batch
YOLO26nDispositivi edge, mobile, tempo reale su CPUBatch grandi (64-128) su GPU consumer
YOLO26sBilanciamento tra velocità e accuratezzaBatch medi (32-64)
YOLO26mAccuratezza superiore con calcolo moderatoBatch più piccoli (16-32)
YOLO26lAlta accuratezza quando la GPU è disponibileBatch piccoli (8-16) o multi-GPU
YOLO26xMassima accuratezza, distribuzione serverBatch piccoli (4-8) o multi-GPU

Per le opzioni di esportazione e distribuzione, consulta la guida all'esportazione e le Opzioni di distribuzione del modello.

Link to this sectionConclusione#

I checkpoint di YOLO26 vengono forniti con la loro procedura di addestramento completa incorporata, quindi gli iperparametri esatti dietro ogni dimensione del modello sono sempre a portata di una consultazione di train_args. Inizia il fine-tuning dalle impostazioni predefinite, regola deliberatamente usando le tabelle in questa pagina e verifica ogni modifica rispetto al tuo set di validazione. Se hai domande lungo il percorso, chiedi alla community sul repository GitHub di Ultralytics o sul server Discord di Ultralytics.

Link to this sectionFAQ#

Link to this sectionCome posso vedere gli iperparametri esatti usati per un 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 addestramento del checkpoint YOLO26 per esempi completi.

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

I modelli più grandi generalmente richiedono meno epoche su COCO poiché la loro maggiore capacità accelera la convergenza — il modello X è stato addestrato per 40 epoche contro le 245 del modello N — sebbene i conteggi non siano strettamente monotonici (S ha usato 70, M ha usato 80). Quando fai il fine-tuning sul tuo dataset, il numero ottimale di epoche 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?#

Di solito non hai bisogno di scegliere: con l'impostazione predefinita optimizer=auto, Ultralytics seleziona automaticamente MuSGD per sessioni di addestramento più lunghe (>10.000 iterazioni) e AdamW per quelle più brevi. Puoi impostare esplicitamente optimizer=MuSGD se preferisci. Per ulteriori informazioni su come funziona MuSGD, consulta la documentazione sull'addestramento.

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

Questi sono parametri interni della pipeline di addestramento che ha prodotto i checkpoint base, registrati in train_args per riproducibilità. Non sono impostazioni configurabili dall'utente in default.yaml e passarli a model.train() genera un errore di argomento non valido: il pacchetto pubblico non li legge. Non hai bisogno di configurarli durante il fine-tuning; vedi Parametri di addestramento interni per i loro valori per ogni dimensione del modello.

Link to this sectionPosso replicare esattamente il pre-addestramento da zero?#

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

Commenti