最近一直在学习DBN这个网络,前几天把RBM的一些自己了解的知识写了一下,今天就跨入主题,说一下DBN。DBN是由两部分组成,一部分是底层网络,一部分是顶层网络。按底层网络的不同,DBN可以分为MLP(多层感知器)信念网络和RBM(受限玻尔兹曼机)信念网络。
由于本人学识有限,就先暂时只说一下RBM信念网络。所谓RBM信念网络就是底层网络采用RBM,当然底层网络的层数是自己可选的。既然底层网络是多层的,那就必须要说一下堆叠方式(也就是RBM之间的连接)了。
在这个网络中,输入数据data作为最底层RBM的输入,通过这一次RBM的训练,然后把输出作为第二层的输入,依次类推直到第n-1层。最后再把这第n-1层的输出作为顶层网络的输入。
这是我自己画的一个RBM连接图,这样会更容易理解吧。
接下来就是训练过程了,其实DBN的训练过程跟RBM的训练过程差不多,先是初始化RBM的权重w和偏差b,接着使用数据一层层地训练,到达第n-1层时,使用反向传播反过来再一层层向下优化权重和偏差,然后再用数据向上训练……
等权重和偏差达到一个稳定的值之后,把n-1层的输出传递给顶层网络,再训练顶层网络就可以了。
至于顶层网络,理论上是可以选择任何一个网络,如SVM、HMM、Logistic、Linear等。
至于DBN优点呢,就是不用我们靠经验来提取数据特征,还有就是经过底层网络的自动提炼,把提炼的特征应用到别的网络上会比我们手动提取特征的结果好很多。
本人的一些拙见,勿喷
机器学习之DBN(Deep Belief Network,深度信念网络)
最新推荐文章于 2024-08-16 08:36:28 发布