精华内容
下载资源
问答
  • DBN深度信念网络数学解析

    千次阅读 2016-12-06 04:24:09
    DBN深度信念网络数学解析



    文章出自:  http://m.doc00.com/doc/100100abu






    展开全文
  • Belief Nets and Deep Belief Nets 数媒学院-许鹏 RBM Review 我们已经接触过了FNN,CNN和RBM,其中传统的FNN和CNN很相似,都属于前馈神经网络,而且 都是判别模型,也就是学习的模型是p(y}x,但是RBM是一个生成模型,它...
  • DBN深度信念网络介绍

    千次阅读 2019-06-25 17:10:57
    使用层叠波尔兹曼机组成深度神经网络的方法,在深度学习里被称作深度信念网络DBN,这是目前非常流行的方法。下面的术语,将把自联想网络称作自编码网络autoencoder.。通过层叠自编码网络的深度网络在深度学习里另外...

     DBN神经网络模型

    使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络。然而,有一种更好的神经网络模型,这就是受限玻尔兹曼机。使用层叠波尔兹曼机组成深度神经网络的方法,在深度学习里被称作深度信念网络DBN,这是目前非常流行的方法。下面的术语,将把自联想网络称作自编码网络autoencoder.。通过层叠自编码网络的深度网络在深度学习里另外一个属于叫栈式自编码网络。

    经典的DBN网络结构 是由若干层 RBM 和一层 BP 组成的一种深层神经网络, 结构如下图所示:

                                                           

    DBN 在训练模型的过程中主要分为两步:

    第 1 步:分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息

    第 2 步:在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器.而且每一层 RBM 网络只能确保自身层内的 权值对该层特征向量映射达到最优,并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络.RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点

    上述训练模型中第一步在深度学习的术语叫做预训练,第二步叫做微调。最上面有监督学习的那一层,根据具体的应用领域可以换成任何分类器模型,而不必是BP网络。

    展开全文
  • DBN深度信念网络详解

    千次阅读 2018-09-11 15:44:24
    1. 自联想神经网络深度网络  自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入。很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在。所以,我们说,...

    1.  自联想神经网络与深度网络

       自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入。很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在。所以,我们说,输出是对输入的一种重构。其网络结构可以很简单的表示如下:

     如果我们在上述网络中不使用sigmoid函数,而使用线性函数,这就是PCA模型。中间网络节点个数就是PCA模型中的主分量个数。不用担心学习算法会收敛到局部最优,因为线性BP网络有唯一的极小值。

     在深度学习的术语中,上述结构被称作自编码神经网络。从历史的角度看,自编码神经网络是几十年前的事情,没有什么新奇的地方。

      既然自联想神经网络能够实现对输入数据的重构,如果这个网络结构已经训练好了,那么其中间层,就可以看过是对原始输入数据的某种特征表示。如果我们把它的第三层去掉,这样就是一个两层的网络。如果,我们把这个学习到特征再用同样的方法创建一个自联想的三层BP网络,如上图所示。换言之,第二次创建的三层自联想网络的输入是上一个网络的中间层的输出。用同样的训练算法,对第二个自联想网络进行学习。那么,第二个自联想网络的中间层是对其输入的某种特征表示。如果我们按照这种方法,依次创建很多这样的由自联想网络组成的网络结构,这就是深度神经网络,如下图所示:

    注意,上图中组成深度网络的最后一层是级联了一个softmax分类器。

     深度神经网络在每一层是对最原始输入数据在不同概念的粒度表示,也就是不同级别的特征描述。    这种层叠多个自联想网络的方法,最早被Hinton想到了。从上面的描述中,可以看出,深度网络是分层训练的,包括最后一层的分类器也是单独训练的,最后一层分类器可以换成任何一种分类器,例如SVM,HMM等。上面的每一层单独训练使用的都是BP算法。 相信这一思路,Hinton早就实验过了。

    2. DBN神经网络模型

     使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络。然而,有一种更好的神经网络模型,这就是受限玻尔兹曼机。使用层叠波尔兹曼机组成深度神经网络的方法,在深度学习里被称作深度信念网络DBN,,这是目前非常流行的方法。下面的术语,将把自联想网络称作自编码网络autoencoder.。通过层叠自编码网络的深度网络在深度学习里另外一个属于叫栈式自编码网络。经典的DBN网络结构 是由若干层 RBM 和一层 BP 组成的一种深层神经网络, 结构如下图所示.

       DBN 在训练模型的过程中主要分为两步:

      第 1 步:分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息;(学习特征)

      第 2 步:在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器.而且每一层 RBM 网络只能确保自身层内的 权值对该层特征向量映射达到最优,并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络.RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点。

    上述训练模型中第一步在深度学习的术语叫做预训练,第二步叫做微调。最上面有监督学习的那一层,根据具体的应用领域可以换成任何分类器模型,而不必是BP网络。

    3. 深度信念网络的应用  

    由于自编码网络可以对原始数据在不同概念的粒度上进行抽象,深度网络一种自然的应用是对数据进行压缩或者叫降维。胡邵华等,他们用一种自编码网络实现了对经典的"瑞士卷"数据的重构:

       " 瑞士卷"数据是经典的机器学习中难于分类的数据之一,其隐含的数据内在模式难以在二维数据中描述。然而, 胡邵华等,采用深度信念网络实现了对三维瑞士卷数据的2维表示,其自编码网络节点大小依次为3-100-50-25-10-2. 具体的实现细节请参考文献:胡邵华、宋耀良:基于autoencoder网络的数据降维与重构。
     

    深度神经网络的另一个常见的应用是特征提取。

         文献:Philippe Hamel and Douglas Eck, LEARNING FEATURES FROM MUSIC AUDIO WITH DEEP BELIEF NETWORKS.

     通过训练一个5层的深度网络提取音乐的特征,用于音乐风格的分类,其分类精度比基于梅尔倒谱系数特征分类的方法提到了14个百分点。

     他们的实现思路非常简单,用上述层叠的多个RBM网络组成深度网络结构来提取音乐的特征。输入的原始数据是经过分帧,加窗之后的信号的频谱。分类器采用的是支撑矢量机SVM。对比的方法则是提取MFCC特征系数,分类器同样采用SVM。更多的细节和实验结果可以参考上面提到的文献。

    深度网络是一种良好的无监督学习方法,其特征提取功能能够针对不同概念的粒度大小,能够在很多领域得到广泛的应用。通常,DBN主要用于对一维数据的建模比较有效,例如语音。而通过级联多层卷积网络组成深度网络的模型主要用于二维数据,例如图像等。

         通过下面的图以及上面的内容,可以更加深入的理解DBN:深度信念网络算法。

      

    参考文献:
    [1]Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks. Science, vol. 313, pp. 504-507, 2006.
    [2]Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets. Neural computation, vol. 18, pp. 1527-1554, 2006.
    [3]Xie, Jipeng, et al. "Learning features from High Speed Train vibration signals with Deep Belief Networks." Neural Networks (IJCNN), 2014 International Joint Conference on. IEEE, 2014.
    [4]Bengio Y, Lamblin P, Popovici D, et al. Greedy layer-wise training of deep networks. Advances in neural information processing systems, vol. 19, pp. 153-160, 2007.
    [5]Salakhutdinov R. Learning deep generative models. Diss. University of Toronto, 2009.
    [6]Hinton G. A practical guide to training restricted Boltzmann machines. Neural Networks: Tricks of the Trade, pp. 599-619, 2012.
    [7]Bengio Y. Learning deep architectures for AI. Foundations and trends® in Machine Learning, vol. 2, pp. 1-127, 2009.

    [8]http://blog.csdn.net/celerychen2009/article/details/9079715

    转自:https://blog.csdn.net/qq_27245709/article/details/73278010

    展开全文
  • 机器学习——DBN深度信念网络详解

    万次阅读 2016-08-11 16:48:02
    使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络。...使用层叠波尔兹曼机组成深度神经网络的方法,在深度学习里被称作深度信念网络DBN,这是目前非常流行的方法。

    深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功。本人在多年之前也曾接触过神经网络。本系列文章主要记录自己对深度神经网络的一些学习心得。


    简要描述深度神经网络模型。


    1.  自联想神经网络与深度网络


          自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入。很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在。所以,我们说,输出是对输入的一种重构。其网络结构可以很简单的表示如下:

      


              如果我们在上述网络中不使用sigmoid函数,而使用线性函数,这就是PCA模型。中间网络节点个数就是PCA模型中的主分量个数。不用担心学习算法会收敛到局部最优,因为线性BP网络有唯一的极小值。


          在深度学习的术语中,上述结构被称作自编码神经网络。从历史的角度看,自编码神经网络是几十年前的事情,没有什么新奇的地方。

     


             既然自联想神经网络能够实现对输入数据的重构,如果这个网络结构已经训练好了,那么其中间层,就可以看过是对原始输入数据的某种特征表示。如果我们把它的第三层去掉,这样就是一个两层的网络。如果,我们把这个学习到特征再用同样的方法创建一个自联想的三层BP网络,如上图所示。换言之,第二次创建的三层自联想网络的输入是上一个网络的中间层的输出。用同样的训练算法,对第二个自联想网络进行学习。那么,第二个自联想网络的中间层是对其输入的某种特征表示。如果我们按照这种方法,依次创建很多这样的由自联想网络组成的网络结构,这就是深度神经网络,如下图所示:

                                                   

          注意,上图中组成深度网络的最后一层是级联了一个softmax分类器。


          深度神经网络在每一层是对最原始输入数据在不同概念的粒度表示,也就是不同级别的特征描述。


          这种层叠多个自联想网络的方法,最早被Hinton想到了。


           从上面的描述中,可以看出,深度网络是分层训练的,包括最后一层的分类器也是单独训练的,最后一层分类器可以换成任何一种分类器,例如SVM,HMM等。上面的每一层单独训练使用的都是BP算法。 相信这一思路,Hinton早就实验过了。


    2. DBN神经网络模型

             

            使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络。然而,有一种更好的神经网络模型,这就是受限玻尔兹曼机。使用层叠波尔兹曼机组成深度神经网络的方法,在深度学习里被称作深度信念网络DBN,这是目前非常流行的方法。下面的术语,将把自联想网络称作自编码网络autoencoder.。通过层叠自编码网络的深度网络在深度学习里另外一个属于叫栈式自编码网络。


            经典的DBN网络结构 是由若干层 RBM 和一层 BP 组成的一种深层神经网络, 结构如下图所示.

                        
                 DBN 在训练模型的过程中主要分为两步:
                 第 1 步:分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息;
                 第 2 步:在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器.而且每一层 RBM 网络只能确保自身层内的 权值对该层特征向量映射达到最优,并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络.RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点.


               上述训练模型中第一步在深度学习的术语叫做预训练,第二步叫做微调。最上面有监督学习的那一层,根据具体的应用领域可以换成任何分类器模型,而不必是BP网络。


    3. 深度信念网络的应用  


          由于自编码网络可以对原始数据在不同概念的粒度上进行抽象,深度网络一种自然的应用是对数据进行压缩或者叫降维。

          胡邵华等,他们用一种自编码网络实现了对经典的"瑞士卷"数据的重构:

     

      

            " 瑞士卷"数据是经典的机器学习中难于分类的数据之一,其隐含的数据内在模式难以在二维数据中描述。然而, 胡邵华等,采用深度信念网络实现了对三维瑞士卷数据的2维表示,其自编码网络节点大小依次为3-100-50-25-10-2. 具体的实现细节请参考文献:胡邵华、宋耀良:基于autoencoder网络的数据降维与重构。


            深度神经网络的另一个常见的应用是特征提取。

            文献:Philippe Hamel and Douglas Eck, LEARNING FEATURES FROM MUSIC AUDIO WITH DEEP BELIEF NETWORKS.

            通过训练一个5层的深度网络提取音乐的特征,用于音乐风格的分类,其分类精度比基于梅尔倒谱系数特征分类的方法提到了14个百分点。

          他们的实现思路非常简单,用上述层叠的多个RBM网络组成深度网络结构来提取音乐的特征。输入的原始数据是经过分帧,加窗之后的信号的频谱。分类器采用的是支撑矢量机SVM。对比的方法则是提取MFCC特征系数,分类器同样采用SVM。更多的细节和实验结果可以参考上面提到的文献。

        

            深度网络是一种良好的无监督学习方法,其特征提取功能能够针对不同概念的粒度大小,能够在很多领域得到广泛的应用。通常,DBN主要用于对一维数据的建模比较有效,例如语音。而通过级联多层卷积网络组成深度网络的模型主要用于二维数据,例如图像等。


           通过下面的图以及上面的内容,可以更加深入的理解DBN:深度信念网络算法。



    参考文献:
    [1]Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks. Science, vol. 313, pp. 504-507, 2006.
    [2]Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets. Neural computation, vol. 18, pp. 1527-1554, 2006.
    [3]Xie, Jipeng, et al. "Learning features from High Speed Train vibration signals with Deep Belief Networks." Neural Networks (IJCNN), 2014 International Joint Conference on. IEEE, 2014.
    [4]Bengio Y, Lamblin P, Popovici D, et al. Greedy layer-wise training of deep networks. Advances in neural information processing systems, vol. 19, pp. 153-160, 2007.
    [5]Salakhutdinov R. Learning deep generative models. Diss. University of Toronto, 2009.
    [6]Hinton G. A practical guide to training restricted Boltzmann machines. Neural Networks: Tricks of the Trade, pp. 599-619, 2012.
    [7]Bengio Y. Learning deep architectures for AI. Foundations and trends® in Machine Learning, vol. 2, pp. 1-127, 2009.

    [8]http://blog.csdn.net/celerychen2009/article/details/9079715

    欢迎关注微信公众号,与您分享更多精彩内容!

    展开全文
  • DBN深度信念网络算法

    千次阅读 2016-11-05 20:25:29
    讲了讲历史,RBM对DBN的模拟,从而带来了deep learning的革命。 1 受限波尔兹曼机RBM的基本模型 介绍0-1状态的BM和RBM,同一类单元的条件独立性,激活概率等。 2. 基于对比散度的RBM快速学习算法 RBM的...
  • TensorFlow DBN深度信念网络搭建2

    千次阅读 2018-01-05 15:43:04
    1、改进1:层数改变 通过修改rbm的层数,可以看到重构误差是变小了,但是,我发现只是修改rbm,并没有影响到最终的accuracy,而且更加诡异的是,这个accuracy,只从我修改了数据集以来,无论怎么修改,都是同一个数...
  • DBN 深度信念网络在Tensorflow中的实现
  • 深度信念网络DBN

    2016-03-29 20:45:33
    深度信念网络实现手写识别,注意与DBM区别开来
  • DBN深度信念网络

    2016-09-25 20:25:00
    DBN运用CD算法逐层进行训练,得到每一层的参数Wi和ci用于初始化DBN,之后再用监督学习算法对参数进行微调。本例中采用softmax分类器(下一篇随笔中)作为监督学习算法。 RBM与上一篇随笔中一致,通过多层RBM将softmax...
  • 它提供了堆叠受限玻尔兹曼机 (RBM) 的深度信念网络 (DBN) 的深度学习工具。 它包括 Bernoulli-Bernoulli RBM、Gaussian-Bernoulli RBM、用于无监督预训练的对比发散学习、稀疏约束、用于监督训练的反向投影和 ...
  • 初识深度信念网络DBN

    2018-03-02 15:36:50
    第一次接触深度信念网络DBN,结合看到的博客内容简单谈谈理解,如果有哪些地方不太准确,欢迎各位大神批评指正。【概述】周志华老师所著的《机器学习》5.6节对DBN的描述可以用简单一句话来概括:DBN由多层受限...
  • 深度信念网络DBN

    2021-03-03 17:52:25
    1.深度信念网络DBN)是RBM与SBN的混合模型,可以看成叠加的RBM2.增加层数可以使得RBM模型变得更好的原因是对先验P(h)建模,使得ELBO增大3.采取贪心逐层训练方法学习DB...
  • 在机器学习中,深度信念网络 (DBN) 是一种生成图形模型,或者是一种深度神经网络,由多层潜在变量(“隐藏单元”)组成,层之间有连接,但内部的单元之间没有连接。每一层。 当以无监督的方式对一组示例进行训练时...
  • Deep Belief Network深度信念网络DBN的Matlab代码),可以运行test_example_DBN.m对手写数字进行训练学习
  • 关于数据集的注释: ... DBN对象的参数应在DBN_writeparams和DBN_example中匹配(例如n_ins,hidden_​​layers_sizes,n_outs)。 去做: 在DBN_example中创建一个模块,用于加载训练后的权重和偏差。
  • %设计一个有十个输出单元的NN,并用已经训练好的DBN的权值参数去初始化相应结构的NN网络 nn.activation_function = 'sigm'; %设置激活函数为 sigm %train nn opts.numepochs = 1; % 设置训练参数 opts.batch...
  • 深度学习DBN深度置信网络

    万次阅读 多人点赞 2017-06-20 11:48:28
    深度信念网络DBN,Deep Belief Nets,神经网络的一种。既可以用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。 从非监督学习来讲,其目的是尽可能地保留原始特征的特点,同时降低...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 247
精华内容 98
关键字:

dbn深度信念网络