DBN深度信念网络算法
来源:互联网 发布:js list获取指定元素 编辑:程序博客网 时间:2024/05/19 06:19
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
- 深度信念网络(DBN)
- 深度信念网络(DBN)
- 深度信念网络(DBN)
- 深度信念网络(DBN)
- 深度信念网络(DBN)
- 深度信念网络(DBN)
- DBN深度信念网络数学解析
- RBM(限制玻尔兹曼机)、DBN(深度信念网络)介绍
- 深度信念网络DBN的一个matlab实例
- RBM(限制玻尔兹曼机)、DBN(深度信念网络)介绍
- 机器学习——DBN深度信念网络详解
- RBM(限制玻尔兹曼机)、DBN(深度信念网络)介绍
- <模型汇总-5>开山鼻祖-深度信念网络DBN
- DBN (深度信念网络) MATLAB DeepLearnToolbox 源码学习
- 机器学习——DBN深度信念网络详解
- 机器学习:深度信念网络(DBN)原理和实现
- 构造函数和一般函数(2)重载
- SQL server常用指令整理——根据西交coursera公开课整理(一)
- 【深度学习】 学习收藏的资料汇总(不定期更新中…)
- 图的创建以及深度与广度优先遍历C/C++
- 进程调度之时间片轮转调度算法(实验三)
- DBN深度信念网络算法
- getAttribute()与getParameter的区别
- POJ 3268 Silver Cow Party (Dijkstra_来回)
- 粒度计算研究综述_李道国
- 《锋利的JQuery》读书笔记——第二章
- 这20个正则表达式,让你少写1,000行代码
- CV_Assert()
- 二分总结
- 网络数据传输的三种校验方法