Suggerirei prima di tutto di capire quale sia il modello probabilistico sottostante in una tradizionale rete neurale bayesiana. Di seguito, alcuni termini verranno scritti in grassetto . Per favore, prova a cercare su Google quei termini per trovare informazioni più dettagliate. Questa è solo una panoramica di base. Spero possa essere d'aiuto.
Consideriamo il caso della regressione nelle reti neurali feedforward e stabiliamo qualche notazione.
Let denotano i valori dei predittori sul livello di input . I valori di( x1, ... , xp) = : ( z( 0 )1, ... , z( 0 )N0) unità negli strati interni saranno indicati con , per( z( ℓ )1, ... , z( ℓ )Nℓ) . Infine, abbiamo illivello di output ( y 1 , … , y k ) = : ( z ( L ) 1 , … , z ( L ) N L ) .ℓ = 1 , … , L - 1 ( y1, ... , yK) = : ( z( L )1, ... , z( L )NL)
I pesi e la polarizzazione dell'unità sullo strato ℓ saranno indicati con w ( ℓ ) i j e b ( ℓ ) i , rispettivamente, per ℓ = 1 , … , L , i = 1 … , N ℓ e j = 1 , ... , N ℓ - 1 .ioℓw( ℓ )io jB( ℓ )ioℓ = 1 , … , Li = 1 … , Nℓj = 1 , … , Nℓ - 1
Sia la funzione di attivazione per l'unità i allo strato ℓ , per ℓ = 1 , … , L e i = 1 … , N ℓ .g( ℓ )io: RNℓ - 1→ Rioℓℓ = 1 , … , Li = 1 … , Nℓ
Le funzioni di attivazione comunemente utilizzate sono la logistica , ReLU (aka parte positiva ) e tanh .
Ora, per , definisci le funzioni di transizione del livello
G ( ℓ ) : R N ℓ - 1 → R N ℓ : ( z ( ℓ - 1 ) 1 , … , z ( ℓ - 1 ) N ℓ - 1 ) ↦ ( z ( ℓ ) 1 , … , z (ℓ = 1, … , L
in cui
z ( ℓ ) i=g ( ℓ ) i
sol( ℓ ): RNℓ - 1→ RNℓ: ( z( ℓ - 1 )1, ... , z( ℓ - 1 )Nℓ - 1) ↦ ( z( ℓ )1, ... , z( ℓ )Nℓ) ,
per
i=1,…, N ℓ .
z( ℓ )io= g( ℓ )io( ∑j = 1Nℓ - 1w( ℓ )io jz(ℓ - 1 )j+ b(ℓ )io) ,
i = 1 , … , Nℓ
Indica l'insieme di pesi e distorsioni di tutte le unità in tutti i livelli di , ovvero
θ = { w ( ℓ ) i j , b ( ℓ ) i : ℓ = 1 , … , Lθ
nostra rete neurale è la famiglia di funzioni G θ : R p → R k ottenuta dalla composizione delle funzioni di transizione del livello:
G θ = G ( L ) ∘ G ( L - 1 ) ∘ ⋯ ∘ G ( 1 ) .
θ = { sett( ℓ )io j, b( ℓ )io: ℓ = 1 , … , L;i = 1 … , Nℓ;j = 1 , … , Nℓ - 1} ,
solθ: Rp→ RKsolθ= G( L )∘ G( L - 1 )∘ ⋯ ∘ G( 1 ).
Non ci sono probabilità coinvolte nella descrizione sopra. Lo scopo del business originale della rete neurale è adattamento delle funzioni .
Il "profondo" nel Deep Learning rappresenta l'esistenza di molti strati interni nelle reti neurali in esame.
{ ( xio, yio) ∈ Rp× RK: i = 1 , … , n }
Σi = 1n∥ yio- Gθ( xio) ∥2,
θX*solθ^( x*)θ^come la penalità per la funzione obiettivo o l'uso del
dropout durante l'allenamento.
Geoffrey Hinton (aka Deep Learning Godfather) e collaboratori hanno inventato molte di queste cose. Le storie di successo del Deep Learning sono ovunque.
Lx , y( θ , σ2) ∝ σ- nexp( - 12 σ2Σi = 1n∥ yio- Gθ( xio) ∥2) ,
π( θ , σ2) ∝ exp( - 12 σ20Σℓ = 1LΣi = 1Nℓ( ( b( ℓ )io)2+ ∑j = 1Nℓ - 1( w( ℓ )io j)2) ) × π( σ2) .
Pertanto, i priori marginali per pesi e distorsioni sono distribuzioni normali con media zero e varianza comune σ20. Questo modello comune originale può essere reso molto più coinvolto, con il compromesso di rendere più difficile l'inferenza.
Il Bayesian Deep Learning affronta il difficile compito di campionare dalla corrispondente distribuzione posteriore. Dopo che questo è stato realizzato, le previsioni vengono fatte naturalmente con la distribuzione predittiva posteriore e le incertezze coinvolte in queste previsioni sono pienamente quantificate. Il Santo Graal nel Bayesian Deep Learning è la costruzione di una soluzione efficiente e scalabile. In questa ricerca sono stati usati molti metodi computazionali: campionamento di Metropolis-Hastings e Gibbs , Hamiltonian Monte Carlo e, più recentemente, Inferenza variazionale .
Guarda i video della conferenza NIPS per alcune storie di successo: http://bayesiandeeplearning.org/