Perché la funzione sigmoid invece di qualsiasi altra cosa?


40

Perché la funzione sigmoide standard di fatto, 11+ex , è così popolare nelle reti neuronali (non profonde) e nella regressione logistica?

Perché non usiamo molte delle altre funzioni derivabili, con tempi di calcolo più rapidi o decadimento più lento (quindi il gradiente di scomparsa si verifica meno). Alcuni esempi sono su Wikipedia sulle funzioni sigmoidi . Uno dei miei preferiti con decadimento lento e calcolo veloce è x1+|x| .

MODIFICARE

La domanda è diversa dall'elenco completo delle funzioni di attivazione nelle reti neurali con pro / contro poiché sono interessato solo al "perché" e solo per il sigmoide.


6
Nota che il sigmoid logistico è un caso speciale della funzione softmax e vedi la mia risposta a questa domanda: stats.stackexchange.com/questions/145272/…
Neil G

10
Ci sono altre funzioni come probit o cloglog che sono comunemente usate, vedi: stats.stackexchange.com/questions/20523/…
Tim

4
@ user777 Non sono sicuro che si tratti di un duplicato poiché il thread a cui fai riferimento non risponde realmente alla domanda sul perché .
Tim

@KarelMacek, sei sicuro che la sua derivata non abbia un limite sinistro / destro a 0? Praticamente sembra che abbia una bella tangenziale sull'immagine collegata da Wikipedia.
Mark Horvath,

5
Odio non essere d'accordo con così tanti illustri membri della comunità che hanno votato per chiudere questo come duplicato, ma sono convinto che l'apparente duplicato non affronti il ​​"perché" e quindi ho votato per riaprire questa domanda.
whuber

Risposte:


24

Citando me stesso da questa risposta a una domanda diversa:

Nella sezione 4.2 di Pattern Recognition and Machine Learning (Springer 2006), Bishop mostra che il logit nasce naturalmente come la forma della distribuzione della probabilità posteriore in un trattamento bayesiano della classificazione a due classi. Quindi prosegue dimostrando che lo stesso vale per le funzionalità distribuite in modo discreto, nonché per un sottoinsieme della famiglia di distribuzioni esponenziali. Per la classificazione multi-classe, il logit si generalizza alla funzione esponenziale o softmax normalizzata.

Questo spiega perché questo sigmoide viene utilizzato nella regressione logistica.

Per quanto riguarda le reti neurali, questo post sul blog spiega come diverse non linearità tra cui logit / softmax e il probit usato nelle reti neurali possano essere interpretate in modo statistico e quindi motivate. L'idea alla base è che una rete neurale a più livelli può essere considerata come una gerarchia di modelli lineari generalizzati; in base a ciò, le funzioni di attivazione sono funzioni di collegamento, che a loro volta corrispondono a diverse ipotesi distributive.


1
Grande! Quindi, quando stiamo usando sigmoidi in una rete, possiamo dire che stiamo assumendo implicitamente che la rete "modella" le probabilità di vari eventi (nei livelli interni o nell'output). Questo può essere un modello ragionevole all'interno di una rete anche per errore al quadrato (consentendo al neurone di uscita una diversa funzione di attivazione). Non avevo mai pensato a questa intuizione prima, grazie!
Mark Horvath,

@MarkHorvath Sono felice di averti aiutato. :-)
A. Donda,

Storicamente, non così. Il mio miglior riassunto di una storia disordinata è che il logit è entrato nella scienza statistica in gran parte perché le forme funzionali utilizzate per prevedere i cambiamenti nel tempo (le popolazioni dovrebbero seguire le curve logistiche) hanno guardato bene quando adattate e adottate come funzioni di collegamento [uso anacronistico lì!] Per le risposte binarie ; e sono facili da manipolare con un semplice calcolo, quali espressioni in valori assoluti non lo sono. Ma naturalmente la giustificazione logica più semplice per tali funzioni è interessante e cruciale, e la tua risposta si rivolge a questo.
Nick Cox,

1
Ho letto le sezioni in entrambi i libri di Bishop (2006 e 1995) e non sono ancora convinto che il sigmoid sia essenziale qui, anche se certamente ottengo la motivazione con il logit. Cosa succede se scrivo la stessa funzione di perdita di entropia incrociata basata sul presupposto di Poisson di 2 classi, ma poi uso una funzione di attivazione diversa invece di sigmoid? Ad esempio, questo simile ma non altrettanto bello definito a tratti: g (x) = 1 / (2-2x) se x <0, 1 - 1 / (2 + 2x) per x> 0, g (0) = 0.5. Ora l'equazione della massima verosimiglianza sembra diversa, ma se la minimizziamo non otteniamo ancora probabilità come output?
Eraoul,

se Bischop avrebbe preso , la funzione "naturale" sarebbe , no? aa=p(x,C1)(1+p(x,C1))p(x,C2)a1+a2
Tsjolder,

18

