什么是深度信念网络

深度信念网络是第一批成功应用深度架构训练的非卷积模型之一。 在引入深度信念网络之前,研究社区通常认为深度模型太难优化,还不如使用易于优化的浅层ML模型。2006年,Hinton等研究者在Science上表示,深度信念网络在MNIST数据集上表现超过带核函数的支持向量机,以此证明深度架构是能够成功的。

论文1:Reducing the Dimensionality of Data with Neural Networks

论文地址:https://science.sciencemag.org/content/313/5786/504

论文2:A fast learning algorithm for deep belief nets

论文地址:https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf

尽管现在与其他无监督或生成学习算法相比,深度信念网络大多已经失去了研究者青睐并很少使用,但它们在深度学习历史中仍然有非常重要的作用。

此外,如果需要理解DBN,那么首先需要知道什么是受限玻尔兹曼机(RBM)。因为深度信念网络就是受限玻尔兹曼机的堆叠,并采用一种贪心的方式训练。

受限玻尔兹曼机

RBM是两层神经网络,这些浅层神经网络是DBN(深度信念网络)的构建块。RBM的第一层被称为可见层或者输入层,它的第二层叫做隐藏层。RBM之所以加上“受限”,主要是因为不存在层级间的通信。RBM在前传的过程中看上去和全连接没什么区别,但实际上它是一种无向图,所以还有一个反向过程。

除了前传,RBM以一种无监督的方式通过自身来重建数据。如上图所示,在重建阶段,第一个隐藏层的激活状态变成了反向传递过程中的输入。它们与每个连接边相同的权重相乘,就像x在前向传递的过程中随着权重调节一样。这些乘积的和在每个可见节点处又与可见层的偏置项相加,这些运算的输出就是一次重建,也就是对原始输入的一个逼近。

如果能重建出来对应的观察样本,那么就表示RBM获得的隐藏表征非常优质。如下选自Deep Learning书中描述了三种早期的神经网络。

a) 受限玻尔兹曼机,b) 深度信念网络,c) 深度玻尔兹曼机。其中带箭头表示有向图,无箭头表示无向图。

深度信念网络

深度信念网络是一种深层的概率有向图模型,其图结构由多层的节点构成。网络的最底层为可观测变量,其它层节点都为隐变量。最顶部的连接是无向的,其他层之间的连接是有向的。它的目的主要在获取可观测变量下,推断未知变量的状态,并调整隐藏状态以尽可能重构出可观测数据。

在Hinton一个多小时的演讲中,它从信念网络到受限玻尔兹曼机,从基本思想到理论解析展示了整个深度信念网络的全景图。不过Hinton老爷子的演讲还挺难懂的,想要了解的同学可以看看完整的PPT。

理论优美的深度信念网络--Hinton北大最新演讲的更多相关文章

  1. 机器学习——DBN深度信念网络详解(转)

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

  2. 受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)

    受限玻尔兹曼机对于当今的非监督学习有一定的启发意义. 深度信念网络(DBN, Deep Belief Networks)于2006年由Geoffery Hinton提出.

  3. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...

  4. 深度学习(二)--深度信念网络(DBN)

    深度学习(二)--深度信念网络(Deep Belief Network,DBN) 一.受限玻尔兹曼机(Restricted Boltzmann Machine,RBM) 在介绍深度信念网络之前需要先了 ...

  5. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1 http://blog.csdn.net/sunbow0 Spark ML ...

  6. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2 http://blog.csdn.net/sunbow0 第二章Deep ...

  7. DBN(深度信念网络)

    DBN运用CD算法逐层进行训练,得到每一层的参数Wi和ci用于初始化DBN,之后再用监督学习算法对参数进行微调.本例中采用softmax分类器(下一篇随笔中)作为监督学习算法. RBM与上一篇随笔中一 ...

  8. 基于C#的机器学习--深层信念网络

    我们都听说过深度学习,但是有多少人知道深度信念网络是什么?让我们从本章开始回答这个问题.深度信念网络是一种非常先进的机器学习形式,其意义正在迅速演变.作为一名机器学习开发人员,对这个概念有一定的了解是 ...

  9. RBM(受限玻尔兹曼机)和深层信念网络(Deep Brief Network)

    目录: 一.RBM 二.Deep Brief Network 三.Deep Autoencoder 一.RBM 1.定义[无监督学习] RBM记住三个要诀:1)两层结构图,可视层和隐藏层:[没输出层] ...

随机推荐

  1. c++程序—if语句实践

    三只小 #include<iostream> using namespace std; #include<string> int main() { //which pig is ...

  2. C语言预处理理论-宏定义2

    宏定义21.带参宏和带参函数的区别(1)宏定义是在预处理期间处理的,而函数是在编译期间处理的.这个区别带来的实质差异是:宏定义最终是在调用宏的地方把宏体原地展开,而函数是在调用函数处跳转到函数中去执行 ...

  3. 爬虫(十八):Scrapy框架(五) Scrapy通用爬虫

    1. Scrapy通用爬虫 通过Scrapy,我们可以轻松地完成一个站点爬虫的编写.但如果抓取的站点量非常大,比如爬取各大媒体的新闻信息,多个Spider则可能包含很多重复代码. 如果我们将各个站点的 ...

  4. 转:JS高级学习笔记(8)- JavaScript执行上下文和执行栈

    必看参考: 请移步:博客园 JavaScript的执行上下文 深入理解JavaScript执行上下文和执行栈 JavaScript 深入之执行上下文 写在开头 入坑前端已经 13 个月了,不能再称自己 ...

  5. element穿梭框el-transfer增加拖拽排序和shift多选checkbox功能

    <template> <div class="demo"> <el-transfer v-model="value" filter ...

  6. 深入浅出Python装饰器

    1.前言 装饰器是Python的特有的语法,刚接触装饰器的同学可能会觉得装饰器很难理解,装饰器的功能也可以不用装饰器实现,但是装饰器无疑是提高你Python代码质量的利器(尤其是使用在一些具有重复功能 ...

  7. Neo4j--windows下安装neo4j

    参考 https://www.cnblogs.com/ljhdo/archive/2017/05/19/5521577.html 安装包下载 https://neo4j.com/download-ce ...

  8. 线上环境 分析java问题 常见命令

    在生产上进程需要分析jvm运行情况,今天分享几个自己常用的命令,持续更新,欢迎补充 1.jps jstack -l {pid} > jstack.log #查看线程快照信息 2.jps jmap ...

  9. It can be a face application using SeetaFace and Qt.

    之前编译了一下SeetaFace的库,用于人脸检测.特征点定位和人脸识别的功能,然后昨天就用Qt写了一个软件用于实现. 工程的文件还是比较简单的,一个界面类和一个SeetaFace的线程类而已.这里主 ...

  10. 三分钟入坑指北 🔜 Docsify + Serverless Framework 快速创建个人博客系统

    之前由于学摄影的关系,为了提高自己的审美,顺便锻炼下自己的英文能力,翻译了不少国外艺术类的 文章.最近一直想搭一个个人博客来存放这些内容,又懒得折腾建站,遂一直搁置. 直到偶然发现了 docsify ...