Learning Rate
Scopri come il learning rate influisce sull'addestramento del modello. Scopri come ottimizzare la dimensione del passo per Ultralytics YOLO26 e ottenere prestazioni SOTA nel rilevamento degli oggetti e non solo.
Il tasso di apprendimento è una configurazione critica per la messa a punto degli iperparametri che determina la dimensione del passo compiuto da un modello durante il processo di ottimizzazione. Nel contesto dell'addestramento di una rete neurale, controlla quanto vengono aggiornati i pesi interni del modello in risposta all'errore stimato ogni volta che il modello elabora un batch di dati. Immaginalo come una persona che cammina lungo una montagna verso una valle (il punto di errore minimo); il tasso di apprendimento determina la lunghezza del suo passo. Se il passo è troppo grande, potrebbe superare completamente la valle e mancare il punto più basso. Se il passo è troppo piccolo, raggiungere la destinazione potrebbe richiedere un tempo impraticabilmente lungo.
Il dilemma di "Riccioli d'oro" nell'ottimizzazione#
Trovare il tasso di apprendimento ottimale viene spesso descritto come un esercizio di equilibrio nei flussi di lavoro di machine learning. L'obiettivo è minimizzare la funzione di perdita, che misura la differenza tra le predizioni del modello e la verità di riferimento effettiva. Questo processo si basa fortemente su un algoritmo di ottimizzazione, come la discesa del gradiente stocastico (SGD) o l'ottimizzatore Adam, per esplorare il paesaggio della funzione di perdita.
- Tasso di apprendimento troppo alto: Se il valore è impostato troppo alto, gli aggiornamenti dei pesi del modello saranno drastici. Questo può portare al fenomeno del "superamento", in cui il modello non riesce a convergere verso una soluzione e oscilla invece in modo incontrollato o diverge. Questa instabilità può talvolta attivare un problema di gradiente esplosivo, rendendo inutile il processo di addestramento.
- Tasso di apprendimento troppo basso: Al contrario, una dimensione del passo estremamente piccola garantisce che il modello si muova con cautela verso il minimo, ma può causare underfitting perché il processo di addestramento diventa esasperatamente lento. Il modello potrebbe rimanere di fatto bloccato in un minimo locale o impiegare migliaia di epoche aggiuntive per apprendere schemi semplici, sprecando risorse computazionali. I ricercatori consultano spesso la documentazione di PyTorch sull'ottimizzazione per comprendere come i diversi algoritmi interagiscono con questi valori.
Applicazioni nel mondo reale#
L'impatto delle regolazioni del tasso di apprendimento è evidente in diversi settori ad alta criticità in cui vengono implementate attività di computer vision.
-
Sistemi di guida autonoma: Nello sviluppo di veicoli autonomi, gli ingegneri utilizzano grandi quantità di dati per addestrare modelli al rilevamento degli oggetti, così da identificare pedoni e segnali stradali. Quando applicano il transfer learning a un modello preaddestrato come YOLO26, gli sviluppatori utilizzano in genere un tasso di apprendimento molto più basso rispetto a quello usato durante l'addestramento iniziale. Questo "fine-tuning" garantisce che il modello apprenda le specificità di determinati ambienti di guida (ad es. strade innevate rispetto ad autostrade nel deserto) senza cancellare le capacità generali di estrazione delle caratteristiche che già possiede.
-
Imaging diagnostico medico: Nell'analisi delle immagini mediche, ad esempio per rilevare tumori nelle scansioni MRI, la precisione è fondamentale. Un tasso di apprendimento elevato comporta il rischio che il modello ignori sottili differenze di texture che distinguono il tessuto maligno da quello benigno. I professionisti utilizzano spesso una tecnica chiamata "warmup del tasso di apprendimento", che aumenta gradualmente il tasso da zero a un valore obiettivo per stabilizzare le prime fasi dell'addestramento, assicurando che i pesi della rete neurale raggiungano una configurazione stabile prima dell'inizio dell'apprendimento aggressivo. Puoi leggere ulteriori informazioni su queste strategie nel Google Machine Learning Crash Course.
Distinzione tra termini correlati#
È importante distinguere il tasso di apprendimento dagli altri parametri di addestramento, poiché spesso vengono configurati negli stessi file di configurazione ma hanno scopi diversi:
- Tasso di apprendimento e dimensione del batch: Mentre il tasso di apprendimento controlla l'entità dell'aggiornamento, la dimensione del batch determina il numero di campioni di addestramento elaborati prima che avvenga un aggiornamento. Tra i due esiste una forte relazione: spesso, quando si aumenta la dimensione del batch, è necessario aumentare proporzionalmente anche il tasso di apprendimento per mantenere l'efficienza dell'addestramento, un concetto analizzato nei paper sull'addestramento con batch di grandi dimensioni.
- Tasso di apprendimento e decadimento: Il decadimento si riferisce a una strategia in cui il tasso di apprendimento viene ridotto sistematicamente nel tempo. Uno scheduler potrebbe ridurre il tasso di un fattore 10 ogni 30 epoche. Questo aiuta il modello a compiere grandi salti concettuali nelle fasi iniziali e poi a perfezionare la precisione con passi più piccoli verso la fine dell'addestramento. Questa è una funzionalità standard nel pacchetto Python di Ultralytics.
Impostazione del tasso di apprendimento in Ultralytics YOLO#
Quando utilizzi framework moderni, puoi regolare facilmente il tasso di apprendimento iniziale (lr0) e la frazione del tasso di apprendimento finale (lrf). Di seguito è riportato un esempio di come configurare questa impostazione utilizzando il client compatibile con la Ultralytics Platform per un'esecuzione di addestramento personalizzata.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)Per gli utenti avanzati, tecniche come LR Finder (rese popolari da fast.ai) possono essenzialmente automatizzare la ricerca del miglior valore iniziale eseguendo una breve epoca di prova in cui il learning rate viene aumentato esponenzialmente finché la loss diverge. Padroneggiare questo iperparametro è spesso la chiave per sbloccare prestazioni SOTA (Stato dell'arte) nei tuoi progetti di AI.









