Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Hyperparameter Tuning

L'ottimizzazione degli iperparametri individua le impostazioni di addestramento che massimizzano le prestazioni di validazione. Confronto tra ricerca a griglia, casuale, bayesiana ed evolutiva.

L'ottimizzazione degli iperparametri consiste nel cercare le impostazioni di addestramento che offrono a un modello di machine learning le prestazioni migliori sui dati esclusi dall'addestramento. Gli iperparametri vengono fissati prima dell'inizio dell'addestramento, a differenza dei pesi del modello, che vengono appresi dai dati durante l'addestramento. Ogni configurazione candidata deve essere valutata addestrando un modello e testandolo sui dati di convalida, quindi l'ottimizzazione è una delle fasi a più elevato consumo di risorse computazionali nello sviluppo di un modello, e scegliere una buona strategia di ricerca è importante tanto quanto scegliere i valori da cercare.

Iperparametri comuni#

Nel deep learning per la visione, le impostazioni che più spesso richiedono ottimizzazione rientrano in alcune categorie:

  • Ottimizzazione: il tasso di apprendimento e il relativo programma, il momento, il decadimento dei pesi e la scelta dell'ottimizzatore, come SGD o l'ottimizzatore Adam. Il tasso di apprendimento di solito ha l'effetto maggiore e viene cercato su scala logaritmica.
  • Durata dell'addestramento e batch: il numero di epoche, la durata del warm-up e la dimensione del batch.
  • Aumento dei dati: la probabilità e l'intensità di ogni trasformazione, come ribaltamenti, ridimensionamenti, variazioni dei colori e mosaici.
  • Pesi delle loss: i coefficienti che bilanciano i termini di una funzione di loss composta, come le loss delle bounding box e della classificazione in un rilevatore.

Metodi di ricerca#

I professionisti esplorano lo spazio delle configurazioni possibili con alcune strategie:

  • Ricerca a griglia: addestra tutte le combinazioni di un elenco fisso di valori. È semplice ed esaustiva, ma il costo aumenta moltiplicandosi per ogni iperparametro aggiunto.
  • Ricerca casuale: campiona configurazioni casualmente dagli intervalli consentiti. Bergstra e Bengio hanno dimostrato che trova modelli altrettanto validi o migliori della ricerca a griglia con una frazione ridotta del calcolo, perché solo pochi iperparametri contano davvero per un determinato problema e il campionamento casuale prova valori distinti in maggior numero per ciascuno di essi.
  • Ottimizzazione bayesiana: adatta un modello surrogato che descrive la dipendenza del punteggio dagli iperparametri e sceglie la prova successiva nel punto in cui è più probabile ottenere un miglioramento. Librerie come Optuna utilizzano questo approccio per impostazione predefinita.
  • Metodi di arresto anticipato: Hyperband e il dimezzamento successivo avviano molte configurazioni con un budget ridotto e assegnano più epoche solo a quelle più promettenti.
  • Algoritmi evolutivi: trattano ogni configurazione come un genoma e migliorano una popolazione di configurazioni tramite selezione e mutazione.

La ricerca evolutiva è adatta alle esecuzioni di addestramento con molti iperparametri interdipendenti perché non richiede un modello dello spazio di ricerca, ma solo un punteggio di fitness per ogni prova. A ogni iterazione si prende una delle migliori configurazioni trovate finora, se ne mutano alcuni valori, si addestra il modello con il risultato e si mantiene la nuova configurazione nel pool se ottiene un buon punteggio.

Il tuner Ultralytics esegue questo ciclo durante l'addestramento di YOLO: a ogni iterazione seleziona un genitore tra i nove risultati con la fitness più alta, muta circa la metà di un massimo di 26 iperparametri che riguardano il tasso di apprendimento, i coefficienti delle loss e l'aumento dei dati, e calcola la fitness come mAP50-95 per il rilevamento. Gli iperparametri della fase COCO dei checkpoint ufficiali di YOLO26 sono stati individuati con questa ricerca evolutiva.

from ultralytics import YOLO

# Carica un modello YOLO26n preaddestrato
model = YOLO("yolo26n.pt")

# Spazio di ricerca: limiti (min, max) per ogni iperparametro da ottimizzare
search_space = {"lr0": (1e-5, 1e-2), "degrees": (0.0, 45.0)}

# Ognuna delle 30 iterazioni esegue l'addestramento per 10 epoche con valori mutati di recente
model.tune(data="coco8.yaml", epochs=10, iterations=30, space=search_space, plots=False, save=False, val=False)

L'esecuzione salva best_hyperparameters.yaml, un grafico della fitness per iterazione e i pesi della migliore iterazione in una directory tune. model.tune() esegue l'addestramento con AdamW, a meno che non venga specificato l'ottimizzatore, perché il valore predefinito optimizer="auto" sovrascriverebbe il valore ottimizzato lr0.

  • Addestramento del modello: l'addestramento apprende i pesi per un insieme fisso di iperparametri tramite retropropagazione. L'ottimizzazione è il ciclo esterno che esegue più volte l'addestramento e confronta i risultati.
  • Fine-tuning: nonostante il nome simile, il fine-tuning prosegue l'addestramento dei pesi di un modello preaddestrato su nuovi dati. Ha i propri iperparametri da ottimizzare, come un tasso di apprendimento più basso e il numero di livelli congelati.
  • Ricerca dell'architettura neurale (NAS): esplora la struttura della rete, ad esempio i tipi e le dimensioni dei livelli, invece delle impostazioni di addestramento.
  • Machine learning automatizzato (AutoML): automatizza la pipeline più ampia, inclusi la selezione del modello e il pretrattamento dei dati, con l'ottimizzazione degli iperparametri come una delle sue componenti.
  • Overfitting al set di convalida: centinaia di prove di ottimizzazione valutate sulla stessa suddivisione di convalida possono selezionare impostazioni che vi si adattano per caso, quindi i risultati finali vanno misurati su un set di test separato, mai utilizzato durante l'ottimizzazione.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning