Varieties of Helmholtz machine
Peter Dayan   Geoff Hinton
Neural Networks, 9, 1385-1403.
Abstract
The Helmholtz machine is a new unsupervised learning architecture that
uses top-down connections to build probability density models of input
and and bottom up connections to build inverses to those models. The
wake-sleep learning algorithm for the machine involves just the purely
local delta rule. This paper suggests a number of different varieties
of Helmholtz machines, each with its own strengths and weaknesses, and
relates them to cortical information processing.