目录:

一、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)的更多相关文章

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

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

  2. 七.RBM受限玻尔兹曼机

    1.受限玻尔兹曼机   玻尔兹曼机是一大类的神经网络模型,但是在实际应用中使用最多的则是受限玻尔兹曼机(RBM). 受限玻尔兹曼机(RBM)是一个随机神经网络(即当网络的神经元节点被激活时会有随机行为 ...

  3. 理论优美的深度信念网络--Hinton北大最新演讲

    什么是深度信念网络 深度信念网络是第一批成功应用深度架构训练的非卷积模型之一. 在引入深度信念网络之前,研究社区通常认为深度模型太难优化,还不如使用易于优化的浅层ML模型.2006年,Hinton等研 ...

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

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

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

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

  6. 深度学习方法:受限玻尔兹曼机RBM(一)基本概念

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同 ...

  7. 受限玻尔兹曼机(RBM)原理总结

    在前面我们讲到了深度学习的两类神经网络模型的原理,第一类是前向的神经网络,即DNN和CNN.第二类是有反馈的神经网络,即RNN和LSTM.今天我们就总结下深度学习里的第三类神经网络模型:玻尔兹曼机.主 ...

  8. 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM) 简介

    受限玻尔兹曼机(Restricted Boltzmann Machine,简称RBM)是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络(generative stochas ...

  9. 受限玻尔兹曼机(RBM)

    能量模型 RBM用到了能量模型. 简单的概括一下能量模型.假设一个孤立系统(总能量$E$一定,粒子个数$N$一定),温度恒定为1,每个粒子有$m$个可能的状态,每个状态对应一个能量$e_i$.那么,在 ...

随机推荐

  1. Java分代垃圾回收机制:年轻代/年老代/持久代(转)

    虚拟机中的共划分为三个代:年轻代(Young Generation).年老点(Old Generation)和持久代(Permanent Generation).其中持久代主要存放的是Java类的类信 ...

  2. Mac OSX:添加host地址

    Mac OSX的hosts文件位于/private/etc/hosts.记得用sudo权限编辑即可.在文件中添加如下内容: xxx.xxx.xxx.xxx (ip地址)     abc.com(你的h ...

  3. Android平台Airplay的实现方法

    Airplay属于局域网内异构设备之间分享多媒体数据的一种通信协议.Airplay设备有客户端和服务器之分,一般将小屏IOS设备实现为Airplay客户端,大屏幕设备实现为Airplay服务器.即iP ...

  4. Jmeter压测问题_Non HTTP response code: java.net.ConnectException

    负载机压测,线程500,服务器根本无压力,负载机本身发的请求都是失败的 Sample result如下: Thread Name: 考勤(考勤提交) 1-255 Sample Start: 2018- ...

  5. java wait 与 notify sleep

    来自:http://blog.csdn.net/zyplus/article/details/6672775 有适当的代码修改. 在JAVA中,是没有类似于PV操作.进程互斥等相关的方法的.JAVA的 ...

  6. 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法

    垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己 ...

  7. 如何将unity资源窗体中的文件一下所有折叠/打开

    1.选中父物体 2.按住alt 3.再按下键盘上的左键/右键:此父物体下的所有折叠/打开 或者 alt + LMB  点击所要折叠/打开的父物体左边的小三角

  8. hdu 1242(BFS+优先队列)

    Rescue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  9. 基于移动Web的视图引擎实现

    第一步:移动视图引擎实现 using System.Web.Mvc; /// <summary> /// 移动版View引擎 /// </summary> public cla ...

  10. ROS-URDF-建立模型

    前言:建立一个简单的urdf模型 详解请参看教程http://wiki.ros.org/urdf/Tutorials/Building%20a%20Visual%20Robot%20Model%20w ...