Uno dei motivi per cui questa funzione potrebbe sembrare più "naturale" di altri è che capita di essere l'inverso del parametro canonico della distribuzione di Bernoulli: (La funzione di all'interno dell'esponente si chiama parametro canonico.)p

f(y)=py(1p)1y=(1p)exp{ylog(p1p)}.
p

Forse una giustificazione più convincente viene dalla teoria dell'informazione, in cui la funzione sigmoide può essere derivata come modello di entropia massima . In parole povere, la funzione sigmoide assume una struttura minima e riflette il nostro stato generale di ignoranza sul modello sottostante.


Buona giustificazione per la regressione logistica. La cosa divertente che continuiamo a usare anche questo per un errore al quadrato ...
Mark Horvath,

11

Mi sono posto questa domanda per mesi. Le risposte su CrossValidated e Quora elencano tutte belle proprietà della funzione sigmoidistica logistica, ma sembra che abbiamo abilmente indovinato questa funzione. Quello che mi mancava era la giustificazione per averlo scelto. Ne ho finalmente trovato uno nella sezione 6.2.2.2 del libro "Deep Learning" di Bengio (2016) . A parole mie:

In breve, vogliamo che il logaritmo dell'output del modello sia adatto per l'ottimizzazione basata su gradiente della probabilità logaritmica dei dati di addestramento.

Motivazione

  • Vogliamo un modello lineare, ma non possiamo usare direttamente come .z=wTx+bz(,+)
  • Per la classificazione, ha senso assumere la distribuzione di Bernoulli e modellare il suo parametro in .θP(Y=1)=θ
  • Quindi, abbiamo bisogno di mappare da a per fare la classificazione.z(,+)[0,1]

Perché la funzione sigmoidistica logistica?

Tagliare con produce un gradiente zero per al di fuori di . Abbiamo bisogno di un forte gradiente ogni volta che la previsione del modello è sbagliata, perché risolviamo la regressione logistica con discesa del gradiente. Per la regressione logistica, non esiste una soluzione a forma chiusa.zP(Y=1|z)=max{0,min{1,z}}z[0,1]

La funzione logistica ha la bella proprietà di asintendere un gradiente costante quando la previsione del modello è errata, dato che utilizziamo la stima della massima verosimiglianza per adattarsi al modello. Questo è mostrato di seguito:

Per i benefici numerici, è possibile eseguire la stima della massima verosimiglianza minimizzando la probabilità logaritmica negativa dei dati di allenamento. Quindi, la nostra funzione di costo è:

J(w,b)=1mi=1mlogP(Y=yi|xi;w,b)=1mi=1m(yilogP(Y=1|z)+(yi1)logP(Y=0|z))

Poiché , possiamo concentrarci sul caso . Quindi, la domanda è come modellare dato che abbiamo .P(Y=0|z)=1P(Y=1|z)Y=1P(Y=1|z)z=wTx+b

I requisiti ovvi per la funzione mappingfzP(Y=1|z)

  • zR:f(z)[0,1]
  • f(0)=0.5
  • f(0,0.5)f(x)=1f(x)
  • f

f(z)=11+ezf(z)=0.5+0.5z1+|z|f(z)=11+ez

Y=1

P(Y=1|z)=11+ezY=1m=1

J(z)=log(P(Y=1|z))=log(11+ez)=log(ez1+ez)=z+log(1+ez)

z

  • Quando z è grande, la previsione del modello era corretta, poiché Y=1 . Nella funzione di costo, il log(1+ez)zzz
  • z|z|Y=1log(1+ez)0zzz1z, non vi è saturazione in corso, che causerebbe gradienti di fuga.

Y=0

Y=1Y=0

J(z)Y=1

inserisci qui la descrizione dell'immagine

Y=0

alternative

z1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|

Y=1

J(z)=log(0.5+0.5z1+|z|)

che assomiglia a questo:

inserisci qui la descrizione dell'immagine

z


Cosa intendi quando scrivi "quando il modello è sbagliato"?
Gabriel Romon,

(xi,yi)z=5yi=0

6

Poiché la domanda originale menzionava il problema del gradiente in decadimento, vorrei solo aggiungere che, per i livelli intermedi (dove non è necessario interpretare le attivazioni come probabilità di classe o output di regressione), altre non linearità sono spesso preferite rispetto alle funzioni sigmoidali. Le più importanti sono le funzioni di raddrizzatore (come nelle ReLU ), che sono lineari sul dominio positivo e zero sul negativo. Uno dei loro vantaggi è che sono meno soggetti al problema del gradiente in decomposizione, perché la derivata è costante sul dominio positivo. Le ReLU sono diventate popolari al punto che i sigmoidi probabilmente non possono più essere chiamati standard di fatto.

Glorot et al. (2011) . Reti neurali raddrizzatori sparsi profondi


2
Sì. Penso che il motivo per cui la funzione logistica fosse così popolare fosse dovuto alla sua importazione dalle statistiche. Oggi Relu è il più popolare in molti campi.
Ricardo Cruz,
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.