Les RBM sont une bête intéressante. Pour répondre à votre question et pour vous rafraîchir la mémoire, je vais dériver des RBM et parler de la dérivation. Vous avez mentionné que vous êtes confus quant à la probabilité, donc ma dérivation sera du point de vue d'essayer de maximiser la probabilité. Commençons donc.
Les RBM contiennent deux ensembles différents de neurones, visible et caché, je les dénoterai respectivement et h . Étant donné une configuration spécifique de v et h , nous cartographions l'espace de probabilité.vhvh
p(v,h)=e−E(v,h)Z
Il y a encore deux choses à définir. La fonction de substitution que nous utilisons pour mapper d'une configuration spécifique à l'espace de probabilité est appelée la fonction d'énergie . La constante Z est un facteur de normalisation pour garantir que nous mappons réellement sur l'espace de probabilité. Passons maintenant à ce que nous recherchons vraiment; la probabilité d'un ensemble de neurones visibles, en d'autres termes, la probabilité de nos données.
Z = ∑ v ∈ V ∑ h ∈ H e - E ( v , h ) p ( v )E(v,h)Z
Z=∑v∈V∑h∈He−E(v,h)
p ( v ) = ∑h ∈ Hp ( v , h ) = ∑h ∈ He- E( v , h )∑v ∈ V∑h ∈ He- E( v , h )
Bien qu'il y ait beaucoup de termes dans cette équation, cela revient simplement à écrire les équations de probabilité correctes. Si tout va bien, jusqu'à présent, cela vous a aidé à réaliser pourquoi nous avons besoin fonction d'énergie pour calculer la probabilité, ou ce qui se fait le plus souvent la probabilité non normalisée . La probabilité non normalisée est utilisée car la fonction de partition Z est très coûteuse à calculer.p ( v ) ∗ ZZ
Passons maintenant à la phase d'apprentissage réelle des RBM. Pour maximiser la vraisemblance, pour chaque point de données, nous devons faire un pas de gradient pour faire . Pour obtenir les expressions de dégradé, il faut quelques acrobaties mathématiques. La première chose que nous faisons est de prendre le log de p ( v ) . Nous allons désormais opérer dans l'espace logarithmique des probabilités afin de rendre le calcul possible.p ( v ) = 1p ( v )
Prenons le gradient par rapport à les paramètres en p ( v )
Journal( p ( v ) ) = log[ ∑h ∈ He- E( v , h )] - journal[ ∑v ∈ V∑h ∈ He- E( v , h )]
p ( v )
∂Journal( p ( v ) )∂θ=- 1∑h′∈ He- E( v , h′)∑h′∈ He- E( v , h′)∂E( v , h′)∂θ+ 1∑v′∈ V∑h′∈ He- E( v′, h′)∑v′∈ V∑h′∈ He- E( v′, h′)∂E( v , h )∂θ
Maintenant, je l'ai fait sur papier et j'ai écrit l'équation demi-finale pour ne pas perdre beaucoup d'espace sur ce site. Je vous recommande de dériver ces équations vous-même. Maintenant, je vais écrire quelques équations qui aideront à poursuivre notre dérivation. Notez que: , p ( v ) = ∑ h ∈ H p ( v , h ) et que p ( h | v ) =Zp ( v , h ) = e- E( v , h′)p ( v ) = ∑h ∈ Hp ( v , h )p ( h | v ) = p ( v , h )p ( h )
∂l o g( p ( v ) )∂θ∂l o g( p ( v ) )∂θ= - 1p ( v )∑h′∈ Hp ( v , h′) ∂E( v , h′)∂θ+ ∑v′∈ V∑h′∈ Hp ( v′, h′) ∂E( v′, h′)∂θ= - ∑h′∈ Hp ( h′| v) ∂E( v , h′)∂θ+ ∑v′∈ V∑h′∈ Hp ( v′, h′) ∂E( v′, h′)∂θ
Et voilà, nous avons dérivé l'estimation du maximum de vraisemblance pour les RBM, si vous voulez, vous pouvez écrire les deux derniers termes via l'attente de leurs termes respectifs (conditionnel et probabilité conjointe).
Notes sur la fonction énergétique et la stochasticité des neurones.
Comme vous pouvez le voir ci-dessus dans ma dérivation, j'ai laissé la définition de la fonction énergétique plutôt vague. Et la raison en est que de nombreuses versions différentes de RBM implémentent diverses fonctions énergétiques. Celui que Hinton décrit dans la conférence liée ci-dessus, et montré par @ Laurens-Meeus est:
E( v , h ) = - aTv - bTh - vTWh .
Il pourrait être plus facile de raisonner sur les termes de gradient ci-dessus via le formulaire d'attente.
∂Journal( p ( v ) )∂θ= - Ep ( h′| v)∂E( v , h′)∂θ+ Ep ( v′, h′)∂E( v′, h′)∂θ
L'attente du premier terme est en fait très facile à calculer, et c'était le génie derrière les RBM. En restreignant la connexion, l'attente conditionnelle devient simplement une propagation vers l'avant de la RBM avec les unités visibles bloquées. Il s'agit de la soi-disant phase de réveil des machines Boltzmann. Maintenant, le calcul du deuxième terme est beaucoup plus difficile et généralement des méthodes de Monte Carlo sont utilisées pour le faire. Écriture du gradient via la moyenne des courses de Monte Carlo:
∂Journal( p ( v ) )∂θ≈ - ⟨ ∂E( v , h′)∂θ⟩p ( h′| v)+ ⟨ ∂E( v′, h′)∂θ⟩p ( v′, h′)
Le calcul du premier terme n'est pas difficile, comme indiqué ci-dessus, donc Monte-Carlo se fait sur le second terme. Les méthodes de Monte Carlo utilisent un échantillonnage aléatoire successif de la distribution, pour calculer l'espérance (somme ou intégrale). Maintenant, cet échantillonnage aléatoire dans les RBM classiques est défini comme définissant une unité sur 0 ou 1 sur la base de sa probabilité de manière stochastique, en d'autres termes, obtenez un nombre uniforme aléatoire, s'il est inférieur à la probabilité des neurones, définissez-le sur 1, s'il est supérieur à la mettre à 0.