0. 引言

讲了讲历史,RBM对DBN的模拟,从而带来了deep learning的革命。

1 受限波尔兹曼机RBM的基本模型

介绍0-1状态的BM和RBM,同一类单元的条件独立性,激活概率等。

2. 基于对比散度的RBM快速学习算法

RBM的任务就是对输入样本进行特征提取,提取的特征的好坏,表现在重构输入样本的时候,是否与原始样本足够相似。所以目标函数就是输入样本的似然函数。利用“同一类单元节点概率的独立性”,最终得到RBM更新公式为:

其中,<v_i, h_j>|model 的计算量是节点个数的指数级的函数,计算量太大,所以用CD-k算法。而CD-k的核心是用Gibbs采样来对<v_i, h_j>|model 进行模拟。

2.1 Gibbs采样

原理是基于Markov链的Monte Carlo(MCMC)方法。具体做法如下:

通过Gibbs采样,就<v_i, h_j>|reconstruct来代替<v_i, h_j>|model了。

2.2 CD-k算法

直接贴算法过程了,如下:

权值更新中,所需的各个变量都在Gibbs采样中计算了,直接带到算法去就行了。

在此基础上,还有很多算法改进。文中列出的有,持续对比散度(persistent contrastive divergence, PCD)算法,该算法不再使用Gibbs采样,且学习率是不断衰减的。进一步地,还有快速持续对比散度(fast persistent contrastive divergence, FPCD)算法。

3 RBM的参数设置

3.1 小批量数据及其容量

上面的CD算法是针对某一个特定的训练样本的,在实际过程中,可以采用一批训练样本,一方面加快训练速度,另一方面可以利用GPU的矩阵运算。那么批量选择多少个样本为好?文中说,如果RBM用在分类问题上,则批量样本尽量能保证每个类别的样本都有一个。

3.2 学习率

权重更新量为权重的10E-3倍左右。

3.3 权重和偏置的初始值

一般来讲,连接权重W可以初始化为正态分布N(0, 0.01)的数值。隐含单元的偏置,设置为零。显示单元的偏置,设置为log(p_i/(1-p_i)),其中p_i为第i个显示单元在训练样本中处于激活状态的比率。

3.4 动量学习率

类似BP算法中的动量设置。权重更新方向不仅仅和梯度有关系,而且和上一次更新的权重有关系。

k的值可以取0.5,到学习后期可以0.9。

3.5 权衰减

在目标函数中可以引入二项范数,作为惩罚项。

3.6 隐单元个数

文中建议估计数据的比特数,用这个数字乘以训练样本的个数,然后降低一个数量级,就是隐单元的个数。

4. RBM的评估算法

重构误差,已经足够好用了。就是重构的单元与真实的训练样本的平方差。

5. 基本RBM模型的变形算法

几个变形都比较玄,不是要用到的话,不用看。

DBN深度信念网络算法相关推荐

  1. DBN深度信念网络详解

    1.  自联想神经网络与深度网络 自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入.很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在.所以,我们 ...

  2. DBN深度信念网络介绍

     DBN神经网络模型 使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络.然而,有一种更好的神经网络模型,这就是受限玻尔兹曼机.使用层叠波尔兹曼机组成深度神经网络 ...

  3. 机器学习入门:第十九章 深度信念网络

    深度信念网络 (Deep Belief Network, DBN) 深度信念网络 (Deep Belief Network, DBN) 由 Geoffrey Hinton 在 2006 年提出.它是一 ...

  4. 【theano-windows】学习笔记十六——深度信念网络DBN

    前言 前面学习了受限玻尔兹曼机(RBM)的理论和搭建方法, 如果稍微了解过的人, 肯定知道利用RBM可以堆叠构成深度信念网络(deep belief network, DBN)和深度玻尔兹曼机(dee ...

  5. 大话深度信念网络(DBN)

    -- 原文发布于本人的微信公众号"大数据与人工智能Lab"(BigdataAILab),欢迎关注. 让我们把时间拨回到2006年以前,神经网络自20世纪50年代发展起来后,因其良好 ...

  6. 2021-03-27 深度信念网络(DBN)学习笔记

    目录 前言 1.BM 2.RBM 二.DBN 总结 前言 仅此以记录学习过程.深度信念网络(DBN)通过采用逐层训练的方式,解决了深层次神经网络的优化问题,通过逐层训练为整个网络赋予了较好的初始权值, ...

  7. 深度信念网络(DBN)

    1.深度信念网络(DBN)是RBM与SBN的混合模型,可以看成叠加的RBM 2.增加层数可以使得RBM模型变得更好的原因是对先验P(h)建模,使得ELBO增大 3.采取贪心逐层训练方法学习DBN的参数 ...

  8. 【学习笔记】【DBN】十九——深度信念网络DBN

    本篇简要介绍深度信念网络DBN,是一个不太常见的神经网络. 首先对深度信念网络(DBN)进行简要介绍,然后对其组成原件RBM的结构.原理和训练过程进行介绍.接着对DBN的训练过程进行介绍. 目录 一. ...

  9. 从RBM(受限玻尔兹曼机)开始、到深度信念网络(DBN)再到自动编码器(AE)

    从RBM(受限玻尔兹曼机)开始.到深度信念网络(DBN)再到自动编码器(AE) 目录

最新文章

  1. java中如何改方法签名_我们可以在Java重写中更改方法签名吗?
  2. 解决向数据库mysql插入double数据小数点不显示问题
  3. [ZJOI2008][BZOJ1036] 树的统计count
  4. redis 的使用 (sort set排序集合类型操作)
  5. 转载://C++中getline()、gets()等函数的用法
  6. 初步认识Volatile-什么叫缓存一致性呢?
  7. 杭州之行--记杭电网新恩普杯程序设计邀请赛
  8. 成绩查询数据结构c语言,学生成绩管理系统(数据结构c语言版源代码)09169.pdf
  9. C++ int string 转换
  10. 云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
  11. outlook qr码在哪里_胡志明市第一次将QR码附加在街道名称板上,目的是什么?
  12. 斐波那契数列——O(1)算法
  13. 数据库敏感数据加密技术
  14. matlab二阶系统设置参数,一阶和二阶系统响应的matlab制作
  15. 卡巴斯基变相提供一年免费服务
  16. 为什么vb6中 Recordset对象的RecordCount属性总是 -1
  17. 详解浏览器中的粘贴事件 paste onpaste 事件
  18. (七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01
  19. jqwidgets简单技术
  20. mysql进行创建序列化

热门文章

  1. cp7s2装Linux,基礎級拆機-神舟戰神GX8CP5s1上8700發現較為雞肋-仿CP7s2
  2. Mybatis小知识_typeAliases/typeAliases标签作用
  3. CentOS 7下配置hadoop 2.8 分布式集群
  4. 8.论文学习Liver Tumor Segmentation and Classification: A Systematic Review
  5. 又一所985大学全面改考408!厦门大学计算机考研
  6. CISP与CISSP证书的区别,那个能适合现在的市场环境
  7. CISP查询具体步骤
  8. NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM(方法签名,CallXXXMethod)
  9. 程序员专业常用英语词汇
  10. Debian 11 配置优化指南