Come trovare il numero ottimale di neuroni per strato?


28

Quando scrivi l'algoritmo, come fai a sapere di quanti neuroni hai bisogno per singolo strato? Esistono metodi per trovarne il numero ottimale o è una regola empirica?

Risposte:



7

Per un approccio più intelligente delle ricerche casuali o esaustive, potresti provare un algoritmo genetico come NEAT http://nn.cs.utexas.edu/?neat . Tuttavia, questo non ha alcuna garanzia per trovare un optima globale, è semplicemente un algoritmo di ottimizzazione basato sulle prestazioni ed è quindi vulnerabile a rimanere bloccato in un optima locale.


1
Si avvicinerà comunque ad un ottimo globale, comunque.
jjmerelo,

4

Paper Szegedy C, Vanhoucke V, Ioffe S, et al. Ripensare l'architettura iniziale per la visione artificiale [J]. arXiv prestampa arXiv: 1512.00567, 2015. fornisce alcuni principi generali di progettazione:

  1. Evita i colli di bottiglia rappresentativi, specialmente all'inizio della rete;

  2. Bilancia la larghezza e la profondità della rete. È possibile raggiungere prestazioni ottimali della rete bilanciando il numero di filtri per fase e la profondità della rete. Aumentare sia la larghezza che la profondità della rete può contribuire a reti di qualità superiore. Tuttavia, il miglioramento ottimale per una quantità costante di calcolo può essere raggiunto se entrambi sono aumentati in parallelo. Il bilancio computazionale dovrebbe quindi essere distribuito in modo equilibrato tra la profondità e la larghezza della rete.

Tuttavia, questi suggerimenti non possono portare il numero ottimale di neuroni in una rete.

Tuttavia, esistono ancora alcune ricerche sulla compressione dei modelli, ad esempio Structured Sparsity Learning (SSL) di Deep Neural Networks , SqueezeNet , Potun network che potrebbero far luce su come ottimizzare i neuroni per singolo strato.

Soprattutto nell'apprendimento strutturato della sparsità delle reti neurali profonde , aggiunge un Group Lassotermine di regolarizzazione nella funzione di perdita per regolarizzare le strutture (vale a dire filtri, canali, forme di filtro e profondità dello strato) dei DNN, che è cioè azzerare alcuni componenti ( vale a dire filtri, canali, forme di filtro e profondità dello strato) della struttura della rete e raggiunge una notevole compattezza e accelerazione della rete, mantenendo una perdita di precisione della classificazione ridotta.


3

Sai quando hai troppi neuroni è quando ti alleni. Ciò significa che non funziona bene perché NN sta cercando di attivare la corrispondenza più perfetta che è impossibile. Come due diversi gatti con la stessa quantità di atomi, o per dire, è un rivelatore NN che si attiva solo su una foto del tuo gatto domestico e nient'altro. Volete un intervallo più ampio per l'attivazione di nn. Come su qualsiasi foto di gatto.

L'overfitting è un problema che non ha una vera soluzione rapida. Puoi iniziare con troppo pochi e poi continuare ad aggiungerne altri. O inizia con un sacco e poi rimuovendoli fino a quando non funziona correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.