关于DBN(深度信念网)的几点思考

关于DBN,有以下三个问题比较重要
1.什么是互补先验(complementary priors)?
2.为什么说RBM展开后可以当成sigmoid belief network with tied parameters呢?
3.为什么贪婪逐层训练(Greedy Layerwise Training)可以把DBN的每层当成RBM来训练呢?

首先解释互补先验的概念,这就要从马尔科夫链开始说起了,众所周知,MC具有以下性质:
关于DBN(深度信念网)的几点思考_第1张图片
在符合上述的条件下markov chain 是有唯一的平衡分布的,一旦markov chain收敛到平衡分布的时候,会满足细致平衡原则(detailed balance):
关于DBN(深度信念网)的几点思考_第2张图片
其实就是说该MC在收敛到平衡分布时是可逆的(reversible),这就是互补先验的基本理念了,大家有可能会困惑,这个和DBN有什么关系吗?我可以肯定的说,是有的,其实回过头来看一看互补先验就是为了解决多层有向图模型中推断难的问题,换一种说法,就是因为某些训练法具有互补先验的特性所以才被选上了。好了,废话不多说,我们来看一看为什么互补先验可以使得推断容易了,接下来又是图片啦~
关于DBN(深度信念网)的几点思考_第3张图片
接下来就是重头戏了,把图右边的网络看成是MC的解卷,也就是说每一层表示一个状态,而箭头就是状态转换的方向。(注意箭头方向!!)
关于DBN(深度信念网)的几点思考_第4张图片
当MC收敛到平衡分布的时候根据细节平衡法则,正转移的发生率等于逆转移的发生率,再结合上面图片的内容,其实就是说只要让MC以相反的方向运行就可以轻松的进行推断了,就如同上面说的一样,互补先验其实就是MC的平衡分布。
其实上面的理解了之后,下一个问题就相对来说简单一些了,其实一个执行block gibbs sampling 的RBM相等于我们上面讨论过的由markov chain所定义的directed graph model,具体根据的话大家可自行百度Hammersley-Clifford Theorem,既然知道了这个,就好解释为什么RBM可以展开为sigmoid belief network with tied parameters了,对了,所谓tied parameter(weight)其实就是自上而下(up-down)方向上的w,
关于DBN(深度信念网)的几点思考_第5张图片
其实就是block gibbs sampling的每个状态展开而已,箭头的方向的话和上面说的是一个原理,箭头向下就是从RBM的隐层开始采样,箭头向上就是从可见层开始采样,仅此而已,不过这里有个点是很重要的,也就是可以推出RBM可以看成是具有complementary prior的,这样我们最后的一个问题其实也因此开始变得明了起来了。
接下来又是一堆的图了~
关于DBN(深度信念网)的几点思考_第6张图片
关于DBN(深度信念网)的几点思考_第7张图片
逐层按RBM训练虽然可以提高DBN似然函数的lower bound但是这个不是我的这篇博文的重点,大家可以仔细看看上面这两个图,你们会发现一个有趣的事情,其实逐层训练是这样的,训练一个RBM至平衡态,然后对RBM做一次展开变成上图的样子,这样我们就的到了一个已经训练好的一层sigmoid belief network with tied parameters和一个RBM,这个新产生的RBM的可见层是我们刚训练好的RBM的隐层,然后再训练我们新得到的RBM然后再展开,如此往复,我们就得到了多层的sigmoid belief network with tied parameters这样我们就达到我们一开始的目的了,如何有效的训练一个directed graphical model,至于DBN最顶上的那个联想记忆层其实也可以理解为展开后没训练的RBM(纯属个人看法),对了,顺便提一提,展开一次的意思是给定隐层对可见层进行抽样,然后产生了新的可见层,这也是为什么一次展开后上面的那部分没箭头的原因,也可以说成是半步的block gibbs sampling。
http://deeplearning.net/tutorial/
http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning


你可能感兴趣的:(关于DBN(深度信念网)的几点思考)