Je suggérerais que vous obteniez d'abord une bonne compréhension de ce qu'est le modèle probabiliste sous-jacent dans un réseau neuronal bayésien traditionnel. Dans ce qui suit, certains termes seront écrits en gras . S'il vous plaît, essayez de googler ces termes pour trouver des informations plus détaillées. Ceci est juste un aperçu de base. J'espère que ça aide.
Prenons le cas de la régression dans les réseaux de neurones à action directe et établissons une notation.
Soit désignent les valeurs des prédicteurs au niveau de la couche d'entrée . Les valeurs des unités dans les couches internes seront notées ( z ( ℓ ) 1 , … , z ( ℓ ) N ℓ ) , pour(x1,…,xp)=:(z(0)1,…,z(0)N0)(z(ℓ)1,…,z(ℓ)Nℓ) . Enfin, nous avons lacouche de sortie ( y 1 , … , y k ) = : ( z ( L ) 1 , … , z ( L ) N L ) .ℓ=1,…,L−1 ( y1, … , Yk) = : ( z( L )1, … , Z( L )NL)
Les poids et les biais de l'unité à la couche ℓ seront notés respectivement w ( ℓ ) i j et b ( ℓ ) i pour ℓ = 1 , … , L , i = 1 … , N ℓ et j = 1 , … , N ℓ - 1 .jeℓw( ℓ )je jb( ℓ )jeℓ = 1 , … , Li = 1 … , Nℓj = 1 , … , Nℓ - 1
Soit la fonction d'activation de l'unité i à la couche ℓ , pour ℓ = 1 , … , L et i = 1 … , N ℓ .g( ℓ )je: RNℓ - 1→ Rjeℓℓ = 1 , … , Li = 1 … , Nℓ
Les fonctions d'activation couramment utilisées sont la logistique , ReLU (aka partie positive ) et tanh .
Maintenant, pour , définissons les fonctions de transition de couche
G ( ℓ ) : R N ℓ - 1 → R N ℓ : ( z ( ℓ - 1 ) 1 , … , z ( ℓ - 1 ) N ℓ - 1 ) ↦ ( z ( ℓ ) 1 , … , z (ℓ = 1 , … , L
dans laquelle
z ( ℓ ) i=g ( ℓ ) i
g( ℓ ): RNℓ - 1→ RNℓ: ( z( ℓ - 1 )1, … , Z( ℓ - 1 )Nℓ - 1) ↦ ( z( ℓ )1, … , Z( ℓ )Nℓ) ,
pour
i=1,…, N ℓ .
z( ℓ )je= g( ℓ)je(∑j = 1Nℓ- 1w( ℓ )je jz( ℓ - 1)j+b(ℓ)je) ,
i = 1 , … , Nℓ
Notant l'ensemble des poids et des biais de toutes les unités dans toutes les couches par , c'est-à-dire
θ = { w ( ℓ ) i j , b ( ℓ ) i : ℓ = 1 , … , Lθ
notre réseau neuronal est la famille de fonctions G θ : R p → R k obtenue par composition des fonctions de transition de couche:
G θ = G ( L ) ∘ G ( L - 1 ) ∘ ⋯ ∘ G ( 1 ) .
θ = { w( ℓ )je j, b( ℓ )je: ℓ = 1 , … , L;i = 1 … , Nℓ;j = 1 , … , Nℓ - 1} ,
gθ: Rp→ Rkgθ= G( L )∘ G( L - 1 )∘ ⋯ ∘ G( 1 ).
Il n'y a aucune probabilité impliquée dans la description ci-dessus. Le but de l'activité originale de réseau de neurones est l'ajustement de fonction .
Le «profond» dans le Deep Learning signifie l'existence de nombreuses couches internes dans les réseaux de neurones considérés.
{ ( xje, yje) ∈ Rp×Rk:i=1,…,n}
∑i=1n∥yi−Gθ(xi)∥2,
θx∗Gθ^(x∗)θ^comme pénalité à la fonction objectif, ou en utilisant l'
abandon pendant l'entraînement.
Geoffrey Hinton (alias Deep Learning Godfather) et ses collaborateurs ont inventé bon nombre de ces choses. Les réussites du Deep Learning sont partout.
Lx,y(θ,σ2)∝σ−nexp(−12σ2∑i=1n∥yi−Gθ(xi)∥2),
π( θ , σ2) ∝ exp( - 12 σ20∑ℓ = 1L∑i = 1Nℓ( ( b( ℓ )je)2+ ∑j = 1Nℓ - 1( w( ℓ )je j)2) ) ×π( σ2) .
Par conséquent, les a priori marginaux pour les poids et les biais sont des distributions normales avec une moyenne nulle et une variance commune σ20. Ce modèle commun original peut être beaucoup plus impliqué, avec le compromis de rendre l'inférence plus difficile.
Le Bayesian Deep Learning est confronté à la tâche difficile d'échantillonner à partir de la distribution postérieure correspondante. Après cela, les prédictions sont faites naturellement avec la distribution prédictive postérieure , et les incertitudes impliquées dans ces prédictions sont entièrement quantifiées. Le Saint Graal dans le Bayesian Deep Learning est la construction d'une solution efficace et évolutive. De nombreuses méthodes de calcul ont été utilisées dans cette quête: l' échantillonnage de Metropolis-Hastings et Gibbs , l' hamiltonien de Monte Carlo et, plus récemment, l' inférence variationnelle .
Consultez les vidéos de la conférence NIPS pour quelques exemples de réussite: http://bayesiandeeplearning.org/