Bon tutoriel pour les machines Boltzmann restreintes (RBM)

10

J'étudie la machine Boltzmann restreinte (RBM) et j'ai des problèmes pour comprendre les calculs de vraisemblance des journaux par rapport aux paramètres de la RBM. Même si de nombreux articles de recherche sur la GAR ont été publiés, il n'y a pas d'étapes détaillées des dérivés. Après une recherche en ligne, j'ai pu les trouver dans ce document:

  • Fischer, A. et Igel, C. (2012). Une introduction aux machines Boltzmann restreintes. Dans L. Alvarez et al. (Eds.): CIARP, LNCS 7441, pp. 14–36, Springer-Verlag: Berlin-Heidelberg. ( pdf )

Cependant, les détails de ce document sont trop avancés pour moi. Quelqu'un peut-il m'orienter vers un bon tutoriel / ensemble de notes de cours sur la GAR?


Edit: @David, la section déroutante est montrée ci-dessous (équation 29 à la page 26):

lnL(θ|v)wij=hp(h|v)E(v,h)wij+v,hp(v,h)E(v,h)wij=hp(h|v)hivjvp(v)hp(h|v)hivj(29)=p(Hi=1|v)vjvp(v)p(Hi=1|v)vj.
Upul
la source
Pouvez-vous être plus précis sur les étapes qui vous déroutent?
David J. Harris
1
une bonne lecture est le chapitre 5 de l'apprentissage des architectures profondes pour l'IA ( iro.umontreal.ca/~bengioy/papers/ftml_book.pdf )
dksahuji
@dksahuji merci pour INFO, également prof: Bengio est en train d'écrire un DL et le brouillon initial
Upul
Ce didacticiel contient des explications sur les mathématiques de RBM ( Un didacticiel sur les machines Boltzmann restreintes ).
Jiang Xiang

Réponses:

7

Je sais que c'est un peu tard, mais peut-être que ça aide. Pour obtenir le premier terme de votre équation, il faut comme suit: Nous avons supposé que l'indépendance conditionnelle entre les les unités cachées, étant donné les unités visibles, existent. Ainsi, nous pouvons factoriser la distribution de probabilité conjointe conditionnelle pour les états cachés.

hp(h|v)hivj=vjh1...hi...hnp(h1,...,hi,...hn|v)hi=vjhih_ip(hi,h_i|v)hi
1hi10
=vjhih_ip(hi|v)hip(h_i|v)=vjhip(hi|v)hih_ip(h_i|v)
Le dernier terme est égal à , car nous faisons la somme de tous les états. Ainsi, ce qui reste, c'est le premier terme. Puisque ne prend que les états et nous nous retrouvons avec: 1hi10
=vjp(Hi=1|v)
peschn
la source
7
  1. Il y a un tutoriel décent des RBM sur le site de deplearning .

  2. Ce billet de blog ( Introduction aux machines Boltzmann restreintes ) est écrit dans un langage plus simple et explique très bien les bases de RBMS:

  3. De plus, la meilleure référence est peut-être le cours Neural Networks de Geoff Hinton sur Coursea:

    Je ne sais pas si vous pouvez accéder au cours et aux vidéos après la fin du cours.

sjm.majewski
la source
2
Il y a encore des gens qui s'inscrivent à la classe Coursera et postent sur le forum. Vous pouvez toujours voir toutes les conférences et accéder à tous les quiz et les affectations de programmation (parmi les quiz). Ces informations seront probablement à jour jusqu'à ce que le cours soit à nouveau proposé. Je recommande de m'inscrire au cours juste pour voir ou télécharger le matériel.
Douglas Zare
1

La case orange de gauche vous donne la valeur attendue du gradient d'énergie sur toutes les configurations cachées étant donné qu'un vecteur visible est fixé sur les unités visibles (l'attente sur les données car il utilise un échantillon de votre ensemble d'entraînement). Le terme lui-même est le produit de (1) la probabilité de voir une unité cachée particulière i sur étant donné qu'un vecteur v est fixé sur les unités visibles et (2) l'état d'une unité visible particulière j.

La boîte orange droite est la même chose que la gauche, sauf que vous faites ce qui est dans la boîte orange gauche pour chaque configuration visible possible au lieu de celle qui est fixée sur les unités visibles (l'attente par rapport au modèle puisque rien n'est serré sur les unités visibles).

avalon
la source
1

Le chapitre 5 du cours d'Hugo Larochelle sur l'apprentissage automatique ( vidéo ) est la meilleure introduction que j'ai trouvée jusqu'à présent.

Le dérivé de la fonction de perte n'est pas dérivé dans ces conférences, mais ce n'est pas difficile à faire (je peux publier une analyse de mes calculs si nécessaire, mais ce n'est vraiment pas si difficile). Je suis toujours à la recherche d'un bon manuel couvrant ce sujet mais principalement il n'y a que des articles. Il y a un bon aperçu des articles du chapitre 20 du Deep Learning Book de Bengio .

jakab922
la source