受限玻尔兹曼机






包含三个可见单元和四个隐单元的受限玻兹曼机示意图(不包含偏置节点)











































受限玻尔兹曼机英语:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基英语Paul Smolensky于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})}W = (w_{i,j})中的每个元素指定了隐层单元hj{displaystyle h_{j}}h_{j}和可见层单元vi{displaystyle v_{i}}v_i之间边的权重。此外对于每个可见层单元vi{displaystyle v_{i}}v_i有偏置ai{displaystyle a_{i}}a_{i},对每个隐层单元hj{displaystyle h_{j}}h_{j}有偏置bj{displaystyle b_{j}}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) = -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}E(v,h) = -a^{mathrm{T}} v - b^{mathrm{T}} h -h^{mathrm{T}} W v

这一能量函数的形式与霍普菲尔德神经网络相似。在一般的玻尔兹曼机中,隐层和可见层之间的联合概率分布由能量函数给出:[8]


P(v,h)=1Ze−E(v,h){displaystyle P(v,h)={frac {1}{Z}}e^{-E(v,h)}}P(v,h) = frac{1}{Z} e^{-E(v,h)}

其中,Z{displaystyle Z}Z为配分函数,定义为在节点的所有可能取值下e−E(v,h){displaystyle e^{-E(v,h)}}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)}}P(v) = frac{1}{Z} sum_h e^{-E(v,h)}

由于RBM为一个二分图,层内没有边相连,因而隐层是否激活在给定可见层节点取值的情况下是条件独立的。类似地,可见层节点的激活状态在给定隐层取值的情况下也条件独立[6]。亦即,对m{displaystyle m}m个可见层节点和n{displaystyle n}n个隐层节点,可见层的配置v对于隐层配置h的条件概率如下:



P(v|h)=∏i=1mP(vi|h){displaystyle P(v|h)=prod _{i=1}^{m}P(v_{i}|h)}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(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(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)},P(v_i=1|h) = sigma left(a_i + sum_{j=1}^n w_{i,j} h_j right)

其中σ{displaystyle sigma }sigma 代表逻辑函数。



与其他模型的关系


受限玻尔兹曼机是玻尔兹曼机和马尔科夫随机场的一种特例[9][10]。这些概率图模型可以对应到因子分析[11]



训练算法


受限玻尔兹曼机的训练目标是针对某一训练集V{displaystyle V}V,最大化概率的乘积。其中,V{displaystyle V}V被视为一矩阵,每个行向量作为一个可见单元向量v{displaystyle v}v


arg⁡maxW∏v∈VP(v){displaystyle arg max _{W}prod _{vin V}P(v)}argmax_W prod_{v in V} P(v)

或者,等价地,最大化V{displaystyle V}V的对数概率期望:[9][10]


arg⁡maxWE[∑v∈Vlog⁡P(v)]{displaystyle arg max _{W}mathbb {E} left[sum _{vin V}log P(v)right]}argmax_W mathbb{E} left[sum_{v in V} log P (v)right]

训练受限玻尔兹曼机,即最优化权重矩阵W{displaystyle W}W,最常用的算法是杰弗里·辛顿提出的对比分歧(contrastive divergence,CD)算法。这一算法最早被用于训练辛顿提出的“专家积”模型[12]。这一算法在梯度下降的过程中使用吉布斯采样完成对权重的更新,与训练前馈神经网络中利用反向传播算法类似。


基本的针对一个样本的单步对比分歧(CD-1)步骤可被总结如下:



  1. 取一个训练样本
    v,计算隐层节点的概率,在此基础上从这一概率分布中获取一个隐层节点激活向量的样本
    h

  2. 计算
    v
    h的外积,称为“正梯度”;


  3. h获取一个重构的可见层节点的激活向量样本
    v',此后从
    v'再次获得一个隐层节点的激活向量样本
    h'

  4. 计算
    v'
    h'的外积,称为“负梯度”;

  5. 使用正梯度和负梯度的差以一定的学习率更新权重wi,j{displaystyle w_{i,j}}w_{i,j}Δwi,j=ϵ(vhT−v′h′T){displaystyle Delta w_{i,j}=epsilon (vh^{mathsf {T}}-v'h'^{mathsf {T}})}Delta w_{i,j} = epsilon (vh^mathsf{T} - v'h'^mathsf{T})


偏置ab也可以使用类似的方法更新。



参见



  • 自編碼

  • 自编码机

  • 深度学习

  • Hopfield神經網絡



参考资料





  1. ^ 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).  网址-维基内链冲突 (帮助)


  2. ^ 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 (英语). 


  3. ^ 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. 


  4. ^ 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). 


  5. ^ Ruslan Salakhutdinov and Geoffrey Hinton (2010). Replicated softmax: an undirected topic model. Neural Information Processing Systems 23.


  6. ^ 6.06.1 Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics.


  7. ^ Template:Cite doi/10.4249.2Fscholarpedia.5947


  8. ^ 8.08.1 Geoffrey Hinton (2010). A Practical Guide to Training Restricted Boltzmann Machines. UTML TR 2010–003, University of Toronto.


  9. ^ 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. ^ 10.010.1 Asja Fischer and Christian Igel. Training Restricted Boltzmann Machines: An Introduction 页面存档备份,存于互联网档案馆. Pattern Recognition 47, pp. 25-39, 2014


  11. ^ 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. [永久失效連結]


  12. ^ 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

Popular posts from this blog

Information security

Volkswagen Group MQB platform

Daniel Guggenheim