Currently, the layer objects (denote by vis) assume they are connected to a single layer (denoted hid) by a fully connected weights layer. Layers in conditional and recurrent RBMs are connected to two layers, however. For example, the visible layer at time t in a conditional RBM is connected to the visible layer at time t-1 and the hidden layer at time t. It should be pretty easy to generalize the current setup to allow for this behavior by passing a layer the list of connected layers rather than a single object. Making this change now shouldn't effect any of the models we have already implemented, but will make it a lot easier to add temporal models.
Currently, the layer objects (denote by
vis
) assume they are connected to a single layer (denotedhid
) by a fully connectedweights
layer. Layers in conditional and recurrent RBMs are connected to two layers, however. For example, the visible layer at timet
in a conditional RBM is connected to the visible layer at timet-1
and the hidden layer at timet
. It should be pretty easy to generalize the current setup to allow for this behavior by passing a layer the list of connected layers rather than a single object. Making this change now shouldn't effect any of the models we have already implemented, but will make it a lot easier to add temporal models.