Laboratorio Gradient Descent e Funzioni di attivazioni
Ripasso
Gradient Descent è un algoritmo di ottimizzazione iterativa per trovare il minimo di una funzione.
Un tasso di apprendimento elevato può portare a grandi passi e a mancare il punto di minimo.
Un tasso di apprendimento piccolo può portare a passi estremamente piccoli e far sì che l'algoritmo impieghi molto tempo per trovare il punto minimo.
Le reti neurali si addestrano e ottimizzano i loro pesi e bias inizializzandoli con valori casuali. Successivamente, si ripete il seguente processo in un loop.
In primo luogo, si calcola l'uscita della rete utilizzando la propagazione in avanti. In secondo luogo, si calcola l'errore tra la verità a terra e l'output stimato o previsto della rete. In terzo luogo, si aggiornano i pesi e le polarizzazioni attraverso la backpropagation. Infine, si ripetono le tre fasi precedenti finché non si raggiunge il numero di iterazioni o di Epoch o finché l'errore tra la verità a terra e l'output previsto non è inferiore a una soglia predefinita.
Il problema del gradiente che svanisce è causato dal problema della funzione di attivazione sigmoide, che impedisce alle reti neurali di crescere prima.
In un network molto semplice di soli due neuroni, i gradienti sono piccoli, ma soprattutto il gradiente dell'errore rispetto a w1 è molto piccolo.
Quando eseguiamo la backpropagation, continuiamo a moltiplicare i fattori inferiori a uno l'uno per l'altro, quindi i loro gradienti tendono a diventare sempre più piccoli man mano che si procede all'indietro nella rete.
I neuroni dei primi strati della rete apprendono molto lentamente rispetto ai neuroni degli strati successivi.
Poiché gli strati precedenti sono i più lenti da addestrare, il processo di addestramento richiede troppo tempo e l'accuratezza della previsione è compromessa.
Non usiamo la sigmoide o funzioni simili come funzioni di attivazione perché sono soggette a problemi di gradiente che svanisce.
Le funzioni di attivazione svolgono un ruolo importante nell'addestramento di una rete neurale.
È possibile utilizzare sette funzioni di attivazione per costruire una rete neurale.
Le funzioni sigmoidi sono una delle funzioni di attivazione più utilizzate negli strati nascosti di una rete neurale.
La funzione tangente iperbolica è una versione in scala della funzione sigmoide, ma è simmetrica rispetto all'origine.
La funzione ReLU è la funzione di attivazione più utilizzata oggi nella progettazione delle reti e il suo principale vantaggio è che non attiva tutti i neuroni contemporaneamente.
La funzione Softmax è utilizzata idealmente nello strato di uscita del classificatore, dove si cerca di ottenere le probabilità per definire la classe di ogni ingresso.
Last updated