Skip to content

Use free energy in the loss function of RBM #20

@mhramani

Description

@mhramani

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions