Come determinare il numero di livelli nascosti e unità di un codificatore automatico profondo?
Sto usando un autoencoder profondo per il mio problema. Tuttavia, il modo in cui scelgo il numero di livelli nascosti e unità nascoste in un livello nascosto è ancora basato sui miei sentimenti.
La dimensione del modello che indica il numero di strati e unità nascosti non dovrebbe essere troppo o troppo bassa perché il modello possa acquisire caratteristiche utili dal set di dati.
Quindi, come faccio a scegliere la giusta dimensione del modello di autoencoder profondo che è abbastanza buono?
Risposte
Hai ragione!
1- il numero di livelli nascosti non dovrebbe essere troppo alto! A causa della discesa del gradiente quando il numero di livelli è troppo grande, l'effetto del gradiente sui primi livelli diventa troppo piccolo! Ecco perché è stato introdotto il modello Resnet.
2- il numero di livelli nascosti non dovrebbe essere troppo piccolo per estrarre buone caratteristiche. È dimostrato che nelle reti CNN i primi strati estraggono elementi molto semplici come linee e curve, ma gli ultimi strati estraggono caratteristiche più complesse.
3- il numero di unità nascoste è un iperparametro e di solito dovresti trovarlo testandolo o in base alle tue conoscenze di base.
Ma cosa puoi fare? Dato che puoi testare diversi parametri e confrontare i loro risultati, ci sono altre opzioni! Un'opzione è la ricerca sulla griglia, puoi controllare questo tutorialhttps://towardsdatascience.com/grid-search-for-model-tuning-3319b259367e