deeplearning的wake-sleep算法
对于多层的神经网络,在单独训练完每一层之后,需要对整个系统进行调优。
(这里的每一层要求能单独训练,常用的为自编码网络、RBM网络、去噪自编码网络(加噪声训练的自编码网络,鲁棒性强))
但是基于SGD随机梯度下降的方法在多层上容易产生各种梯度问题、如梯度发散等。
因此这时候就出现了wake-sleep算法。wake-sleep算法的思想跟CD(基于gibbs采样的对比散度算法)有相似的地方,
二者都有前向与后向的生成过程。而Gibbs算法主要用于生成模型(RBM网络)上,因此作为与之有相关性的wake-sleep算法也能单独应用与某类网络的训练。
但是Helmholtz machine与RBM的根本性联系是什么呢?二者都有类似Gibbs采样的步骤?需要回头好好研究一下。
这个网络就是Helmholtz machine:http://www.nku.edu/~kirby/docs/HelmholtzTutorialKoeln.pdf
这篇文章的题目是:A Tutorial on Helmholtz Machines
关于wake-sleep算法图文并茂的一个讲解:http://puxuan.me/2016/07/20/deep-learning/
套用文中的一个图: