Dopo un anno e mezzo, torno alla mia risposta perché la mia precedente risposta era sbagliata.
Le dimensioni del lotto incidono in modo significativo sull'apprendimento. Quello che succede quando metti un batch attraverso la tua rete è che fai la media dei gradienti. Il concetto è che se la dimensione del batch è abbastanza grande, ciò fornirà una stima abbastanza stabile di quale sarebbe il gradiente dell'intero set di dati. Prendendo campioni dal set di dati, si stima il gradiente riducendo in modo significativo i costi di calcolo. Più vai basso, meno accurata sarà la tua stima, tuttavia in alcuni casi questi gradienti rumorosi possono effettivamente aiutare a sfuggire ai minimi locali. Quando è troppo basso, i pesi della rete possono semplicemente saltare se i dati sono rumorosi e potrebbero non essere in grado di apprendere o convergono molto lentamente, con un impatto negativo sul tempo di calcolo totale.
Un altro vantaggio del batching è per il calcolo della GPU, le GPU sono molto brave a parallelizzare i calcoli che avvengono nelle reti neurali se parte del calcolo è la stessa (ad esempio, la moltiplicazione della matrice ripetuta sulla stessa matrice di peso della rete). Ciò significa che una dimensione del lotto di 16 richiederà meno del doppio della quantità di una dimensione del lotto di 8.
Nel caso in cui siano necessari lotti di dimensioni maggiori ma non si adattino alla GPU, è possibile alimentare un piccolo lotto, salvare le stime del gradiente e alimentare uno o più lotti, quindi eseguire un aggiornamento del peso. In questo modo si ottiene un gradiente più stabile perché è stata aumentata la dimensione del batch virtuale.
RISPOSTA SBAGLIATA, VECCHIA: [[[No, il batch_size influenza solo la velocità del tuo apprendimento, non la qualità dell'apprendimento. Anche i batch_sizes non devono essere potenze di 2, anche se capisco che alcuni pacchetti consentono solo potenze di 2. Dovresti cercare di ottenere il tuo batch_size il più alto possibile che si adatta alla memoria della tua GPU per ottenere la massima velocità possibile .]]]]