Imparate a conoscere le epoche nell'apprendimento automatico: come influiscono sull'addestramento dei modelli, prevengono l'overfitting e ottimizzano le prestazioni con Ultralytics YOLO.
Nell'apprendimento automatico (ML), un'epoca rappresenta un passaggio completo dell'intero set di dati di addestramento attraverso l'algoritmo di apprendimento. È un concetto fondamentale nel processo iterativo di addestramento delle reti neurali (NN), in cui i modelli imparano vedendo ripetutamente esempi dai dati. Il numero di epoche è un parametro chiave che determina quante volte il modello apprenderà dall'intero set di informazioni di addestramento, influenzando direttamente le prestazioni finali e la qualità del modello.
L'obiettivo principale dell'addestramento dei modelli è quello di consentire a un modello di apprendere modelli dai dati. Ciò si ottiene regolando i parametri interni del modello, noti come pesi del modello, per minimizzare una funzione di perdita, che quantifica l'errore tra le previsioni del modello e la verità reale. Durante una singola epoch, il modello elabora ogni campione di dati e un algoritmo di ottimizzazione come Stochastic Gradient Descent (SGD) aggiorna i pesi.
L'addestramento di un modello per più epoche gli consente di perfezionare iterativamente i suoi parametri. A ogni passaggio, il modello dovrebbe, in teoria, migliorare nel suo compito, che si tratti di classificazione di immagini o di rilevamento di oggetti. Questo processo è gestito da framework di deep learning molto diffusi, come PyTorch o TensorFlow.
Pur essendo correlati, questi termini descrivono aspetti diversi del processo formativo e vengono spesso confusi.
Ad esempio, se un set di dati ha 10.000 immagini e la dimensione del batch è di 100, un'epoca consisterà in 100 iterazioni (10.000 immagini / 100 immagini per batch).
La scelta del numero corretto di epoche è una parte fondamentale della regolazione degli iperparametri. Si tratta di trovare un equilibrio per evitare due problemi comuni:
Una tecnica comune per combattere l'overfitting è l'arresto anticipato, in cui l'addestramento viene interrotto quando le prestazioni del modello su un set di validazione cessano di migliorare. I progressi possono essere monitorati utilizzando strumenti come TensorBoard o piattaforme come Ultralytics HUB, che aiutano a visualizzare le metriche di addestramento in base alle epoche.
Il concetto di epoche è universale nelle applicazioni di deep learning.
Guida autonoma: Un modello di rilevamento degli oggetti per un veicolo autonomo viene addestrato su un set di dati enorme come Argoverse. Il modello, come Ultralytics YOLO11, potrebbe essere addestrato per 50-100 epoche. Dopo ogni epoca, le sue prestazioni su un set di convalida vengono misurate utilizzando parametri come la precisione media (mAP). Gli ingegneri selezioneranno il modello dell'epoca che offre il miglior equilibrio tra velocità e accuratezza prima dell'implementazione.
Analisi di immagini mediche: Un modello per il rilevamento dei tumori nelle scansioni cerebrali viene addestrato su un set di dati di imaging medico specializzato. Dato che tali set di dati possono essere piccoli, il modello potrebbe essere addestrato per diverse centinaia di epoche. Per evitare l'overfitting, vengono utilizzate tecniche come l'aumento dei dati e la perdita di convalida viene monitorata attentamente dopo ogni epoch. In questo modo si garantisce che il modello finale si generalizza bene alle scansioni di nuovi pazienti. Seguire i consigli per l'addestramento dei modelli è fondamentale per il successo di queste applicazioni critiche.