Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Epoca

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

Nel contesto dell'addestramento di modelli di intelligenza artificiale (AI), un si riferisce a un passaggio completo dell'intero set di dati di addestramento attraverso l'algoritmo di apprendimento. È un'unità di tempo fondamentale unità di tempo fondamentale nell'addestramento delle reti neurali (NN), che segna il momento in cui il modello modello ha avuto l'opportunità di imparare da ogni campione dei dati forniti esattamente una volta. Poiché l'apprendimento profondo apprendimento profondo raramente raggiungono le prestazioni ottimali dopo aver visto i dati una sola volta, l'addestramento comporta in genere la ripetere questo processo per molte epoche per minimizzare gli errori e affinare i parametri interni.

La meccanica dell'apprendimento nel tempo

L'obiettivo primario durante un'epoca è quello di regolare i pesi del modello per pesi del modello per mappare con precisione gli ingressi alle uscite accuratamente. Durante questo processo, un un algoritmo di ottimizzazione, come lo Stochastic Gradient DescentSGD), calcola l'errore utilizzando una specifica funzione di perdita e aggiorna il modello. funzione di perdita e aggiorna lo stato interno del modello.

L'apprendimento a singolo passaggio è spesso insufficiente perché i set di dati contengono variazioni complesse e rumore. Eseguendo più epochs, il modello migliora iterativamente la sua capacità di eseguire compiti come la classificazione o segmentazione delle immagini. Questo iterativo permette alla rete di generalizzare i modelli dei dati di dati di addestramento, invece di memorizzare esempi specifici. Le strutture di apprendimento profondo come PyTorch e TensorFlow forniscono meccanismi meccanismi integrati per controllare il ciclo di addestramento su questi cicli.

Epoche vs. Batch vs. Iterazioni

Per capire come funzionano i loop di allenamento in modo efficiente, è fondamentale distinguere tra tre termini strettamente correlati, che spesso vengono confusi dai principianti. termini strettamente correlati che vengono spesso confusi dai principianti:

  • Epoca: Il processo di passaggio dell'intero set di dati attraverso la rete una sola volta.
  • Dimensione del lotto: Il numero di campioni elaborati prima che il modello aggiorni i suoi pesi. Il caricamento in memoria di un enorme set di dati in una volta sola è spesso impossibile, quindi i dati vengono divisi in gruppi più piccoli, chiamati batch.
  • Iterazione: Una singola fase di aggiornamento in cui il modello elabora un batch ed esegue la backpropagation per regolare i pesi. backpropagation per regolare i pesi.

Ad esempio, se si dispone di un set di dati di 10.000 immagini e si imposta una dimensione del batch di 100, occorreranno 100 iterazioni per completare un'epoch. completare un'epoca.

Determinazione del numero ottimale di epoche

La selezione del giusto numero di epoche è un aspetto critico della della regolazione degli iperparametri. L'addestramento per un numero o troppi cicli può portare a prestazioni non ottimali.

  1. Sottoadattamento: Se il modello si addestra per un numero troppo limitato di epoche, potrebbe non riuscire a catturare la logica sottostante dei dati, con conseguenti scarse prestazioni sia sui set di addestramento che su quelli di test. prestazioni scarse sia sui set di addestramento che su quelli di test.
  2. Overfitting: Se l'addestramento continua per troppo tempo, il modello può iniziare a memorizzare il rumore e i dettagli specifici del set di addestramento. set. Mentre l'accuratezza dell'addestramento aumenta, le prestazioni sui dati di convalida non visti si riducono.

Per mitigare questi problemi, gli ingegneri utilizzano spesso l 'arresto anticipato, una tecnica che interrompe l'addestramento quando la perdita di convalida perdita di convalida smette di migliorare, indipendentemente dal numero totale di epoche specificato. Strumenti di visualizzazione come TensorBoard sono spesso usati per monitorare queste metriche in tempo reale. tempo reale.

Applicazioni nel mondo reale

Il concetto di epoch è universale in vari domini dell'apprendimento domini dell 'apprendimento automatico (ML).

  • Guida autonoma: Lo sviluppo di un veicolo autonomo richiede robusti modelli di modelli di rilevamento degli oggetti robusti, addestrati su serie massicce di dati contenenti milioni di scene stradali. Un modello come YOLO11 potrebbe essere addestrato per centinaia di epoche per garantire che di identificare in modo affidabile pedoni e segnali stradali in diverse condizioni atmosferiche. L'addestramento estensivo garantisce il sistema raggiunga un'elevata precisione media (mAP) prima dell'implementazione.
  • Monitoraggio agricolo: Nell'agricoltura di precisione agricoltura di precisione, i droni utilizzano la visione visione computerizzata per monitorare la salute delle colture. Poiché gli insiemi di dati agricoli possono essere più piccoli o altamente specifici, i ricercatori potrebbero utilizzare l'apprendimento per trasferimento e allenarsi per un numero epochs per mettere a punto un modello pre-addestrato, utilizzando aumento dei dati per espandere artificialmente il dati per espandere artificialmente il set di dati e prevenire l'overfitting.

Esempio di codice: Formazione con le epoche

Quando si utilizza la funzione ultralytics è semplice specificare il numero di epoche. Il parametro train() accetta un metodo epochs che controlla quante volte il modello itera sui dati forniti. sui dati forniti.

from ultralytics import YOLO

# Load the YOLO11 model (recommended for latest performance)
model = YOLO("yolo11n.pt")

# Train the model for 50 epochs on the COCO8 dataset
# The 'epochs' argument defines the total passes through the data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

Questo snippet mostra come avviare una sessione di addestramento in cui il modello affinerà la sua comprensione del dataset "coco8" per 50 volte. Per quanto riguarda i progressi futuri, Ultralytics sta attualmente sviluppando YOLO26, che supporterà l'addestramento end-to-end con un'efficienza ancora maggiore, il cui lancio è previsto per la fine del 2025. fine del 2025.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora