Restricted Boltzmann Machine with softmax labels. An RBM is an
undirected probabilistic network with binary variables. In this
case, the node is partitioned into a set of observed (visible)
variables, a set of hidden (latent) variables, and a set of
label variables (also observed), only one of which is active at
any time. The node is able to learn associations between the
visible variables and the labels.
The network is trained by Contrastive Divergence, as described in
Hinton, G. E. (2002). Training products of experts by minimizing
contrastive divergence. Neural Computation, 14(8):1711-1800
|
__init__(self,
hidden_dim,
labels_dim,
visible_dim=None,
dtype=None)
If the input dimension and the output dimension are
unspecified, they will be set when the train or execute
method is called for the first time.
If dtype is unspecified, it will be inherited from the data
it receives at the first call of train or execute. |
|
|
|
_sample_v(self,
h,
sample_l=False,
concatenate=True) |
|
|
|
|
|
energy(self,
v,
h,
l)
Compute the energy of the RBM given observed variables state v
and l , and hidden variables state h . |
|
|
|
execute(self,
v,
l,
return_probs=True)
If return_probs is True, returns the probability of the
hidden variables h[n,i] being 1 given the observations v[n,:]
and l[n,:]. If return_probs is False, return a sample from
that probability. |
|
|
|
sample_h(self,
v,
l)
Sample the hidden variables given observations v and labels l . |
|
|
|
sample_v(self,
h)
Sample the observed variables given hidden variable state h . |
|
|
|
train(self,
v,
l,
n_updates=1,
epsilon=0.1,
decay=0.0,
momentum=0.0,
verbose=False)
Update the internal structures according to the visible data v
and the labels l .
The training is performed using Contrastive Divergence (CD). |
|
|
Inherited from unreachable.newobject :
__long__ ,
__native__ ,
__nonzero__ ,
__unicode__ ,
next
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__setattr__ ,
__sizeof__ ,
__subclasshook__
|
|
|
|
_execute(self,
v,
return_probs=True)
If return_probs is True, returns the probability of the
hidden variables h[n,i] being 1 given the observations v[n,:].
If return_probs is False, return a sample from that probability. |
|
|
|
|
|
|
|
|
|
|
|
_train(self,
v,
n_updates=1,
epsilon=0.1,
decay=0.0,
momentum=0.0,
update_with_ph=True,
verbose=False)
Update the internal structures according to the input data v .
The training is performed using Contrastive Divergence (CD). |
|
|
|
|
|
|
|
__call__(self,
x,
*args,
**kwargs)
Calling an instance of Node is equivalent to calling
its execute method. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_refcast(self,
x)
Helper function to cast arrays to the internal dtype. |
|
|
|
|
|
|
|
copy(self,
protocol=None)
Return a deep copy of the node. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inverse(self,
y,
*args,
**kwargs)
Invert y . |
|
|
|
is_training(self)
Return True if the node is in the training phase,
False otherwise. |
|
|
|
save(self,
filename,
protocol=-1)
Save a pickled serialization of the node to filename .
If filename is None, return a string. |
|
|
|
set_dtype(self,
t)
Set internal structures' dtype. |
|
|
|
|
|
|