受限玻尔兹曼机

受限玻尔兹曼机(英語:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基英语Paul Smolensky于1986年命名为簧风琴(Harmonium)[1],但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻兹曼机才变得知名。受限玻兹曼机在降维[2]分类[3]协同过滤[4]特征学习[5]主题建模[6]中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习无监督学习的方法进行训练。

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

正如名字所提示的那样,受限玻兹曼机是一种玻兹曼机的变体,但限定模型必须为二分图。模型中包含对应输入参数的输入(可见)单元和对应训练结果的隐单元,图中的每条边必须连接一个可见单元和一个隐单元。(与此相对,“无限制”玻兹曼机包含隐单元间的边,使之成为循环神经网络。)这一限定使得相比一般玻兹曼机更高效的训练算法成为可能,特别是基于梯度的对比分歧(contrastive divergence)算法[7]

受限玻兹曼机也可被用于深度学习网络。具体地,深度信念网络可使用多个RBM堆叠而成,并可使用梯度下降法反向传播算法进行调优[8]

结构

标准的受限玻尔兹曼机由二值(布尔/伯努利)隐层和可见层单元组成。权重矩阵 中的每个元素指定了隐层单元 和可见层单元 之间边的权重。此外对于每个可见层单元 有偏置 ,对每个隐层单元 有偏置 。在这些定义下,一种受限玻尔兹曼机配置(即给定每个单元取值)的“能量”(v,h)被定义为

 

或者用矩阵的形式表示如下:

 

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

 

其中, 配分函数,定义为在节点的所有可能取值下 的和(亦即使得概率分布和为1的归一化常数)。类似地,可见层取值的边缘分布可通过对所有隐层配置求和得到:[9]

 

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

 .

类似地,h对于v的条件概率为

 .

其中,单个节点的激活概率为

  

其中 代表逻辑函数

与其他模型的关系

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

训练算法

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

 

或者,等价地,最大化 对数概率期望[10][11]

 

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

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

  1. 取一个训练样本v,计算隐层节点的概率,在此基础上从这一概率分布中获取一个隐层节点激活向量的样本h
  2. 计算vh外积,称为“正梯度”;
  3. h获取一个重构的可见层节点的激活向量样本v',此后从v'再次获得一个隐层节点的激活向量样本h'
  4. 计算v'h'的外积,称为“负梯度”;
  5. 使用正梯度和负梯度的差以一定的学习率更新权重  

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

参见

参考资料

  1. ^ Smolensky, Paulgengxin. Chapter 6: Information Processing in Dynamical Systems: Foundations of Harmony Theory. Rumelhart, David E.; McLelland, James L. (编). Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations (PDF). MIT Press. 1986: 194–281 [2014-09-16]. 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. (原始内容存档于2018-03-20) (英语). 
  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. ^ Salakhutdinov, R.; Mnih, A.; Hinton, G. Restricted Boltzmann machines for collaborative filtering. Proceedings of the 24th international conference on Machine learning - ICML '07: 791. 2007. ISBN 9781595937933. doi:10.1145/1273496.1273596. 
  5. ^ 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 [2014-09-16]. (原始内容 (PDF)存档于2013-05-10). 
  6. ^ Ruslan Salakhutdinov and Geoffrey Hinton (2010). Replicated softmax: an undirected topic model页面存档备份,存于互联网档案馆). Neural Information Processing Systems 23.
  7. ^ 7.0 7.1 Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics.
  8. ^ Hinton, G. Deep belief networks. Scholarpedia. 2009, 4 (5): 5947. Bibcode:2009SchpJ...4.5947H. doi:10.4249/scholarpedia.5947. 
  9. ^ 9.0 9.1 Geoffrey Hinton (2010). A Practical Guide to Training Restricted Boltzmann Machines页面存档备份,存于互联网档案馆. UTML TR 2010–003, University of Toronto.
  10. ^ 10.0 10.1 Sutskever, Ilya; Tieleman, Tijmen. On the convergence properties of contrastive divergence (PDF). Proc. 13th Int'l Conf. on AI and Statistics (AISTATS). 2010 [2014-09-16]. (原始内容 (PDF)存档于2015-06-10). 
  11. ^ 11.0 11.1 Asja Fischer and Christian Igel. Training Restricted Boltzmann Machines: An Introduction页面存档备份,存于互联网档案馆). Pattern Recognition 47, pp. 25-39, 2014
  12. ^ 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 . [永久失效連結]
  13. ^ 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. (原始内容存档于2018-11-27) (英语). 

外部链接