Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Epoca

Scopri cos'è un'epoca nell'apprendimento automatico e come influisce sull'addestramento dei modelli. Esplora l'ottimizzazione, evita il sovradattamento e addestra Ultralytics con facilità.

Un'epoca rappresenta un ciclo completo attraverso l'intero set di dati di addestramento da parte di un algoritmo di apprendimento automatico. Durante questo processo, il modello ha la possibilità di aggiornare i propri parametri interni sulla base di ogni campione presente nei dati esattamente una volta. Nel contesto del deep learning, un singolo passaggio è raramente sufficiente affinché una rete neurale apprenda modelli complessi in modo efficace. Pertanto, l'addestramento comporta in genere più epoche, consentendo all'algoritmo di apprendimento di affinare in modo iterativo la propria comprensione e ridurre al minimo l'errore tra le sue previsioni e la realtà effettiva.

Il ruolo delle epoche nell'ottimizzazione

L'obiettivo principale dell'addestramento è quello di regolare i pesi del modello per minimizzare una specifica funzione di perdita. Gli algoritmi di ottimizzazione, come la discesa stocastica del gradiente (SGD) o Adam , utilizzano l'errore calcolato durante ogni epoca per guidare queste regolazioni. Con l'aumentare del numero di epoche, il modello passa generalmente da uno stato di errore elevato (ipotesi casuali) a uno di errore inferiore (modelli appresi).

Tuttavia, la selezione del numero corretto di epoche è un aspetto critico della messa a punto degli iperparametri.

  • Troppo poche epoche: questo può portare a un underfitting, ovvero il modello non ha ancora catturato la tendenza sottostante dei dati.
  • Troppe epoche: questo spesso porta a un overfitting, dove il modello memorizza il rumore dell'addestramento anziché generalizzare ai nuovi dati. Per evitare questo, gli sviluppatori spesso monitorano le prestazioni sui dati di validazione e usano tecniche come l' early stopping per interrompere l'addestramento quando la generalizzazione smette di migliorare.

Epoca vs. Lotto vs. Iterazione

È normale che i principianti confondano "epoca" con termini correlati. Comprendere la gerarchia di questi concetti è essenziale per configurare correttamente i cicli di addestramento:

  • Epoca: un passaggio completo attraverso l'intero set di dati.
  • Lotto: un sottoinsieme del set di dati elaborato simultaneamente. Poiché i set di dati sono spesso troppo grandi per essere contenuti interamente nella GPU , vengono suddivisi in gruppi più piccoli definiti dalla dimensione del lotto.
  • Iterazione: un singolo aggiornamento dei pesi del modello. Se un set di dati contiene 1.000 immagini e la dimensione del batch è 100, saranno necessarie 10 iterazioni per completare un'epoca.

Applicazioni nel mondo reale

Il numero di epoche richieste varia notevolmente a seconda della complessità dell'attività e delle dimensioni dei dati.

  • Analisi delle immagini mediche: nell' analisi delle immagini mediche, come il rilevamento di tumori nelle scansioni MRI, la precisione è fondamentale. I modelli addestrati per questi compiti spesso funzionano per centinaia di epoche. Questo addestramento approfondito garantisce che la rete neurale convoluzionale (CNN) sia in grado di discernere sottili anomalie che distinguono il tessuto maligno da quello sano, salvando potenzialmente delle vite.
  • Guida autonoma: per i veicoli autonomi, i modelli di rilevamento degli oggetti devono identificare in modo affidabile pedoni, segnali stradali e altri veicoli. L'addestramento di questi sistemi robusti richiede in genere enormi set di dati come COCO o Objects365. Sebbene la dimensione del set di dati sia enorme, il modello richiede comunque più epoche per convergere su una soluzione che si generalizzi bene in diverse condizioni meteorologiche e di illuminazione.

Gestione dei cicli di formazione con il codice

Quando si utilizzano framework moderni come Ultralytics YOLO, la definizione del numero di epoche è un argomento semplice nel comando di addestramento. Strumenti come la Ultralytics possono aiutare a visualizzare le curve di perdita su ciascuna epoca per identificare il punto di arresto ottimale.

L'esempio seguente mostra come impostare il conteggio dell'epoca durante l'addestramento di un modello YOLO26:

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

In questo frammento, l'elemento epochs=50 L'argomento indica al motore di addestramento di scorrere ciclicamente il coco8.yaml set di dati 50 volte distinte. Durante ogni ciclo, il modello esegue propagazione in avanti e backpropagation per affinare le sue capacità di rilevamento .

Unitevi alla comunità di Ultralytics

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

Iscriviti ora