The up-down algorithm:
A contrastive divergence version of wake-sleep