Perché accelera la discesa del gradiente se la funzione è fluida?


10

Ora ho letto un libro intitolato "Apprendimento automatico pratico con Scikit-Learn e TensorFlow" e nel capitolo 11, ha la seguente descrizione sulla spiegazione di ELU (Exponential ReLU).

In terzo luogo, la funzione è fluida ovunque, incluso intorno a z = 0, il che aiuta ad accelerare la discesa del gradiente, poiché non rimbalza tanto a sinistra quanto a destra di z = 0.

inserisci qui la descrizione dell'immagine

I zmezzi L'asse X sul grafico sopra. Capisco che la derivata è liscia poiché la z < 0linea ha una curva e in quel regno la derivata non è più uguale a 0.

Tuttavia, come mai se la funzione è "liscia ovunque, anche con z = 0", accelera la discesa del gradiente?


A proposito, sono nella SE corretta? Data Science, Artificial Intelligence e Cross Validated, (e anche MathSE) ... mi sembra che molti argomenti siano strettamente correlati tra loro ...
Blaszard,

2
Penso che sarebbe sicuro pubblicare questa domanda qui su Data Science o su Cross Validated. Forse va bene anche per l'Intelligenza Artificiale, ma ho meno familiarità con quel sito.
Neil Slater,

Buona domanda. La levigatezza ti consente di fare passi audaci nella giusta direzione invece di fare provvisoriamente piccoli passi perché il gradiente potrebbe cambiare drasticamente al passaggio successivo. Per un'analisi della convergenza vedi ad esempio, la discesa accelerata del gradiente di Nesterov per un'ottimizzazione fluida e fortemente convessa
Emre,

@NeilSlater AI ha un ambito molto poco chiaro. Chiudono tali domande. Quindi, DS e CV sarebbero le migliori opzioni :)
Dawny33

Risposte:


1

Suppongo sia dovuto al derivato, in quanto ReLU ha un derivato discontinuo a 0. Quindi, se si utilizza la definizione:

ff(x+ϵ)f(xϵ)2ϵ

e è molto vicino a 0, otterrai molti di questi "salti".x


0

Un preliminare: ci sono tre attributi di una funzione che sono rilevanti qui: continuo, monotonico e differenziabile. RELU è un dado continuo e monotonico non differenziabile in z = 0. Il relu esponenziale o ELU sono tutti e tre questi attributi.

Il differenziale o gradiente ti dà una direzione. Quando la derivata di una funzione non è definita in un punto, la direzione del gradiente è indeterminata in quel punto.

Quando si applica la discesa gradiente, desideriamo modificare continuamente i parametri in modo tale che la funzione di perdita diminuisca costantemente, il che equivale a dire che vogliamo continuare a scendere verso il minimo.

Quando la derivata di una funzione di perdita non è definita ad un certo punto, il gradiente è indeterminato. Ciò significa che la discesa del gradiente potrebbe spostarsi nella direzione sbagliata. L'entità del ritardo causato da questa indeterminatezza dipende dalla velocità di apprendimento e da altri iperparametri. Indipendentemente dagli iperparametri, statisticamente, la derivata indefinita in RELU a z = 0, contribuisce a rallentare la convergenza della discesa del gradiente.


È molto improbabile che il parametro diventi esattamente z = 0 dopo l'inizializzazione.
Pieter,

0

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=Wnan1+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=dfdWndWndWn1...dW2dW1

e per ogni , nota che 0<i<n

dXidXi1=f(Wi1ai2+bi1)×ai2(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)fai2(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

dXidXi1=ai2
dfdW1=a1a2a3...an1

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.


0

Ho un'idea intuitiva del motivo per cui le funzioni regolari sono più veloci da ottimizzare, ma nessuna prova matematica o altro.

La discesa gradiente calcola la derivata della funzione di attivazione per determinare la variazione dei pesi. Quando la funzione di attivazione ha un taglio forte (ad es. Z = 0 per ReLu) l'attivazione dell'unità può cambiare radicalmente (cioè sempre zero o lineare) per punti dati specifici quando si cambiano i pesi.

Gli altri pesi devono essere abituati a questo comportamento radicalmente diverso di un'unità specifica per punti dati specifici. Se, tuttavia, il comportamento dell'unità cambia di nuovo radicalmente durante l'epoca successiva, la rete continua ad accettare i cambiamenti nell'epoca precedente.

Con una funzione regolare non ci sono cambiamenti così radicali. E così la rete può stabilizzarsi più gradualmente.

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.