深度学习受限玻尔兹曼机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Restricted Boltzmann Machine
数媒学院-许鹏
Boltzmann Machine—Review—Model
Boltzmann Machine—Review—Algorithm
A more efficient way of collecting the statistics
RBM-Algorithm
现在我们的公式推导就算全部完成了,并且得到了对数似然函数对于各个参数的偏导数,那我们 再具体看一下这个偏导数到底能不能直接计算出来。
RBM-Algorithm
下面我们用图形象化的展示一下现在用于训练RBM的算法:
……
t=0 t=1 t=2 t=infinity
2002-Hinton-Training Products of Experts by Minimizing Contrastive Divergence
hidden units
visible units
RBM-Model
虽然RBM只是BM的层内连接受到了限制,但是在讨论RBM的学习算法和应用场景之前,还是先 为RBM做一个模型定义,用比较严谨的数学方式把它表达出来。
1. 仍然把RBM看成一个能量模型,则可见单元和隐藏单元的总能量为:
2. 我们要使得这个模型的能量减少到一个稳定状态,就需要更新 神经元状态,那么首先要计算某个神经元开启和关闭时的能量差:
……
t=0 t=1 t=2 t=infinity
2002-Hinton-Training Products of Experts by Minimizing Contrastive Divergence
RBM-Contrastive Divergence
RBM-Contrastive Divergence
RBM-Contrastive Divergence
一直以来我们不论是BM训练算法的正负阶段还是RBM训练算法的负阶段,都有一个从平稳分布采 样的问题,最大的原因就是必须经过很多步的状态转移才能采集到符合目标分布的样本。Hinton 教授2002年提出来contrastive divergence算法,算法的思想是既然我们的目标是让RBM拟合训练样 本的分布,那么可否考虑让采样过程的状态以训练样本为起点那,这样也许某些状态只需要经过 很少次数的状态转移就可以抵达平稳分布了。CD算法目前已经成为了训练RBM的标准算法。
Boltzmann Machine
3. 所以某个神经元开启或者关闭的概率为:
l. 经过上述式子的更新方式,最终RBM会达到一个平稳分布,这个分布函数为:
5. 因为RBM同一层内没有连接,所以可见单元和隐藏单元的条件概率分布可以连乘:
6. 现在我们已经有了RBM的模型,接下来就是学习算法,首先要找到损失函数,这 里我们采用对数最大似然函数做损失函数。先只考虑单个样本 v 的对数最大似然。
positive phase
negative phase
Restricted Boltzmann Machine
前面介绍过玻尔兹曼机虽然有着良好的数学和物理原理,它把无向图和统计力学结合起来,最后 能达到一种目的,就是让整个网络做动态演变,最终能生成一个概率分布来近似给定样本数据的 概率分布,对于机器学习来说,这是一个生成模型。但是缺点就是它的学习算法效率太差,即使 很多学者做了很多研究改进,但是还是不足以具有广泛应用的价值。直到RBM的出现,它对玻尔 兹曼机模型做了一些结构上的改变,使得学习算法的效率大大提升,但是仍然具有很多玻尔兹曼 机良好的性质,这算是玻尔兹曼机的一次复兴。
这里给出一个CD-k算法的完整描述(注意这里是mini-batch方式):
RBM-Contrastive Divergence
Continuous-RBM
传统的受限玻尔兹曼机都是用于对二值离散变量的分布建模的,而现实中很多都是连续变量,这 时候就衍生出了连续受限玻尔兹曼机。
outputs of visible units
RBM-Algorithm
RBM-Algorithm
上式右端两项分别对应两个期望:
RBM-Algorithm
刚才我们对这两项有了一个直观的认识,知道他们是关于两个分布的期望,现在来讨论具体怎么 计算:
RBM-Algorithm
结合上面四个式子,最终可以推导出对数似然函数对于各参数的偏导数
RBM-Algorithm
所谓受限玻尔兹曼机,其实就是BM的某些 连接受到限制,使得学习算法更加简单,这 里的限制就是可见层和隐藏层的层内没有连 接。 我们知道玻尔兹曼机训练之所以复杂,是因 为网络到达平稳分布的时间很久,而受限玻 尔兹曼机当可见单元赋予训练样本时,隐藏 单元只需要一步计算就可以达到热平衡状态 这大大提升了算法效率,不过当整个网络不 受训练数据限制的时候,怎么达到平稳分布 还是一个比较棘手的问题。
数媒学院-许鹏
Boltzmann Machine—Review—Model
Boltzmann Machine—Review—Algorithm
A more efficient way of collecting the statistics
RBM-Algorithm
现在我们的公式推导就算全部完成了,并且得到了对数似然函数对于各个参数的偏导数,那我们 再具体看一下这个偏导数到底能不能直接计算出来。
RBM-Algorithm
下面我们用图形象化的展示一下现在用于训练RBM的算法:
……
t=0 t=1 t=2 t=infinity
2002-Hinton-Training Products of Experts by Minimizing Contrastive Divergence
hidden units
visible units
RBM-Model
虽然RBM只是BM的层内连接受到了限制,但是在讨论RBM的学习算法和应用场景之前,还是先 为RBM做一个模型定义,用比较严谨的数学方式把它表达出来。
1. 仍然把RBM看成一个能量模型,则可见单元和隐藏单元的总能量为:
2. 我们要使得这个模型的能量减少到一个稳定状态,就需要更新 神经元状态,那么首先要计算某个神经元开启和关闭时的能量差:
……
t=0 t=1 t=2 t=infinity
2002-Hinton-Training Products of Experts by Minimizing Contrastive Divergence
RBM-Contrastive Divergence
RBM-Contrastive Divergence
RBM-Contrastive Divergence
一直以来我们不论是BM训练算法的正负阶段还是RBM训练算法的负阶段,都有一个从平稳分布采 样的问题,最大的原因就是必须经过很多步的状态转移才能采集到符合目标分布的样本。Hinton 教授2002年提出来contrastive divergence算法,算法的思想是既然我们的目标是让RBM拟合训练样 本的分布,那么可否考虑让采样过程的状态以训练样本为起点那,这样也许某些状态只需要经过 很少次数的状态转移就可以抵达平稳分布了。CD算法目前已经成为了训练RBM的标准算法。
Boltzmann Machine
3. 所以某个神经元开启或者关闭的概率为:
l. 经过上述式子的更新方式,最终RBM会达到一个平稳分布,这个分布函数为:
5. 因为RBM同一层内没有连接,所以可见单元和隐藏单元的条件概率分布可以连乘:
6. 现在我们已经有了RBM的模型,接下来就是学习算法,首先要找到损失函数,这 里我们采用对数最大似然函数做损失函数。先只考虑单个样本 v 的对数最大似然。
positive phase
negative phase
Restricted Boltzmann Machine
前面介绍过玻尔兹曼机虽然有着良好的数学和物理原理,它把无向图和统计力学结合起来,最后 能达到一种目的,就是让整个网络做动态演变,最终能生成一个概率分布来近似给定样本数据的 概率分布,对于机器学习来说,这是一个生成模型。但是缺点就是它的学习算法效率太差,即使 很多学者做了很多研究改进,但是还是不足以具有广泛应用的价值。直到RBM的出现,它对玻尔 兹曼机模型做了一些结构上的改变,使得学习算法的效率大大提升,但是仍然具有很多玻尔兹曼 机良好的性质,这算是玻尔兹曼机的一次复兴。
这里给出一个CD-k算法的完整描述(注意这里是mini-batch方式):
RBM-Contrastive Divergence
Continuous-RBM
传统的受限玻尔兹曼机都是用于对二值离散变量的分布建模的,而现实中很多都是连续变量,这 时候就衍生出了连续受限玻尔兹曼机。
outputs of visible units
RBM-Algorithm
RBM-Algorithm
上式右端两项分别对应两个期望:
RBM-Algorithm
刚才我们对这两项有了一个直观的认识,知道他们是关于两个分布的期望,现在来讨论具体怎么 计算:
RBM-Algorithm
结合上面四个式子,最终可以推导出对数似然函数对于各参数的偏导数
RBM-Algorithm
所谓受限玻尔兹曼机,其实就是BM的某些 连接受到限制,使得学习算法更加简单,这 里的限制就是可见层和隐藏层的层内没有连 接。 我们知道玻尔兹曼机训练之所以复杂,是因 为网络到达平稳分布的时间很久,而受限玻 尔兹曼机当可见单元赋予训练样本时,隐藏 单元只需要一步计算就可以达到热平衡状态 这大大提升了算法效率,不过当整个网络不 受训练数据限制的时候,怎么达到平稳分布 还是一个比较棘手的问题。