Per impostare questi valori in modo significativo, è necessario disporre di un paio di bit di informazioni per quanto riguarda i dati:
1. dimensioni training set il numero totale di esempi di addestramento avete, facciamo chiama questa quantità T
.
2. Dimensione lotto di preparazione il numero di esempi di allenamento elaborati insieme in un singolo batch, in genere viene impostato dal livello dati di input in 'train_val.prototxt'
. Ad esempio, in this file la dimensione del batch del treno è impostata su 256. Indichiamo questa quantità per tb
.
3. Dimensione del set di convalida il numero totale di esempi che vengono messi da parte per la convalida del modello, denotiamo questo per V
.
4. Validazione dimensione lotto valore impostato in batch_size
per la fase TEST. In this example è impostato su 50. Chiamiamo questo vb
.
Ora, durante l'allenamento, vorresti ottenere una stima unilaterale delle prestazioni della tua rete ogni tanto. Per farlo, esegui la rete sul set di convalida delle iterazioni test_iter
. Per coprire l'intero set di convalida è necessario avere test_iter = V/vb
.
Quanto spesso vorresti ottenere questa stima? Dipende davvero da te. Se hai un set di convalida molto grande e una rete lenta, la convalida troppo spesso renderà il processo di addestramento troppo lungo. D'altra parte, non convalidare abbastanza spesso può impedirti di notare se e quando il tuo processo di addestramento non è riuscito a convergere. test_interval
determina la frequenza di convalida: in genere per le reti di grandi dimensioni si imposta test_interval
nell'ordine di 5K, per le reti più piccole e più veloci è possibile scegliere valori più bassi. Di nuovo, tutto a te.
Per coprire l'intero set di allenamento (completando una "epoca") è necessario eseguire le iterazioni T/tb
. Di solito si allena per diverse epoche, quindi max_iter=#epochs*T/tb
.
Riguardo a iter_size
: questo consente di ottenere gradienti medi su diversi mini lotti di addestramento, vedere this thread per ulteriori informazioni.
Un altro parametro meta è 'weight_decay'. vedere [questo thread] (http://stackoverflow.com/q/32177764/1714410) su come impostarlo. – Shai