一文帮你理解什么是深层置信网络(DBN)

原创 2018年01月11日 23:03:02



翻译 | 林椿眄

编辑 | SuiSui



前言


随着机器学习的进步和深度学习的出现,一些工具和图形表示被逐渐用来关联大量的数据。深度置信网络(Deep Belief Networks)本质上是一种具有生成能力的图形表示网络,即它生成当前示例的所有可能值。


深度置信网络是概率统计学与机器学习和神经网络的融合,由多个带有数值的层组成,其中层之间存在关系,而数值之间没有。深层置信网络主要目标是帮助系统将数据分类到不同的类别。



深度信念网络如何演进?


第一代神经网络使用感知器,通过考虑“权重”或预先馈送的目标属性来识别特定的物体或其他物体。然而,感知器只能在更基本的层面上有效,并不能提高识别的技术。


为了解决这些问题,第二代神经网络引入了反向传播的概念,将得到的输出与期望的输出进行比较,最终目标是使误差值减小到零。支持向量机通过引用先前测试用例的输入来创建和理解更多的测试用例。


接下来是针对信念网络的非循环图。这种图能够帮助解决与推理那些和学习问题有关的问题。随后是深度置信网络,它帮助创建存储在叶节点中的无偏值。



受限玻尔兹曼机


深度置信网络由诸如波尔兹曼机无监督网络组成。在这里,每个子网络的不可见层是下一层的可见层。隐藏层或不可见的层并不是相互连接,而是有条件互相独立的。


联合配置网络的可见层和隐藏层上的概率,取决于联合配置网络的能量与其他所有联合配置网络的能量。



训练深度置信网络


训练网络层属性的第一步是直接从像素获取输入信号。下一步是将此图层的值作为像素,并在第二个隐藏层从先前获取的特征中学习特征。每当另一层的属性或特征被添加到深度置信网络时,训练数据集的对数概率的下限就会有所改善。


例如:




实施


MATLAB可以很容易地将可见层,隐藏层和权重表示为矩阵形式并高效地执行矩阵算法。因此,我们选择MATLAB来实现深度置信网络。


选用这些MNIST9的手写数字,然后用作深度置信网络的计算,以便与其他分类器的性能进行比较。


MNIST9可以被描述为是一个手写数字的数据库,有6万个训练样本和1万个数字测试样本。手写数字是从0到9,并且在每个图像表现出各种的形状和位置特征。每一张图像都被标准化,并以28x28像素为中心被标记。


决定这些权重更新频率的方法是-在线学习,或采用小批量和全批量数据大小。


在线学习需要最长的计算时间,因为在每个训练数据实例之后,它才完成权重的更新。全批量处理通过训练数据并更新权重,但是,建议不要将其用于大数据集。


小批量处理是把数据集分成较小的数据块,并对每个数据块进行学习操作,这种方法需要更少的计算时间。因此,我们使用小批量学习来实现。


需要记住的一个重要的问题是,实现一个深层置信网络需要对每层波尔兹曼机进行训练。


为此,首先需要初始化网络单位和参数。其次是对比散度算法的两个阶段--正相和负相阶段。在正相阶段,隐藏层的二进制状态可以通过权重的计算和可见单位的概率来获得。由于增加了训练数据集的概率,因此称为正相。负相阶段会降低模型生成样本的概率。


贪婪学习算法被用来训练整个深度置信网络。它一次训练一个波尔兹曼机,直到所有的波尔兹曼机都被训练为止。


作者 | Icecream Labs

原文链接:

https://medium.com/@kaveri_53280/deep-belief-networks-all-you-need-to-know-cb708774ee3a

版权声明:本文为博主原创文章,未经博主允许不得转载。

深度学习-深度信念(置信)网络(DBN)-从原理到实现(DeepLearnToolBox)

深度信念网络,DBN,Deep Belief Nets,神经网络的一种。既可以用于无监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。作为神经网络,神经元自然是其必不可少的组成部分。...
  • Rainbow0210
  • Rainbow0210
  • 2016年11月02日 19:00
  • 16365

帮你理解积分与求导到底是什么

求导和积分是一对互逆的操作,它们都是微积分学中最为基础的概念。 先来说导数: 导数定义为:当自变量的增量趋于零时,因变量的增量与自变量的增量之商的极限。在一个函数存在导数时,称这个函数可导或者可...
  • songkai320
  • songkai320
  • 2016年07月15日 20:08
  • 7087

一篇文章带你深入理解什么是负载测试

介绍 任何软件开发项目接近完成的时候,它可能已经通过无数次测试了,特别是在测试和开发同时发生的敏捷测试环境下。无论你已经进行过多少轮测试,一旦你的应用程序已接近完成,那么只有一个办法知道你的软件是否...
  • wangpeng198688
  • wangpeng198688
  • 2016年04月29日 14:29
  • 10312

DBN(深度置信网络)解析

我在上篇文章介绍了RBM(受限玻尔兹曼机),本篇文章需要RBM的先验知识,不了解的可以去看看,了解了继续往下看。1.DBN结构 DBN: 将RBM像砖块一样叠加起来构建的一个网络。 DBN训练方法...
  • zhoutaochun
  • zhoutaochun
  • 2016年12月14日 22:42
  • 936

深度置信神经网络(DBN-DNN)

1.1 BP神经网络  BP神经网络是1968年由Rumelhart和Mcclelland为首的科学家提出的概念,是一种按照误差反向传播算法进行训练的多层前馈神经网络,是目前应用比较广泛的一种神经网络...
  • zhanglu_wind
  • zhanglu_wind
  • 2018年01月02日 09:44
  • 74

深度学习-深度信念(置信)网络(DBN)-从原理到实现(DeepLearnToolBox)

深度信念网络,DBN,Deep Belief Nets,神经网络的一种。既可以用于无监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。作为神经网络,神经元自然是其必不可少的组成部分。...
  • Rainbow0210
  • Rainbow0210
  • 2016年11月02日 19:00
  • 16365

theano学习指南--深度置信网络(DBN)(源码)

欢迎fork我的github:https://github.com/zhaoyu611/DeepLearningTutorialForChinese最近在学习Git,所以正好趁这个机会,把学习到的知识...
  • zhaoyu106
  • zhaoyu106
  • 2016年09月03日 22:03
  • 4337

theano学习指南--深度置信网络(DBN)(翻译)

欢迎fork我的github:https://github.com/zhaoyu611/DeepLearningTutorialForChinese最近在学习Git,所以正好趁这个机会,把学习到的知识...
  • zhaoyu106
  • zhaoyu106
  • 2016年08月30日 21:11
  • 4076

深度学习DBN深度置信网络

之前的文章有些地方不太完善,故补充完善一下。 2017-4-10。 深度信念网络,DBN,Deep Belief Nets,神经网络的一种。既可以用于非监督学习,类似于一个自编码机;也可以用...
  • csw19970124
  • csw19970124
  • 2017年06月20日 11:48
  • 667

神经网络的理解(MLP RBF RBM DBN DBM CNN 整理学习)

原文 http://lanbing510.info/2014/11/07/Neural-Network.html 开篇语 文章整理自向世明老师的PPT,围绕神经网络发展...
  • s_sunnyy
  • s_sunnyy
  • 2017年03月28日 16:59
  • 3338
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一文帮你理解什么是深层置信网络(DBN)
举报原因:
原因补充:

(最多只允许输入30个字)