Glossario

Epoca

Impara a conoscere le epoche nell'apprendimento automatico: come influiscono sull'addestramento dei modelli, prevengono l'overfitting e ottimizzano le prestazioni con Ultralytics YOLO .

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Nell'apprendimento automatico (ML), in particolare nell'addestramento dei modelli di deep learning (DL), un'epoca rappresenta un passaggio completo attraverso l'intero set di dati di addestramento. È un concetto fondamentale che indica un ciclo completo in cui il modello ha visto e imparato da ogni esempio di addestramento una volta. L'addestramento di solito prevede più epoche, consentendo al modello di perfezionare iterativamente i suoi parametri interni(pesi del modello) e di migliorare le sue prestazioni nel compito per cui viene addestrato.

Come funzionano le epoche

Durante l'addestramento del modello, il set di dati è solitamente troppo grande per essere elaborato tutto in una volta a causa dei limiti di memoria. Pertanto, viene suddiviso in parti più piccole, chiamate batch. Il modello elabora un lotto alla volta, calcola l'errore (perdita) e aggiorna i suoi pesi utilizzando un algoritmo di ottimizzazione come la discesa del gradiente. Un'epoca viene completata solo dopo che il modello ha elaborato tutti i batch che coprono l'intero set di dati di addestramento. Ripetere questo processo in più epoche permette al modello di apprendere in modo più efficace modelli e relazioni complesse all'interno dei dati.

Epoca Vs. Iterazione Vs. Dimensione del batch

È importante distinguere un'epoca dai termini correlati:

  • Epoca: Un ciclo completo dell'intero set di dati di allenamento.
  • Dimensione del lotto: Il numero di campioni di allenamento elaborati prima che i pesi del modello vengano aggiornati.
  • Iterazione: Un singolo aggiornamento dei pesi del modello. Un'iterazione comporta l'elaborazione di un lotto di dati.

La relazione è semplice: se un set di dati di allenamento ha 10.000 campioni e la dimensione del batch è di 100, allora un'epoca consiste in 100 iterazioni (10.000 campioni / 100 campioni per batch).

L'importanza delle epoche nella formazione

L'addestramento di un modello per più epoche è fondamentale per la convergenza, ovvero il modello raggiunge uno stato stabile in cui le sue prestazioni sono ottimali o quasi. Ogni epoca dà al modello un'altra possibilità di imparare dai modelli di dati. Tuttavia, il numero di epoche è un iperparametro critico.

  • Troppo poche epoche: il modello potrebbe non apprendere a sufficienza, portando a un underfitting, ovvero a prestazioni insufficienti anche sui dati di allenamento.
  • Troppe epoche: il modello potrebbe apprendere troppo bene i dati di addestramento, compreso il rumore e i dettagli specifici, portando a un overfitting. Un modello sovra-adattato si comporta bene sui dati di addestramento ma male sui dati non visti(dati di validazione o esempi reali).

Il monitoraggio delle metriche delle prestazioni su un set di validazione separato durante l'addestramento aiuta a determinare il numero ottimale di epoche, spesso utilizzando tecniche come l'arresto anticipato per interrompere l'addestramento quando le prestazioni della validazione smettono di migliorare.

Esempi del mondo reale

  1. Rilevamento di oggetti con Ultralytics YOLO: quando si addestra un Ultralytics YOLO come YOLOv8 o YOLO11su un set di dati come COCO, potresti specificare un addestramento di 100 epoche. In ogni epoca, il modello elabora l'intero set di immagini di addestramento COCO (suddivise in lotti), regolando i suoi pesi per identificare e localizzare meglio gli oggetti. Piattaforme come Ultralytics HUB forniscono strumenti per gestire questo processo di addestramento e monitorare i progressi delle varie epoche.
  2. Elaborazione del linguaggio naturale (NLP): L'addestramento di un modello come BERT per l'analisi del sentiment su un set di dati di recensioni di clienti comporta più epoche. Ad esempio, l'addestramento per 5 epoche significa che il modello legge tutte le recensioni per cinque volte. A ogni passaggio (epoch), utilizzando librerie come Hugging Face Transformers spesso tramite framework come PyTorch o TensorFlowil modello migliora la sua capacità di classificare le recensioni come positive, negative o neutre.

Le epoche sono una pietra miliare dell'apprendimento iterativo nel ML, che bilancia la necessità di un'esposizione sufficiente ai dati con i rischi di overfitting. La selezione del giusto numero di epoche, spesso attraverso un'attenta sperimentazione e monitoraggio, è fondamentale per costruire modelli efficaci. Puoi trovare altre definizioni in risorse come il Glossario di Machine LearningGoogle .

Leggi tutto