dfdx / Boltzmann.jl

Restricted Boltzmann Machines in Julia
Other
67 stars 27 forks source link

DBN redesign #4

Closed dfdx closed 9 years ago

dfdx commented 9 years ago

Current DBN implementation simply uses a list of (anonymous) RBMs, but it seems like a more common approach for layered models is to give every layer a name (e.g. see SciKit Learn's Pipeline or design of Mocha.jl). It helps in debugging, allows working with named entities (instead of indexes) and enables interoperability with other tools.

I have prepared new implementation that adds names to layers and allows to save DBN to Mocha-compatible HDF5 files (see example for details), but could miss some important use cases. I'm interested:

  1. Is this implementation clear? Is it convenient?
  2. Does it cover all important use cases? If not, what else should be done?

Specifically, I'm curious to hear @jfsantos 's opinion.

pluskid commented 9 years ago

Great! I just added an example of using stacked auto-encoder to do pre-training: http://mochajl.readthedocs.org/en/latest/tutorial/mnist-sDA.html . Might be good to add a similar tutorial example using DBN from Boltzmann.jl later.

jfsantos commented 9 years ago

I think it looks good, at least for the use cases I have in mind.