Scopo e determinare quando utilizzare i livelli nascosti


9

In seguito a questa domanda ...

Sto cercando di imparare come utilizzare e creare reti neurali per la mia ricerca, e un punto mi sta in qualche modo sfuggendo. Mi rendo conto che i livelli nascosti sono una parte un po 'necessaria di ciò, tuttavia sono bloccato su due punti che i miei riferimenti non spiegano con mia soddisfazione:

  1. Qual è lo scopo esatto del livello nascosto?
  2. Come si determina quanti strati nascosti usare?

Da quello che raccolgo, è "modellare" la funzionalità del mondo reale, ma se possibile vorrei un po 'più di una spiegazione.


ma un po 'di tempo mi rendo conto che se aumenti i livelli nascosti, il problema di adattamento arriva quindi è molto difficile dire quanti livelli nascosti possiamo usare? potrebbe essere il metodo hit and trial.

Risposte:


9

Un livello nascosto viene utilizzato per aumentare l'espressività della rete. Consente alla rete di rappresentare modelli più complessi del possibile senza il livello nascosto.

La scelta del numero di livelli nascosti, o più in generale la scelta dell'architettura di rete incluso il numero di unità nascoste anche nei livelli nascosti, sono decisioni che dovrebbero essere basate sui dati di training e di convalida incrociata. È necessario addestrare la rete con una quantità prestabilita di nodi (per iniziare, provare un livello nascosto, con un'unità per unità di input) e testare il modello.

Vedi questo link per ulteriori informazioni : http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html


1
quel link è abbastanza utile
the_e

6

Presumo che stiamo discutendo di semplici reti neurali feed-forward, ovvero percetroni multistrato.

  1. Il livello nascosto è necessario per acquisire dipendenze non lineari tra le funzionalità dei dati e la variabile che si sta tentando di prevedere. Se non si utilizza un livello nascosto, è possibile utilizzare anche la regressione lineare (per la regressione) o la regressione logistica (per la classificazione).
  2. Provando vari numeri di livelli nascosti e valutando il loro funzionamento, ad esempio in un'impostazione di convalida incrociata. Comunemente, un livello nascosto sarà sufficiente e le prestazioni di NN sono ottimizzate variando le sue dimensioni e la regolarizzazione.

Tieni presente che con più di due livelli nascosti, sei in una terra di apprendimento profondo e probabilmente avrai bisogno di algoritmi personalizzati per addestrare la tua rete. Il motivo è che la backpropagation della vaniglia soffre del problema del "gradiente di sparizione" nelle reti profonde: il gradiente della funzione di errore si abbassa sugli strati vicino all'ingresso, e quei livelli difficilmente saranno addestrati.

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.