Essere più veloci o più bassi è un termine relativo e deve essere compreso nel contesto di ciò a cui si confronta. Quindi, per capirlo, dobbiamo prima considerare come funziona la discesa gradiente con altri tipi della funzione di attivazione.
Esempio di installazione
Considera un MLP con livelli nascosti di dimensione uno.n
z1=W1x+b1
a1=f(z1)
...
zn=Wnan−1+bn
y=f(zn)
dove è la funzione di attivazione.f
Tanh e Sigmoid - Sfumatura sfumata
Supponiamo che sia la funzione di attivazione Tanh o Sigmoid. La derivata di tali funzioni è limitata tra -1 a 1 o formalmente per qualsiasi .ff′(x)∈(−1,1)x
Ciò causa un problema molto importante nell'apprendimento profondo noto come "problema di sfumatura graduale". Consideriamo la derivata di WRT . Per regola a catena, abbiamo
yW1
dfdW1=dfdWndWndWn−1...dW2dW1
e per ogni , nota che
0<i<n
dXidXi−1=f′(Wi−1ai−2+bi−1)×ai−2∈(−1,1)
(Il primo termine è compreso tra perché è limitato come discusso in precedenza e è anche compreso tra come valore di input di compressione.)(−1,1)f′ai−2(−1,1)
Quindi è fondamentalmente un prodotto di molti termini ciascuno tra (0, 1). Maggiore è la (più profonda della rete), maggiore è il termine che dobbiamo moltiplicare e come risultato di diventa esponenzialmente più piccola. A causa di questa relazione esponenziale, il gradiente diventa rapidamente così piccolo che possiamo effettivamente considerarlo zero. La conseguenza di avere zero gradienti è che l'apprendimento non può avvenire affatto perché la nostra regola di aggiornamento per la discesa del gradiente si basa su quel gradiente.dfdW1ndfdW1
RELU e Dead Neuron
Relu è stato inventato per affrontare il problema del gradiente di sparizione perché la sua derivata è sempre 1 quando quindi quando è RELU abbiamo:
f d X iai>0fdf
dXidXi−1=ai−2
dfdW1=a1a2a3...an−1
Tutto bene e bene quando ma le cose cadono a pezzi ogni volta che , questa volta non solo il gradiente è molto vicino allo zero, è uno zero puro. Una volta che un neurone arriva lì, non c'è alcuna possibilità di tornare indietro. Ecco perché questo è noto come il problema "Dead Neuron"x < 0x>0x<0
Perdite RELU ed ELU
Perdite RELU ed ELU sono lo sviluppo naturale dopo RELU. Sono simili a RELU in quanto tali la derivata è uguale a 1 quando ma ha evitato "neurone morto" evitando zero derivati quando .x < 1x>0x<1
Cito il documento originale per la differenza tra i due.
Sebbene anche le LReLU e le PReLU abbiano valori negativi, non garantiscono uno stato di disattivazione resistente al rumore. Le ELU si saturano a un valore negativo con input più piccoli e quindi riducono la variazione e le informazioni propagate in avanti.
La spiegazione intuitiva è la seguente. In ELU, ogni volta che x diventa abbastanza piccolo, il gradiente diventa davvero piccolo e saturo (come accade per Tanh e Sigmoid). Il piccolo gradiente significa che l'algoritmo di apprendimento può concentrarsi sulla messa a punto di altri pesi senza preoccuparsi dell'interattività con i neuroni saturi.
Considera un polinomio di grado 2 che può essere rappresentato come una superficie liscia in uno spazio 3D. Per trovare il minimo locale, un algoritmo di discesa gradiente dovrà considerare la pendenza in entrambe le direzioni xe y. Se il gradiente è sia negativo nella direzione x che nella direzione y, non è chiaro quale sia il modo migliore. Quindi è sensato scegliere un percorso nel mezzo. Ma cosa succede se sappiamo già che tutto è piatto (zero gradienti) nella direzione x, allora diventa un gioco da ragazzi andare nella direzione y. O in altre parole, lo spazio di ricerca diventa molto più piccolo.
nota speciale
Nell'apprendimento profondo, ci sono molte affermazioni senza abbastanza prove empiriche o comprensione approfondita per sostenerlo. Nel caso di ELU, mentre potrebbe essere vero che si traduce in una più rapida convergenza per alcuni set di dati, potrebbe anche essere vero che rende l'algoritmo di apprendimento bloccato al massimo locale per un set di dati diverso. Non sappiamo ancora abbastanza.