受限玻尔兹曼机

包含三个可见单元和四个隐单元的受限玻兹曼机示意图(不包含偏置节点)
机器学习与数据挖掘 |
---|
![]() |
问题 |
|
監督式學習 (分类 · 回归) |
|
聚类 |
|
降维 |
|
结构预测 |
|
异常检测 |
|
神经网络 |
|
强化学习 |
|
理论 |
|
受限玻尔兹曼机(英语:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基于1986年命名为簧风琴(Harmonium)[1],但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻兹曼机才变得知名。受限玻兹曼机在降维[2]、分类[3]、协同过滤、特征学习[4]和主题建模[5]中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习或无监督学习的方法进行训练。
正如名字所提示的那样,受限玻兹曼机是一种玻兹曼机的变体,但限定模型必须为二分图。模型中包含对应输入参数的输入(可见)单元和对应训练结果的隐单元,图中的每条边必须连接一个可见单元和一个隐单元。(与此相对,“无限制”玻兹曼机包含隐单元间的边,使之成为递归神经网络。)这一限定使得相比一般玻兹曼机更高效的训练算法成为可能,特别是基于梯度的对比分歧(contrastive divergence)算法[6]。
受限玻兹曼机也可被用于深度学习网络。具体地,深度信念网络可使用多个RBM堆叠而成,并可使用梯度下降法和反向传播算法进行调优[7]。
目录
1 结构
1.1 与其他模型的关系
2 训练算法
3 参见
4 参考资料
5 外部链接
结构
标准的受限玻尔兹曼机由二值(布尔/伯努利)隐层和可见层单元组成。权重矩阵W=(wi,j){displaystyle W=(w_{i,j})}中的每个元素指定了隐层单元hj{displaystyle h_{j}}
和可见层单元vi{displaystyle v_{i}}
之间边的权重。此外对于每个可见层单元vi{displaystyle v_{i}}
有偏置ai{displaystyle a_{i}}
,对每个隐层单元hj{displaystyle h_{j}}
有偏置bj{displaystyle b_{j}}
。在这些定义下,一种受限玻尔兹曼机配置(即给定每个单元取值)的“能量”.mw-parser-output .serif{font-family:Times,serif}(v,h)被定义为
- E(v,h)=−∑iaivi−∑jbjhj−∑i∑jhjwi,jvi{displaystyle E(v,h)=-sum _{i}a_{i}v_{i}-sum _{j}b_{j}h_{j}-sum _{i}sum _{j}h_{j}w_{i,j}v_{i}}
或者用矩阵的形式表示如下:
- E(v,h)=−aTv−bTh−hTWv{displaystyle E(v,h)=-a^{mathrm {T} }v-b^{mathrm {T} }h-h^{mathrm {T} }Wv}
这一能量函数的形式与霍普菲尔德神经网络相似。在一般的玻尔兹曼机中,隐层和可见层之间的联合概率分布由能量函数给出:[8]
- P(v,h)=1Ze−E(v,h){displaystyle P(v,h)={frac {1}{Z}}e^{-E(v,h)}}
其中,Z{displaystyle Z}为配分函数,定义为在节点的所有可能取值下e−E(v,h){displaystyle e^{-E(v,h)}}
的和(亦即使得概率分布和为1的归一化常数)。类似地,可见层取值的边缘分布可通过对所有隐层配置求和得到:[8]
- P(v)=1Z∑he−E(v,h){displaystyle P(v)={frac {1}{Z}}sum _{h}e^{-E(v,h)}}
由于RBM为一个二分图,层内没有边相连,因而隐层是否激活在给定可见层节点取值的情况下是条件独立的。类似地,可见层节点的激活状态在给定隐层取值的情况下也条件独立[6]。亦即,对m{displaystyle m}个可见层节点和n{displaystyle n}
个隐层节点,可见层的配置v对于隐层配置h的条件概率如下:
P(v|h)=∏i=1mP(vi|h){displaystyle P(v|h)=prod _{i=1}^{m}P(v_{i}|h)}.
类似地,h对于v的条件概率为
P(h|v)=∏j=1nP(hj|v){displaystyle P(h|v)=prod _{j=1}^{n}P(h_{j}|v)}.
其中,单个节点的激活概率为
P(hj=1|v)=σ(bj+∑i=1mwi,jvi){displaystyle P(h_{j}=1|v)=sigma left(b_{j}+sum _{i=1}^{m}w_{i,j}v_{i}right),}和P(vi=1|h)=σ(ai+∑j=1nwi,jhj){displaystyle ,P(v_{i}=1|h)=sigma left(a_{i}+sum _{j=1}^{n}w_{i,j}h_{j}right)}
其中σ{displaystyle sigma }代表逻辑函数。
与其他模型的关系
受限玻尔兹曼机是玻尔兹曼机和马尔科夫随机场的一种特例[9][10]。这些概率图模型可以对应到因子分析[11]。
训练算法
受限玻尔兹曼机的训练目标是针对某一训练集V{displaystyle V},最大化概率的乘积。其中,V{displaystyle V}
被视为一矩阵,每个行向量作为一个可见单元向量v{displaystyle v}
:
- argmaxW∏v∈VP(v){displaystyle arg max _{W}prod _{vin V}P(v)}
或者,等价地,最大化V{displaystyle V}的对数概率期望:[9][10]
- argmaxWE[∑v∈VlogP(v)]{displaystyle arg max _{W}mathbb {E} left[sum _{vin V}log P(v)right]}
训练受限玻尔兹曼机,即最优化权重矩阵W{displaystyle W},最常用的算法是杰弗里·辛顿提出的对比分歧(contrastive divergence,CD)算法。这一算法最早被用于训练辛顿提出的“专家积”模型[12]。这一算法在梯度下降的过程中使用吉布斯采样完成对权重的更新,与训练前馈神经网络中利用反向传播算法类似。
基本的针对一个样本的单步对比分歧(CD-1)步骤可被总结如下:
- 取一个训练样本
v,计算隐层节点的概率,在此基础上从这一概率分布中获取一个隐层节点激活向量的样本
h; - 计算
v和
h的外积,称为“正梯度”; - 从
h获取一个重构的可见层节点的激活向量样本
v',此后从
v'再次获得一个隐层节点的激活向量样本
h'; - 计算
v'和
h'的外积,称为“负梯度”; - 使用正梯度和负梯度的差以一定的学习率更新权重wi,j{displaystyle w_{i,j}}
:Δwi,j=ϵ(vhT−v′h′T){displaystyle Delta w_{i,j}=epsilon (vh^{mathsf {T}}-v'h'^{mathsf {T}})}
。
偏置a和b也可以使用类似的方法更新。
参见
- 自編碼
- 自编码机
- 深度学习
- Hopfield神經網絡
参考资料
^ Smolensky, Paulgengxin. Chapter 6: Information Processing in Dynamical Systems: Foundations of Harmony Theory. (编) Rumelhart, David E.; McLelland, James L. [[Connectionism|Parallel Distributed Processing]]: Explorations in the Microstructure of Cognition, Volume 1: Foundations (PDF). MIT Press. 1986: 194–281. ISBN 0-262-68053-X. (原始内容 (PDF)存档于2013-06-13). 网址-维基内链冲突 (帮助)
^ G. E. Hinton, R. R. Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science. 2006-07-28, 313 (5786): 504–507 [2018-04-02]. ISSN 0036-8075. doi:10.1126/science.1127647 (英语).
^ Hugo Larochelle, Yoshua Bengio. Classification using discriminative restricted Boltzmann machines. ACM: 536–543. 2008-07-05 [2018-04-02]. ISBN 9781605582054. doi:10.1145/1390156.1390224.
^ Coates, Adam; Lee, Honglak; Ng, Andrew Y. An analysis of single-layer networks in unsupervised feature learning (PDF). International Conference on Artificial Intelligence and Statistics (AISTATS). 2011. (原始内容 (PDF)存档于2013-05-10).
^ Ruslan Salakhutdinov and Geoffrey Hinton (2010). Replicated softmax: an undirected topic model. Neural Information Processing Systems 23.
^ 6.06.1 Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics.
^ Template:Cite doi/10.4249.2Fscholarpedia.5947
^ 8.08.1 Geoffrey Hinton (2010). A Practical Guide to Training Restricted Boltzmann Machines. UTML TR 2010–003, University of Toronto.
^ 9.09.1 Sutskever, Ilya; Tieleman, Tijmen. On the convergence properties of contrastive divergence (PDF). Proc. 13th Int'l Conf. on AI and Statistics (AISTATS). 2010. (原始内容 (PDF)存档于2015-06-10).
^ 10.010.1 Asja Fischer and Christian Igel. Training Restricted Boltzmann Machines: An Introduction 页面存档备份,存于互联网档案馆. Pattern Recognition 47, pp. 25-39, 2014
^ María Angélica Cueto; Jason Morton; Bernd Sturmfels. Geometry of the restricted Boltzmann machine (PDF). Algebraic Methods in Statistics and Probability (American Mathematical Society). 2010, 516. arXiv:0908.4425. [永久失效連結]
^ Geoffrey E. Hinton. Training Products of Experts by Minimizing Contrastive Divergence. Neural Computation. 2006-03-30, 14 (8): 1771–1800 [2018-04-02]. doi:10.1162/089976602760128018 (英语).
外部链接
Introduction to Restricted Boltzmann Machines. Edwin Chen's blog, July 18, 2011.
Comments
Post a Comment