版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/
最近一直在学习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优点呢,就是不用我们靠經验来提取数据特征还有就是经过底层网络的自动提炼,把提炼的特征应用到别的网络上会比我们手动提取特征的结果好很多