Deep Belief Network
为了更好的在下次讨论班讲述 DBN,特开此帖。主要是
介绍 DBN 的相关知识,做一份逻辑上完整的东西。参考Hinton 的东西来讲吧:reading list
RBM 相关[2] Haykin 书上第 11 章[3] Duda 书上第 7 章Contrastive Divergence 相关
Helmholtz machine 相关
PoE 相关
DBN 相关
其他相关文章
简介
理解 DBN 分几个步骤,如何训练一个 DBN 每层的 RBM,如何把这些 RBM 粘合起来,最后如何使用这些作为一个belief network 解决实际问题。RBM 是一个 PoE [6],因此也是一个特殊的 MRF,其学习由
于那个 normalization factor 造成困难,虽然可以用 MCMC来解决,但是并不好(速度慢、方差大)。在 2002 年左右Hinton 提出了基于 CD 的训练算法 [6] 取代原来的 MLE获得了良好的效果,为什么会去做 RBM 可以参看关于 RBM 这个universal approximator 的文章 [5]。使用 deep architecture 的主要原因是 encoding efficiency [15],
使用多层需要用一个 greedy 算法 pretraining [16],这个算法保证第一层上训练出来的隐层的分布作为第二层的显层输入时可以提高边际似然 [16]。接着需要根据应用的类型对这个模型进一步的 fine tune。比如分类问题,可以引入一层 softmax 的 neuron [16],用其在
标注数据上的 loss 使用 BP 进行 fine tune(可能需要Helmholtz machine 相关的方法 [10]);比如 dimensionalyreduction [17],其实把原来的网络反过来就可以 reconstruction,然后根据 reconstruction error 使用 BP;又比如相关连接
研究问题
1. 是否可以用 nonparametric Bayesian method 改变 Boltzmannmachine?