Restricted Boltzmann Machine node. An RBM is an undirected
probabilistic network with binary variables. The graph is
bipartite into observed (visible) and hidden (latent) variables.
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
For more information on RBMs, see
Geoffrey E. Hinton (2007) Boltzmann machine. Scholarpedia, 2(5):1668
|
__init__(self,
hidden_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. |
|
|
|
|
|
_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). |
|
|
|
energy(self,
v,
h)
Compute the energy of the RBM given observed variables state v and
hidden variables state h . |
|
|
|
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. |
|
|
|
sample_h(self,
v)
Sample the hidden variables given observations v. |
|
|
|
sample_v(self,
h)
Sample the observed variables given hidden variable state h. |
|
|
|
|
|
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). |
|
|
Inherited from unreachable.newobject :
__long__ ,
__native__ ,
__nonzero__ ,
__unicode__ ,
next
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__setattr__ ,
__sizeof__ ,
__subclasshook__
|
|
|
|
__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. |
|
|
|
|
|
|