2015-08-23 1 views
0

J'ai écrit une implémentation fonctionnelle d'un RBM avec des unités binaires cachées/visibles dans R. Je cherchais depuis longtemps, mais je n'arrive pas à comprendre comment changer les unités binaires en gaussiennes ou ReLUs.Machine Boltzmann restreinte (RBM): Modification d'unités binaires en unités gaussiennes ou relu

Si je voulais que mes données d'entrée soient de vraies valeurs, est-ce que je changerais les unités visibles et les unités cachées? Ou seulement les unités visibles?

Disons que je voulais changer les deux. Actuellement, je calcule les probabilités cachées/visibles en utilisant la fonction sigmoïde logistique (1/(1 + e^(- x))). Le ReLU utilise max (0, x + N (0,1)). Comme je le comprends actuellement, je changerais toutes les occurrences de la fonction sigmoïde logistique avec la fonction ReLU max. Cependant, cela ne donne pas de résultats qui ont un peu de sens. Donc je ne suis pas sûr de ce que je suis supposé changer.

Répondre

0

Vous pouvez modifier l'activation de l'unité visible sans modifier l'activation de l'unité masquée. Donc, vous pourriez avoir des unités cachées de Bernoulli et des unités visibles gaussiennes. Si vous pré-entraînement pour un réseau en profondeur, il est préférable d'utiliser la même fonction d'activation que vous aurez dans votre réseau final (généralement relus). J'ai également écrit du code RBM, une astuce pour obtenir de meilleurs résultats est de ne pas échantillonner la reconstruction visuelle ou la rêverie (lors de l'utilisation de CD-1). Je ne serais pas en mesure d'aider plus sans regarder votre code ou vous faire clarifier «un peu de sens» pour vos résultats.

Un excellent guide pour des conseils sur la formation des RBM peut être trouvé dans A practical guide to training RBMs écrit par Hinton.

Une autre astuce consiste à utiliser la Divergence Contrastive Persistante qui suppose que les mises à jour de poids sont suffisamment petites pour ne pas modifier la chaîne markov. En code, cela équivaut à activer les unités visuelles de la dernière rêverie et la rêverie de la reconstruction visuelle. Dans mon expérience, il faut beaucoup moins de temps pour former, papier original: http://www.machinelearning.org/archive/icml2008/papers/638.pdf

Encore une fois, postez votre code et les résultats et je suis prêt à vous aider à les parcourir.