I designed a Gaussian (Gaussian distributed visible layer) - Bernoulli (binary distributed) RBM model (for reference, see: Improved Learning of Gaussian-Bernoulli Restricted Boltzmann Machines, pdf) and trained it using MNIST handwritten digits. Now would like to understand the learned model through its weight values. In general, weight values of this model should be positive or negative. My model's weight values are in the range of -1.46 to 1.75. Is this reasonable?

Many research papers suggest (for reference, see: Visually debugging restricted Boltzmann machine training with a 3D example, pdf, Tracking process from this website) that when we visualize weight values of RBM model, it will look like strokes. But when I visualize them, I am not able to get stokes kind of weights. What might be a reason for this?

I would like to know what kind of weight (filter) values a model should have. I have attached the visualization from a MATLAB implementation and expected output from internet.

My output:
it is my output Ideal output:
exact stokes kind of output

  • $\begingroup$ Stokes means kind of curve , u can refer visually debugging paper which i mentioned in question. u can search in google with the reference title i have given $\endgroup$ – subha Sep 25 '14 at 4:02
  • $\begingroup$ There's not enough information about what your model looks like for people to debug your procedure. But I would carefully examine what the researchers did to produce your desired output, and go over your code with a fine-toothed comb to check that you have actually implemented the same model. $\endgroup$ – Sycorax says Reinstate Monica Aug 13 '18 at 1:18

Browse other questions tagged or ask your own question.