Deep Boltzmann Machines
转载自:http://blog.csdn.net/win_in_action/article/details/25333671
http://blog.csdn.net/zouxy09/article/details/8775518
深度神经网络(Deep neural network)
深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
Deep learning本身算是machine learning的一个分支,简单可以理解为neural network的发展。大约二三十年前,neural network曾经是ML领域特别火热的一个方向,但是后来确慢慢淡出了。
Deep learning与传统的神经网络之间有相同的地方也有很多不同。二者的相同在于deep learning采用了神经网络相似的分层结构,系统由包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logistic regression模型;这种分层结构,是比较接近人类大脑的结构的。
依据(3深度学习基本思想:分层的特征表示);假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为:
I =>S1=>S2=>…..=>Sn => O,
则上图深度神经网络中,中间层(除去开始的输入层和最后的分类输出层)每一层都是系统S的一种特征表示。
深度波尔茨曼机Deep Boltzmann Machine(DBM)
假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值变量节点(只能取0或者1值),同时假设全概率分布p(v,h)满足Boltzmann 分布,我们称这个模型是Restricted BoltzmannMachine (RBM)。
下面我们来看看为什么它是Deep Learning方法。首先,这个模型因为是二部图,所以在已知v的情况下,所有的隐藏节点之间是条件独立的(因为节点之间不存在连接),即p(h|v)=p(h1|v)…p(hn|v)。同理,在已知隐藏层h的情况下,所有的可视节点都是条件独立的。同时又由于所有的v和h满足Boltzmann 分布。
因此,当输入v的时候,通过p(h|v) 可以得到隐藏层h,而得到隐藏层h之后,通过p(v|h)又能得到可视层,通过调整参数,我们就是要使得从隐藏层得到的可视层v1与原来的可视层v如果一样,那么得到的隐藏层就是可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种Deep Learning方法。
如果,我们把隐藏层的层数增加,我们可以得到Deep Boltzmann Machine(DBM);如果我们在靠近可视层的部分使用贝叶斯信念网络(即有向图模型,当然这里依然限制层中节点之间没有链接),而在最远离可视层的部分使用Restricted Boltzmann Machine,我们可以得到DeepBelief Net(DBN)。
深度置信网络(Deep Belief Network)
DBNs是一个概率生成模型,与传统的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布,对P(Observation|Label)和 P(Label|Observation)都做了评估,而判别模型仅仅而已评估了后者,也就是P(Label|Observation)。
DBNs由多个限制玻尔兹曼机(Restricted Boltzmann Machines)层组成,一个典型的神经网络类型如图所示。这些网络被“限制”为一个可视层和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性。
DBNs的灵活性使得它的拓展比较容易。一个拓展就是卷积DBNs(Convolutional Deep Belief Networks(CDBNs))。DBNs并没有考虑到图像的2维结构信息,因为输入是简单的从一个图像矩阵一维向量化的。而CDBNs就是考虑到了这个问题,它利用邻域像素的空域关系,通过一个称为卷积RBMs的模型区达到生成模型的变换不变性,而且可以容易得变换到高维图像。DBNs并没有明确地处理对观察变量的时间联系的学习上,虽然目前已经有这方面的研究,例如堆叠时间RBMs,以此为推广,有序列学习的dubbed temporalconvolutionmachines,这种序列学习的应用,给语音信号处理问题带来了一个让人激动的未来研究方向。
目前,和DBNs有关的研究包括堆叠自动编码器,它是通过用堆叠自动编码器来替换传统DBNs里面的RBMs。这就使得可以通过同样的规则来训练产生深度多层神经网络架构,但它缺少层的参数化的严格要求。与DBNs不同,自动编码器使用判别模型,这样这个结构就很难采样输入采样空间,这就使得网络更难捕捉它的内部表达。但是,降噪自动编码器却能很好的避免这个问题,并且比传统的DBNs更优。它通过在训练过程添加随机的污染并堆叠产生场泛化性能。训练单一的降噪自动编码器的过程和RBMs训练生成模型的过程一样。
文献:Deep Boltzmann Machines
Deep Boltzmann Machines相关推荐
- Multimodal Learing with Deep Boltzmann Machines
原文链接:http://papers.nips.cc/paper/4683-multimodal-learning-with-deep-boltzmann-machines.pdf 这篇文章描述了一种 ...
- REINFORCEMENT LEARNING USING QUANTUM BOLTZMANN MACHINES利用量子波兹曼机进行强化学习
REINFORCEMENT LEARNING USING QUANTUM BOLTZMANN MACHINES 利用量子波兹曼机进行强化学习 Abstract. We investigate whet ...
- 29 深度玻尔兹曼机 Deep Boltzmann Machine
1 Introduction 本章介绍的是深度玻尔兹曼机(Deep Boltzmann Machines,DBM),应该算是玻尔兹曼机系列的最后一个模型了.我们前面介绍的三种玻尔兹曼机和今天将要介绍的 ...
- 《Restricted Boltzmann Machines for Collaborative Filtering》理解与资料整理
1 原文如下 2 理解 这篇文章尝试把RBM应用到协同过滤中,在netflix上的数据集做实验,RBM方法与SVD方法线性插值相结合,能提高系统性能6%左右. 2.1问题描述: 对电影的推荐,用户对电 ...
- 训练局限玻尔斯曼机(Training Restricted Boltzmann Machines)
本栏目(Training Restricted Boltzmann Machines)包括内容的介绍.局限玻尔斯曼机与对比差异(CD)的回顾.使用CD时怎样纠正统计.迷你块大小(mini-ba ...
- 限制波尔兹曼机(Restricted Boltzmann Machines)
限制波尔兹曼机(Restricted Boltzmann Machines) 能量模型的概念从统计力学中得来,它描述着整个系统的某种状态,系统越有序,系统能量波动越小,趋近于平衡状态,系统越无序,能量 ...
- 玻尔兹曼机的学习算法--Hinton论文系列《A learning algorithm for Boltzmann machines》
1 简介 本文根据1985年Hinton等人写的<A learning algorithm for Boltzmann machines>翻译总结的.即玻尔兹曼机的学习算法. 连接主义认为 ...
- 训练RBM-Hinton系列论文《A practical guide to training Restricted Boltzmann Machines》
目录 1 简介 1 2 RBMs和对比散度的概览 1 3 当使用对比散度时如何收集统计信息 2 3.1 更新隐藏状态 2 3.2 更新可见状态 3 4 Mini-batch大小 3 5 监控学习的过程 ...
- My deep learning reading list
My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部 ...
最新文章
- C++中类的大小问题
- 周期同步位置模式(CSP),轮廓位置模式(PPM),位置模式(PM)
- 用Unity3D实现简单的牧师与魔鬼游戏
- semaphore的使用
- SVN使用MySQL验证用户名密码(HTTP)
- 如何查看思科交换机的出厂时间?
- Git 切换提交历史节点
- linux+top+常用参数,linux的top命令参数详细说明
- 第14讲 转换与比较指令
- 怎么关闭vivo系统自检_手机系统越来越卡,把握这几个优化设置,让手机流畅起来...
- AD笔记4-元件封装库绘制
- 大数据战略对企业生存有多重要?
- PMP常考知识点核对单-8.项目质量管理
- 全职专业玩家分享:手动党梦幻五开赚钱心得
- java 订单号生成器
- 897-了解微服务网关
- 使用 IDEA 几分钟就重构了同事800 行又臭又长 的类!真香!
- mysql 1236错误_mysql报1236错误解决方法
- Qcom平台 Camera 之开启调试 log
- Java入门云计算:从基础到实践
热门文章
- Android之TextUtils类介绍
- 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
- spark java 计数_spark程序——统计包含字符a或者b的行数
- 学前教育试题库及答案_最新《学前教育学》专科-试题库及答案资料
- PHP进程退出信号_一文吃透 PHP 进程信号处理
- 你发现了吗?数学还能这么美
- 趣图:脸部识别最快的实现
- 微型计算机名词术语,微型计算机及接口技名词解释题及解答题.doc
- c语言实现容器,C语言三种容器:list vector和deque的区别
- 双目三维重建_【光电视界】简单介绍双目视觉三维重构