为了更好的在下次讨论班讲述 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]);比如 dimensionaly
reduction [17],其实把原来的网络反过来就可以 reconstruction,
然后根据 reconstruction error 使用 BP;又比如

相关连接

研究问题

1. 是否可以用 nonparametric Bayesian method 改变 Boltzmann
machine?