Problema del gradiente di fuga ed esplosione: reti neurali 101 |  di Egor Howell |  Dicembre 2023

 | Intelligenza-Artificiale

Come garantire che la tua rete neurale non “muoia” o “esploda”

https://www.flaticon.com/free-icons/neural-network. title=”icone della rete neurale.” Icone della rete neurale create da Paul J. — Flaticon.

In uno dei miei post precedenti, abbiamo spiegato che le reti neurali apprendono attraverso l’algoritmo di backpropagation. L’idea principale è che iniziamo dal livello di output e spostiamo o “propaghiamo” l’errore fino al livello di input aggiornando man mano i pesi rispetto alla funzione di perdita. Se non hai familiarità con questo, ti consiglio vivamente di controllare quel post:

I pesi vengono aggiornati utilizzando la loro derivata parziale rispetto alla funzione di perdita. Il problema è che questi gradienti diventano sempre più piccoli man mano che ci avviciniamo agli strati inferiori della rete. Ciò fa sì che i pesi degli strati inferiori cambino appena durante l’allenamento della rete. Questo è noto come problema del gradiente evanescente.

Può essere vero il contrario laddove i gradienti continuano ad aumentare attraverso gli strati. Questo è il problema del gradiente esplosivo Quale è principalmente un problema in reti neurali ricorrenti.

Tuttavia, a carta pubblicato da Saverio Glorot E Giosuè Bengio nel 2010 sono stati diagnosticati diversi motivi per cui ciò accade ai gradienti. I principali colpevoli furono i funzione di attivazione del sigmoide e come vengono inizializzati i pesi (tipicamente dalla distribuzione normale standard). Questa combinazione fa sì che le varianze cambino tra gli strati fino a quando non diventano saturare ai margini estremi della funzione sigmoidea.

Di seguito è riportata l’equazione matematica e il grafico della funzione sigmoidea. Si noti che ai suoi estremi il gradiente diventa zero. Pertanto, in questi punti di saturazione non viene effettuato alcun “apprendimento”.

Funzione sigmoidea. Trama generata dall’autore in Python.

Esamineremo ora alcune tecniche che possono ridurre la possibilità che i nostri gradienti svaniscano o esplodano durante l’allenamento.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *