RBM(受限玻尔兹曼机)和深层信念网络(Deep Brief Network)
目录:
一、RBM
1、定义【无监督学习】
RBM记住三个要诀:1)两层结构图,可视层和隐藏层;【没输出层】2)层内无连接,层间全连接;3)二值状态值,前向反馈和逆向传播求权参。定义如下:
一般来说,可见层单元用来描述观察数据的一个方面或一个特征,而隐藏层单元的意义一般来说并不明确,可以看作特征提取层。
比较通俗解释RBM的博客:https://blog.csdn.net/u013631121/article/details/76652647
玻尔兹曼机的模型,它一共有两层:如下图,下边4个圈为可见层【即输入层】,上面3个圈为隐藏层。双向箭头【因为前向传播和后向传播,无监督学习】
前向传播:
- b为偏置,如左上角的圈计算:y1=x1*w11+x2*w21+x3*w31+x4*w41+b1。将y1,y2,y3求出,加上激活函数即可。
- a为偏置。通过算出来的y1,y2,y3再回求一遍x1~x4。为了方便区分,回求的值我们叫做x‘1~x’4。举个例子求x'1,把隐含层3个数据与权值相乘,之后把偏置量a1给加上就完事儿了,公式写作x1=y1*w11+y2*w12+y3*w13+a1。其余3个也按照这个方式求出。
- 求完x‘1~x’4后用x‘1~x’4对隐含层再次求一遍值,得到y'1~y'3三个数。
反向传播:
目标函数:我们要做的就是让我们求得x与x'尽量相等,但是我们通过计算他们的差值,不为0,那怎么办呢,那就是反向传播。
权重计算:x和y的矢量做乘积,x'与y'做乘积,求出z与z'两个矩阵,这两个矩阵shape(x,y),z与z'相减,然后加入到权值里面,例如w11,那么新的w11值就为:w11=w11+alpha*(z11-z'11),alpha为学习速率,其它的权值也是一样计算。
偏置量计算:隐含层偏置量b1更新值为:b1=b1+alpha*(y1-y'1),可视层偏置量a1=a1+alpha*(x1-x'1),其余偏置量同理计算。
前向、后向传播迭代训练直到输入x和训练x'近乎相等。
前向、后向传播的例子解释:区分以下大象和狗的图。
正向更新:给定这些像素,权重应该送出一个更强的信号给大象还是狗?
反向更新:给定大象和狗,我应该送出一个什么样的像素分布?
2、RBM原理:
能量模型:一般认为物体的能量越高越不稳定,能量越低越趋于稳定。比如说,斜坡上的一个箱子,它位于越高的位置,则拥有更高的重力势能。能量模型把箱子停在哪个位置定义为一种状态,每个状态对应着一个能量。这个能量由能量函数来定义,箱子位于某个位置(某个位置)的概率。比如箱子位于斜坡1/2高度上的概率为p,它可以用E表示成p=f(E)。
RBM结构:
这里为了简单描述,假设每个节点的取值为{0,1}。
计算过程:
求解极大似然:梯度上升。参考http://lib.csdn.net/article/deeplearning/59097?knId=1746
二、 Deep Brief Network概念:多个Restricted Boltlzmann Machines
通俗解释:深度信念网络就是指能够通过概率大小学习的神经网络。把RBM堆叠在一块,然后形成一大串连接的RBM,最后在顶端加入一个输出层,就是深度信念神经网络。
如图:
运行图:就是把原始数据输入到最下面的RBM可视层中,然后训练RBM1,训练完成之后把RBM1的隐含层作为RBM2的可视层,继续训练RBM2,接下来把RBM2的隐含层做为RBM3的可视层,直到训练完成为止。
每层的神经元不与本层的其他神经元交流。最后一层通常是分类层(eg,softmax)
除了第一层和最后一层,每层都有两个作用:对于前一层作为隐藏层,作为后一层的输入层。
三、Deep Autoencoders:有两个Deep Brief Network组成
自编码作用:用来降低维度,图像搜索(压缩),数据压缩,信息检索
下图:中间蓝色:相当于学习到的特征向量,左边为自编码,右边为解编码。
每层由RBM组成。
RBM(受限玻尔兹曼机)和深层信念网络(Deep Brief Network)的更多相关文章
- 基于C#的机器学习--深层信念网络
我们都听说过深度学习,但是有多少人知道深度信念网络是什么?让我们从本章开始回答这个问题.深度信念网络是一种非常先进的机器学习形式,其意义正在迅速演变.作为一名机器学习开发人员,对这个概念有一定的了解是 ...
- 七.RBM受限玻尔兹曼机
1.受限玻尔兹曼机 玻尔兹曼机是一大类的神经网络模型,但是在实际应用中使用最多的则是受限玻尔兹曼机(RBM). 受限玻尔兹曼机(RBM)是一个随机神经网络(即当网络的神经元节点被激活时会有随机行为 ...
- 理论优美的深度信念网络--Hinton北大最新演讲
什么是深度信念网络 深度信念网络是第一批成功应用深度架构训练的非卷积模型之一. 在引入深度信念网络之前,研究社区通常认为深度模型太难优化,还不如使用易于优化的浅层ML模型.2006年,Hinton等研 ...
- 深度学习(二)--深度信念网络(DBN)
深度学习(二)--深度信念网络(Deep Belief Network,DBN) 一.受限玻尔兹曼机(Restricted Boltzmann Machine,RBM) 在介绍深度信念网络之前需要先了 ...
- 受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)
受限玻尔兹曼机对于当今的非监督学习有一定的启发意义. 深度信念网络(DBN, Deep Belief Networks)于2006年由Geoffery Hinton提出.
- 深度学习方法:受限玻尔兹曼机RBM(一)基本概念
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同 ...
- 受限玻尔兹曼机(RBM)原理总结
在前面我们讲到了深度学习的两类神经网络模型的原理,第一类是前向的神经网络,即DNN和CNN.第二类是有反馈的神经网络,即RNN和LSTM.今天我们就总结下深度学习里的第三类神经网络模型:玻尔兹曼机.主 ...
- 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM) 简介
受限玻尔兹曼机(Restricted Boltzmann Machine,简称RBM)是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络(generative stochas ...
- 受限玻尔兹曼机(RBM)
能量模型 RBM用到了能量模型. 简单的概括一下能量模型.假设一个孤立系统(总能量$E$一定,粒子个数$N$一定),温度恒定为1,每个粒子有$m$个可能的状态,每个状态对应一个能量$e_i$.那么,在 ...
随机推荐
- sqlServer杂计
In与Exists的区别 这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如I ...
- 机器学习1k近邻
自己一直学习计算机视觉方面的东西,现在想学习一下数据挖掘跟搜索引擎,自己基础也有点薄弱,看朱明的那本数据挖掘,只能片面的了解这个数据挖掘.不过最近有一本书 机器学习实战,于是乎通过实战的形式了解一下基 ...
- AVPlayer的使用,带缓冲
#import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewCont ...
- Top10Servlet
<span style="font-size:18px;">/** * Top10 * author:杨鑫 */ package servlet; import jav ...
- Android 高亮指示层提示
此库出自翔神之手 用起来绝对方便 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0J ...
- Codeforces--630K--Indivisibility(容斥)
K - Indivisibility Crawling in process... Crawling failed Time Limit:500MS Memory Limit:65536 ...
- Java -JVM:JVM百科
ylbtech-Java -JVM:JVM百科 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机 ...
- java Collection接口
Collection 1——————Set子接口:无序,不允许重复. 2——————List子接口:有序,允许重复. Set和List对比: 1.set:检索元素的效率比较低,删除和插入效率比较高,删 ...
- grunt的学习和使用
目前正在编写公司的部分组件,可能一个组件会包含很多js和css,为了项目上使用方便,应该压缩成一个js库,以供开发者使用,同时也可以减少很多http请求,提高页面访问速度.基于此,学习了grunt自动 ...
- Kettle环境变量配置
KETTLE_DIR=安装目录 KETTLE_HOME=安装目录 安装目录比如:D:\Kettle\pdi-ce-6.0.0.0-353\data-integration