目录:

一、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. zookeeper协调技术

    本文转自http://www.cnblogs.com/wuxl360/p/5817471.html 感谢作者 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调 ...

  2. MVC.Net:MVC.Net与WebAPI的IOC实现

    我们通过Ninject(http://www.ninject.org/)项目来帮助我们实现MVC.Net与WebAPI项目的IOC实现. 首先我们来看MVC.Net的IOC实现. 1. 通过NuGet ...

  3. 转:java身份证格式强校验

    package com.dsh.zealandweb.utils; import java.util.HashSet; import java.util.regex.Pattern; import o ...

  4. Codeforces Round #277 (Div. 2) D. Valid Sets DP

    D. Valid Sets   As you know, an undirected connected graph with n nodes and n - 1 edges is called a  ...

  5. Swift备忘录

    Swift 备忘录 2015-4 一.简介 1.Swift 语言由苹果公司在2010年7月开始设计,在 2014 年6月推出,在 2015 年 12 月 3 日开源 2.特点(官方): (1)苹果宣称 ...

  6. JFreeChart之堆叠柱形图(StackedBar)

    JFreeChart之堆叠柱形图(StackedBar) JAVA JFreeChart 最近的项目使用有个功能需要使用到堆叠柱形图,看了项目以前的代码实现没有想要的结果.所以自己就先到官网下载了 D ...

  7. Java 8 实战 P3 Effective Java 8 programming

    目录 Chapter 8. Refactoring, testing, and debugging Chapter 9. Default methods Chapter 10. Using Optio ...

  8. 【BZOJ4555】【TJOI2016】【HEOI2016】求和

    题目 传送门 解法 我们可以用容斥来求第二类斯特林数 我们知道, 第二类斯特林数\(S(n, k)\)是\(n\)个元素放进\(k\)个无标号的盒子里, 不可以含有空的. 于是我们可以考虑可以含有空的 ...

  9. HDU2186

    2019-05-30 19:31:10 水题 #include <bits/stdc++.h> using namespace std; int main() { int c; scanf ...

  10. windows服务安装错误 在‘安装’过程发生异常:System.ComponentModel.Win32Exception:系统正在关机

    今天安装windows服务的时候先是在本地安装测试通过,但是一到服务器就一直安装失败 在‘安装’过程发生异常:System.ComponentModel.Win32Exception:系统正在关机 然 ...