Le reti neurali apprendono una funzione o una funzione di densità di probabilità?


19

La domanda potrebbe sembrare un po 'strana perché sono nuovo nell'inferenza statistica e nelle reti neurali.

Quando in problemi di classificazione usando le reti neurali diciamo che vogliamo imparare una funzione f che mappa lo spazio degli ingressi x , allo spazio delle uscite y :

f(x;θ)=y

Stiamo adattando i parametri ( θ ) per modellare una funzione non lineare o per modellare una funzione di densità di probabilità?

Non so davvero come scrivere la domanda in un modo migliore. Ho letto più volte entrambe le cose (funzione di densità di probabilità, o funzione proprio così), quindi la mia confusione.

Risposte:


15

A rigor di termini, le reti neurali stanno adattando una funzione non lineare.

Possono essere interpretati come adattamento di una funzione di densità di probabilità se si scelgono adeguate funzioni di attivazione e si rispettano determinate condizioni (i valori devono essere positivi e 1, ecc ...). Ma questa è una domanda su come scegli di interpretare il loro output, non su ciò che stanno effettivamente facendo. Sotto il cofano, sono ancora stimatori di funzioni non lineari, che si sceglie di applicare al problema specifico della stima PDF.


3
@sdiabr effettivamente non sarebbe utilizzare la soglia se si voleva la rete per simulare un pdf - dal momento che un pdf può avere altri valori oltre a 1 e 0. Con la soglia diventa un classificatore semplice.
Skander H.

2
Il modo corretto di guardare a questo è che il limite è un problema esterno a ciò che viene appreso dalla rete. Non rispettare questa distinzione causa molti problemi nelle applicazioni della ML a problemi del mondo reale.
Matthew Drury,

1
Sì okey, ho capito. Dimenticando la soglia, quindi modellerei un pdf? Penso di essermi confuso con il limite perché ho letto qualcosa sulla modellazione di una distribuzione di Bernouilli. Tuttavia, senza la soglia, è già Bernoilli giusto? Nel caso abbiamo solo un nodo di output con una funzione di attivazione sigmoid, che produrrebbe 0 o 1 con una probabilità p o (1-p)
sdiabr

1
Sì, mi sono confuso di nuovo, grazie @CagdasOzgenc. Riproviamo: utilizzando una funzione sigmoid nel livello di output modelliamo direttamente un pdf, giusto? seguendo qualunque distribuzione possa imparare a seguire.
sdiabr,

2
Tuttavia, non state imparando la distribuzione di probabilità dei coefficienti sconosciuti, quindi non state imparando la distribuzione predittiva posteriore.
Brash Equilibrium,

11

Generalmente le reti neurali non sono utilizzate per modellare densità di probabilità complete. Il loro obiettivo è semplicemente modellare la media di una distribuzione (o in una situazione deterministica semplicemente una funzione non lineare). Tuttavia è molto possibile modellare densità di probabilità complete tramite reti neurali.

Un modo semplice per farlo è ad esempio per un caso gaussiano è quello di emettere la media da un output e la varianza da un altro output della rete e quindi ridurre al minimo come parte di il processo di allenamento invece dell'errore quadrato comune. Questa è la procedura di massima verosimiglianza per una rete neurale.logN(y|x;μ,σ)

Una volta che si allena questa rete ogni volta che si collega un valore come input, si otterranno μ e σ , quindi è possibile collegare l'intera tripletta y , μ , σ alla densità f ( y | x ) N ( μ , σ ) per ottenere il valore di densità per ogni yxμσy,μ,σf(y|x)N(μ,σ)y ti piace. In questa fase puoi scegliere quale valore utilizzare in base a una funzione di perdita del dominio reale. Una cosa da tenere a mente è che per μ l'attivazione dell'uscita dovrebbe essere illimitata in modo da poter emettere -yμ a + inf mentre σ dovrebbe essere solo un'attivazione positiva.inf+infσ

In generale, a meno che non si tratti di una funzione deterministica che stiamo cercando, l'allenamento standard di perdita quadrata utilizzato nelle reti neurali è praticamente la stessa procedura che ho descritto sopra. Sotto il cofano si assume implicitamente una distribuzione senza preoccuparsi della σ e se si esamina attentamente - l o g N ( y | x ; μ , σ ) fornisce un'espressione per perdita quadrata ( La perdita funzione dello stimatore gaussiano della massima verosimiglianza ). In questo scenario, tuttavia, anziché una yGaussianσlogN(y|x;μ,σ)y valore a proprio piacimento si è bloccati con l'emissione ogni volta che ti viene dato un nuovovalore x .μx

Per la classificazione l'uscita sarà un distribuzione anziché un G un u s s i a n , che ha un singolo parametro di emettere. Come specificato nell'altra risposta, questo parametro è compreso tra 0 e 1, quindi l'attivazione dell'uscita dovrebbe essere di conseguenza. Può essere una funzione logistica o qualcos'altro che raggiunge lo stesso scopo.BernoulliGaussian01

Un approccio più sofisticato è Bishop's Mixture Density Networks. Puoi leggerlo nel documento di riferimento frequente qui:

https://publications.aston.ac.uk/373/1/NCRG_94_004.pdf


Mi hai battuto troppo to Volevo citare gli MDN di Bishop ... c'è anche un altro modo per far sì che le reti neurali producano pdf, che è ovviamente il paradigma bayesiano. Scriverò una risposta su questo.
DeltaIV

Un altro divertente documento sulle reti a densità mista, usato per prevedere le condizioni di navigazione: icml.cc/Conferences/2005/proceedings/papers/…
Matthew Drury,

Dovrebbe cambiare "l'intera tripletta y, μ, σ" in "l'intera tripletta x, μ, σ"?
Moh,

@moh no. viene dato x e non apparirà nella densità.
Cagdas Ozgenc,

1

La mia risposta dissenziente è che nella maggior parte delle applicazioni pratiche impressionanti (quelle in cui ottengono maggiore copertura nei media, ad esempio) non è né la funzione né le probabilità. Implementano il processo decisionale stocastico.

A prima vista sembra che NN stia semplicemente adattando la funzione, accodando il file riferimento di approssimazione universale . In alcuni casi, quando vengono utilizzate determinate funzioni di attivazione e ipotesi particolari come errori gaussiani o quando leggi articoli su reti bayesiane, sembra che NN sia in grado di produrre le distribuzioni di probabilità.

Tuttavia, questo è tutto solo a proposito. Ciò che NN intende fare è modellare il processo decisionale. Quando un'auto è guidata dall'intelligenza artificiale, il suo NN non sta cercando di calcolare la probabilità che abbia un oggetto davanti, quindi dato che esiste un oggetto per calcolare la probabilità che sia un essere umano. Né sta calcolando la mappatura degli ingressi del sensore su vari tipi di oggetti. No, NN dovrebbe prendere una decisione in base a tutti gli input per sterzare lateralmente o continuare a guidare. Non sta calcolando la probabilità, sta dicendo all'auto cosa fare.

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.