MelJan / PyDeep

PyDeep is a machine learning / deep learning library with focus on unsupervised learning. The library has a modular design, is well documented and purely written in Python/Numpy. This allows you to understand, use, modify, and debug the code easily. Furthermore, its extensive use of unittests assures a high level of reliability and correctness.
http://pydeep.readthedocs.io/en/latest/index.html
52 stars 14 forks source link

what could the results mean from gaussian binary RBM synthesis? #12

Open bhomass opened 1 year ago

bhomass commented 1 year ago

I used the gaussian binary model to train a single class of mnist images.

mnist_4

plotting the prob of the samples generated from random input

sample_prb_4

You can make out the number 4, but the images are not sharp at all.

sampling the states instead of prob gets pure noise

states_4

can you offer any insights into how to sharpen the synthesized images?

bhomass commented 1 year ago

just realized your mnist data is binary. I need to repeat with a real value data set.

However, the sampled states being random noise is still puzzling

MelJan commented 1 year ago

Even if you use the mnist probabilities the appropriate model is a binary binary RBM, not a Gaussian Binary RBM. I assume you did not change the sigma factor in the GRBM, so the sampling uses noise from a Gaussian with variance 1, which easily overshadows the mnist values between zero and one. Use a binary RBM for MNIST