深度信念网络(Deep Belief Network)[通俗易懂]

深度信念网络(DeepBeliefNetwork,DBN)由GeoffreyHinton在2006年提出。它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。我们不仅可以使用DBN识别特征、分类数据,还可以用它来生成数据。DBN由多层神经元构成,这些神经元又分为显性神经元和隐性神经元(以下简称显元和隐元)。显元用于接受输入,隐…

大家好,又见面了,我是你们的朋友全栈君。

深度信念网络 (Deep Belief Network, DBN) 由 Geoffrey Hinton 在 2006 年提出。它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。我们不仅可以使用 DBN 识别特征、分类数据,还可以用它来生成数据。

DBN 由多层神经元构成,这些神经元又分为显性神经元隐性神经元(以下简称显元和隐元)。显元用于接受输入,隐元用于提取特征。因此隐元也有个别名,叫特征检测器 (feature detectors)。最顶上的两层间的连接是无向的,组成联合内存 (associative memory)。较低的其他层之间有连接上下的有向连接。最底层代表了数据向量 (data vectors),每一个神经元代表数据向量的一维。 

DBN 的组成元件是受限玻尔兹曼机 (Restricted Boltzmann Machines, RBM)。训练 DBN 的过程是一层一层地进行的。在每一层中,用数据向量来推断隐层,再把这一隐层当作下一层 (高一层) 的数据向量。

受限玻尔兹曼机 

如前所述,RBM 是 DBN 的组成元件。事实上,每一个 RBM 都可以单独用作聚类器。 

RBM 只有两层神经元,一层叫做显层 (visible layer),由显元 (visible units) 组成,用于输入训练数据。另一层叫做隐层 (Hidden layer),相应地,由隐元 (hidden units) 组成,用作特征检测器 (feature detectors)。 

深度信念网络 

前文我们已经介绍了 RBM 的基本结构和其训练、使用过程,接下来我们介绍DBN 的相关内容。

DBN 是由多层 RBM 组成的一个神经网络,它既可以被看作一个生成模型,也可以当作判别模型,其训练过程是:使用非监督贪婪逐层方法去预训练获得权值。 

训练过程: 

1. 首先充分训练第一个 RBM; 

2. 固定第一个 RBM 的权重和偏移量,然后使用其隐性神经元的状态,作为第二个 RBM 的输入向量; 

3. 充分训练第二个 RBM 后,将第二个 RBM 堆叠在第一个 RBM 的上方; 

4. 重复以上三个步骤任意多次; 

5. 如果训练集中的数据有标签,那么在顶层的 RBM 训练时,这个 RBM 的显层中除了显性神经元,还需要有代表分类标签的神经元,一起进行训练: 

a) 假设顶层 RBM 的显层有 500 个显性神经元,训练数据的分类一共分成了 10 类; 

b) 那么顶层 RBM 的显层有 510 个显性神经元,对每一训练训练数据,相应的标签神经元被打开设为 1,而其他的则被关闭设为 0。 

6. DBN 被训练好后如下图: (示意) 

调优过程 (Fine-Tuning) : 

生成模型使用 Contrastive Wake-Sleep 算法进行调优,其算法过程是: 

1. 除了顶层 RBM,其他层 RBM 的权重被分成向上的认知权重和向下的生成权重; 

2. Wake 阶段:认知过程,通过外界的特征和向上的权重 (认知权重) 产生每一层的抽象表示 (结点状态) ,并且使用梯度下降修改层间的下行权重 (生成权重) 。也就是“如果现实跟我想象的不一样,改变我的权重使得我想象的东西就是这样的”。 

3. Sleep 阶段:生成过程,通过顶层表示 (醒时学得的概念) 和向下权重,生成底层的状态,同时修改层间向上的权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。 

 

使用过程 :

1. 使用随机隐性神经元状态值,在顶层 RBM 中进行足够多次的吉布斯抽样; 

2. 向下传播,得到每层的状态。

Deep Belief Networks深信度网络

        DBNs是一个概率生成模型,与传统的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布,对P(Observation|Label)和 P(Label|Observation)都做了评估,而判别模型仅仅而已评估了后者,也就是P(Label|Observation)。对于在深度神经网络应用传统的BP算法的时候,DBNs遇到了以下问题:

(1)需要为训练提供一个有标签的样本集;

(2)学习过程较慢;

(3)不适当的参数选择会导致学习收敛于局部最优解。

 

经典的DBN网络结构是由若干层 RBM 和一层 BP 组成的一种深层神经网络, 

 

深度信念网络(Deep Belief Network)[通俗易懂]

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

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

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

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

——————— 本文来自 雪伦_ 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/a819825294/article/details/53608141?utm_source=copy

——————— 本文来自 losteng 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/losteng/article/details/51001247?utm_source=copy

 

https://blog.csdn.net/a819825294/article/details/53608141

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128652.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java map 二维数组_Java二维数组实现简单Map

    java map 二维数组_Java二维数组实现简单Map这些天频繁的在使用二维数组,让我觉得二维数组要比Map更灵活多变,以前和别人提起“数据结构”总能听到有人问:“如果编程语言里没有HashMap,你能自己实现一个Map来用么?”。熟练了二维数组,今天我就来尝试实现一个最简单的Map吧,我没有参考网上的例子,也没去想数据结构书中是怎么讲的,纯粹的自己个一个设计方案,中途遇到很多问题,但还是逐个解决了,还有很多不足之处,希望大家能帮我指点指点,一起交流…

    2022年5月24日
    41
  • 最新面试题汇总(附带答案)【建议看看】

    最新面试题汇总(附带答案)【建议看看】1.性能测试关注的指标是什么?从外部看,性能测试主要关注如下三个指标:吞吐量:每秒钟系统能够处理的请求数、任务数响应时间:服务处理一个请求或一个任务的耗时错误率:一批请求中结果出错的请求所占比例从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等。2.性能测试怎么做的?/如果你要进行性能测试,你是如何展开操作的?1.确定关键业务,关键路径;2.确定测试的关键数据。比如并发量,响应时间,循环次数等;3.准备测试环境,完成脚本录制或脚本开发;4.执行测试,观察或监控

    2022年9月27日
    0
  • Hook技术简单介绍

    Hook技术简单介绍Hook主要就是通过一定手段在程序执行过程中进行干预。IATHook篡改MessageBox借用accills的例子#include<windows.h>#include<stdio.h>#include<imagehlp.h>#pragmacomment(lib,"imagehlp.lib")//以MessageBoxA的…

    2022年5月18日
    61
  • 一套图 搞懂“时间复杂度”「建议收藏」

    一套图 搞懂“时间复杂度”「建议收藏」一套图 搞懂“时间复杂度”

    2022年4月22日
    64
  • 打开天窗说亮话

    打开天窗说亮话

    2021年8月5日
    59
  • Linux 审计日志记录,linux日志服务器审计客户端history记录「建议收藏」

    Linux 审计日志记录,linux日志服务器审计客户端history记录「建议收藏」需求将每台服务器上的每一个用户执行的命令、执行时间、登陆时间、主机ip、当前切换用户等信息保存到本地并实时传输至日志服务器进行异地保存。nginxIPhostname角色10.10.99.1test1rsyslog-server10.10.99.2test2rsyslog-client工具及服务1.loggerlogger是一个shell接口,能够经过该接口使用rsyslog的日志模块。webus…

    2022年6月4日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号