DBN深度信念网络算法
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深度信念网络算法相关推荐
- DBN深度信念网络详解
1. 自联想神经网络与深度网络 自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入.很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在.所以,我们 ...
- DBN深度信念网络介绍
DBN神经网络模型 使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络.然而,有一种更好的神经网络模型,这就是受限玻尔兹曼机.使用层叠波尔兹曼机组成深度神经网络 ...
- 机器学习入门:第十九章 深度信念网络
深度信念网络 (Deep Belief Network, DBN) 深度信念网络 (Deep Belief Network, DBN) 由 Geoffrey Hinton 在 2006 年提出.它是一 ...
- 【theano-windows】学习笔记十六——深度信念网络DBN
前言 前面学习了受限玻尔兹曼机(RBM)的理论和搭建方法, 如果稍微了解过的人, 肯定知道利用RBM可以堆叠构成深度信念网络(deep belief network, DBN)和深度玻尔兹曼机(dee ...
- 大话深度信念网络(DBN)
-- 原文发布于本人的微信公众号"大数据与人工智能Lab"(BigdataAILab),欢迎关注. 让我们把时间拨回到2006年以前,神经网络自20世纪50年代发展起来后,因其良好 ...
- 2021-03-27 深度信念网络(DBN)学习笔记
目录 前言 1.BM 2.RBM 二.DBN 总结 前言 仅此以记录学习过程.深度信念网络(DBN)通过采用逐层训练的方式,解决了深层次神经网络的优化问题,通过逐层训练为整个网络赋予了较好的初始权值, ...
- 深度信念网络(DBN)
1.深度信念网络(DBN)是RBM与SBN的混合模型,可以看成叠加的RBM 2.增加层数可以使得RBM模型变得更好的原因是对先验P(h)建模,使得ELBO增大 3.采取贪心逐层训练方法学习DBN的参数 ...
- 【学习笔记】【DBN】十九——深度信念网络DBN
本篇简要介绍深度信念网络DBN,是一个不太常见的神经网络. 首先对深度信念网络(DBN)进行简要介绍,然后对其组成原件RBM的结构.原理和训练过程进行介绍.接着对DBN的训练过程进行介绍. 目录 一. ...
- 从RBM(受限玻尔兹曼机)开始、到深度信念网络(DBN)再到自动编码器(AE)
从RBM(受限玻尔兹曼机)开始.到深度信念网络(DBN)再到自动编码器(AE) 目录
最新文章
- java中如何改方法签名_我们可以在Java重写中更改方法签名吗?
- 解决向数据库mysql插入double数据小数点不显示问题
- [ZJOI2008][BZOJ1036] 树的统计count
- redis 的使用 (sort set排序集合类型操作)
- 转载://C++中getline()、gets()等函数的用法
- 初步认识Volatile-什么叫缓存一致性呢?
- 杭州之行--记杭电网新恩普杯程序设计邀请赛
- 成绩查询数据结构c语言,学生成绩管理系统(数据结构c语言版源代码)09169.pdf
- C++ int string 转换
- 云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
- outlook qr码在哪里_胡志明市第一次将QR码附加在街道名称板上,目的是什么?
- 斐波那契数列——O(1)算法
- 数据库敏感数据加密技术
- matlab二阶系统设置参数,一阶和二阶系统响应的matlab制作
- 卡巴斯基变相提供一年免费服务
- 为什么vb6中 Recordset对象的RecordCount属性总是 -1
- 详解浏览器中的粘贴事件 paste onpaste 事件
- (七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01
- jqwidgets简单技术
- mysql进行创建序列化
热门文章
- cp7s2装Linux,基礎級拆機-神舟戰神GX8CP5s1上8700發現較為雞肋-仿CP7s2
- Mybatis小知识_typeAliases/typeAliases标签作用
- CentOS 7下配置hadoop 2.8 分布式集群
- 8.论文学习Liver Tumor Segmentation and Classification: A Systematic Review
- 又一所985大学全面改考408!厦门大学计算机考研
- CISP与CISSP证书的区别,那个能适合现在的市场环境
- CISP查询具体步骤
- NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM(方法签名,CallXXXMethod)
- 程序员专业常用英语词汇
- Debian 11 配置优化指南