Glossario

Dimensione del lotto

Scopri l'impatto delle dimensioni del batch sul deep learning. Ottimizza la velocità di formazione, l'utilizzo della memoria e le prestazioni del modello in modo efficiente.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Nell'apprendimento automatico, in particolare nell'addestramento di modelli di deep learning, la dimensione del batch si riferisce al numero di esempi di addestramento utilizzati in un'iterazione. Invece di elaborare l'intero set di dati in una sola volta, cosa che spesso non è fattibile dal punto di vista computazionale, i dati vengono suddivisi in gruppi o batch più piccoli e gestibili. I parametri del modello vengono aggiornati dopo l'elaborazione di ogni lotto, rendendo l'addestramento più efficiente, soprattutto con i grandi set di dati comuni nella computer vision.

Importanza della dimensione del batch

La scelta di una dimensione appropriata del lotto è un iperparametro critico che influisce in modo significativo sulle dinamiche di formazione del modello, sull'utilizzo delle risorse e sulle prestazioni finali.

  • Velocità di formazione: Lotti più grandi portano generalmente a epoche di addestramento più rapide perché permettono di utilizzare meglio le capacità di elaborazione parallela presenti in hardware come le GPU. Per ogni ciclo di calcolo vengono elaborati più dati.
  • Utilizzo della memoria: Una conseguenza diretta dei batch più grandi è l'aumento del consumo di memoria. Le dimensioni del batch devono rientrare nella memoria hardware disponibile (ad esempio, la VRAM GPU ). Il superamento di questo limite causerà errori o rallenterà drasticamente la formazione. Alcune piattaforme offrono indicazioni per ottimizzare l'uso della memoria.
  • Prestazioni e generalizzazione del modello: I lotti più piccoli introducono più rumore nella stima del gradiente durante l'addestramento attraverso tecniche come la Stochastic Gradient Descent (SGD). Questo rumore può agire come una forma di regolarizzazione, aiutando potenzialmente il modello a evitare i minimi acuti nel paesaggio delle perdite e a generalizzarsi meglio ai dati non visti, riducendo il rischio di overfitting. Tuttavia, lotti molto piccoli possono rendere l'addestramento instabile. Lotti più grandi forniscono una stima del gradiente più accurata, ma potrebbero convergere verso minimi meno ottimali e richiedere tecniche come il riscaldamento del tasso di apprendimento per garantire la stabilità.

Scegliere la giusta dimensione del lotto

La selezione della dimensione ottimale del batch implica il bilanciamento dei compromessi tra efficienza computazionale, vincoli di memoria e generalizzazione del modello. Non esiste una sola dimensione di batch "migliore"; spesso dipende dallo specifico set di dati, dall'architettura del modello e dall'hardware disponibile.

Dimensioni del lotto e altri termini correlati

È importante distinguere la dimensione del lotto dai concetti correlati:

  • Iterazione: Rappresenta un singolo aggiornamento dei pesi del modello. Nei cicli di formazione standard, un'iterazione corrisponde all'elaborazione di un lotto di dati e all'esecuzione della retropropagazione.
  • Epoca: Rappresenta un passaggio completo attraverso l'intero set di dati di allenamento. Se un set di dati ha 1000 campioni e la dimensione del lotto è di 100, sono necessarie 10 iterazioni per completare un'epoca (1000 / 100 = 10).

Applicazioni del mondo reale

Rilevamento degli oggetti

Nelle attività di rilevamento degli oggetti, come quelle eseguite da Ultralytics YOLO la dimensione del lotto influisce direttamente sul numero di immagini elaborate simultaneamente durante l'addestramento. Ad esempio, quando si addestra un modello come YOLOv8 su un set di dati come VisDrone, un batch più grande (ad esempio 32 o 64) può accelerare significativamente il tempo di addestramento per epoche su hardware capace. Tuttavia, è necessario un attento monitoraggio della memoria GPU . La formazione può essere gestita e monitorata in modo efficace utilizzando piattaforme come Ultralytics HUB.

Classificazione delle immagini

Quando si addestra un modello di classificazione delle immagini, magari sul dataset ImageNet, la dimensione dei lotti influenza la stabilità e la convergenza del processo di addestramento. Un ricercatore potrebbe iniziare con un batch di 256 e regolarsi in base all'osservazione del comportamento della funzione di perdita e dell'accuratezza della convalida. Lotti più piccoli potrebbero essere necessari per modelli con architetture complesse o quando si utilizzano risorse hardware limitate come nell'ambiente di Google Colab.

Leggi tutto