-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Allow users to use free energy in the objective of the RBM i.e., in
https://github.com/dwavesystems/dwave-pytorch-plugin/blob/main/dwave/plugins/torch/boltzmann_machine.py#L323
instead of using energy in the objective of RBM allow user to alternatively use free energy. Free energy is obtained after marginalizing out the hidden variables. This will eliminate the need for sampling hidden variables, will reduce noise or variance that is introduced by sampling hidden units.
The current loss function is <E_theta(v, h)|v~data, h~p(h|v)> - <E_theta(v, h)|(v,h) ~ model>
the new loss function using free energy will remove h
from this equation.
Please see https://proceedings.neurips.cc/paper_files/paper/2013/file/7bb060764a818184ebb1cc0d43d382aa-Paper.pdf for free energy calculation.