包含三个可见单元和四个隐单元的受限玻兹曼机示意图(不包含偏置节点)
受限玻尔兹曼机 (英語:restricted Boltzmann machine , RBM)是一种可通过输入数据集学习概率分布的随机 生成 神经网络 。RBM最初由发明者保罗·斯模棱斯基 于1986年命名为簧风琴 (Harmonium)[ 1] ,但直到杰弗里·辛顿 及其合作者在2000年代中叶发明快速学习算法后,受限玻兹曼机才变得知名。受限玻兹曼机在降维 [ 2] 、分类 [ 3] 、协同过滤 [ 4] 、特征学习 [ 5] 和主题建模 [ 6] 中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习 或无监督学习 的方法进行训练。
正如名字所提示的那样,受限玻兹曼机是一种玻兹曼机 的变体,但限定模型必须为二分图 。模型中包含对应输入参数的输入(可见)单元和对应训练结果的隐单元,图中的每条边必须连接一个可见单元和一个隐单元。(与此相对,“无限制”玻兹曼机包含隐单元间的边,使之成为循环神经网络 。)这一限定使得相比一般玻兹曼机更高效的训练算法成为可能,特别是基于梯度 的对比分歧(contrastive divergence)算法[ 7] 。
受限玻兹曼机也可被用于深度学习 网络。具体地,深度信念网络 可使用多个RBM堆叠而成,并可使用梯度下降法 和反向传播算法 进行调优[ 8] 。
结构
标准的受限玻尔兹曼机由二值(布尔 /伯努利 )隐层和可见层单元组成。权重矩阵
W
=
(
w
i
,
j
)
{\displaystyle W=(w_{i,j})}
中的每个元素指定了隐层单元
h
i
{\displaystyle h_{i}}
和可见层单元
v
j
{\displaystyle v_{j}}
之间边的权重。此外对于每个可见层单元
v
i
{\displaystyle v_{i}}
有偏置
a
i
{\displaystyle a_{i}}
,对每个隐层单元
h
j
{\displaystyle h_{j}}
有偏置
b
j
{\displaystyle b_{j}}
。在这些定义下,一种受限玻尔兹曼机配置(即给定每个单元取值)的“能量”(v ,h ) 被定义为
E
(
v
,
h
)
=
− − -->
∑ ∑ -->
i
a
i
v
i
− − -->
∑ ∑ -->
j
b
j
h
j
− − -->
∑ ∑ -->
i
∑ ∑ -->
j
h
j
w
i
,
j
v
i
{\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
)
=
− − -->
a
T
v
− − -->
b
T
h
− − -->
h
T
W
v
{\displaystyle E(v,h)=-a^{\mathrm {T} }v-b^{\mathrm {T} }h-h^{\mathrm {T} }Wv}
这一能量函数的形式与霍普菲尔德神经网络 相似。在一般的玻尔兹曼机中,隐层和可见层之间的联合概率分布由能量函数给出:[ 9]
P
(
v
,
h
)
=
1
Z
e
− − -->
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的归一化常数 )。类似地,可见层取值的边缘分布 可通过对所有隐层配置求和得到:[ 9]
P
(
v
)
=
1
Z
∑ ∑ -->
h
e
− − -->
E
(
v
,
h
)
{\displaystyle P(v)={\frac {1}{Z}}\sum _{h}e^{-E(v,h)}}
由于RBM为一个二分图,层内没有边相连,因而隐层是否激活在给定可见层节点取值的情况下是条件独立 的。类似地,可见层节点的激活状态在给定隐层取值的情况下也条件独立[ 7] 。亦即,对
m
{\displaystyle m}
个可见层节点和
n
{\displaystyle n}
个隐层节点,可见层的配置v 对于隐层配置h 的条件概率 如下:
P
(
v
|
h
)
=
∏ ∏ -->
i
=
1
m
P
(
v
i
|
h
)
{\displaystyle P(v|h)=\prod _{i=1}^{m}P(v_{i}|h)}
.
类似地,h 对于v 的条件概率为
P
(
h
|
v
)
=
∏ ∏ -->
j
=
1
n
P
(
h
j
|
v
)
{\displaystyle P(h|v)=\prod _{j=1}^{n}P(h_{j}|v)}
.
其中,单个节点的激活概率为
P
(
h
j
=
1
|
v
)
=
σ σ -->
(
b
j
+
∑ ∑ -->
i
=
1
m
w
i
,
j
v
i
)
{\displaystyle P(h_{j}=1|v)=\sigma \left(b_{j}+\sum _{i=1}^{m}w_{i,j}v_{i}\right)\,}
和
P
(
v
i
=
1
|
h
)
=
σ σ -->
(
a
i
+
∑ ∑ -->
j
=
1
n
w
i
,
j
h
j
)
{\displaystyle \,P(v_{i}=1|h)=\sigma \left(a_{i}+\sum _{j=1}^{n}w_{i,j}h_{j}\right)}
其中
σ σ -->
{\displaystyle \sigma }
代表逻辑函数 。
与其他模型的关系
受限玻尔兹曼机是玻尔兹曼机和马尔科夫随机场 的一种特例[ 10] [ 11] 。这些概率图模型 可以对应到因子分析 [ 12] 。
训练算法
受限玻尔兹曼机的训练目标是针对某一训练集
V
{\displaystyle V}
,最大化概率的乘积。其中,
V
{\displaystyle V}
被视为一矩阵,每个行向量作为一个可见单元向量
v
{\displaystyle v}
:
arg
-->
max
W
∏ ∏ -->
v
∈ ∈ -->
V
P
(
v
)
{\displaystyle \arg \max _{W}\prod _{v\in V}P(v)}
或者,等价地,最大化
V
{\displaystyle V}
的对数概率 期望 :[ 10] [ 11]
arg
-->
max
W
E
[
∑ ∑ -->
v
∈ ∈ -->
V
log
-->
P
(
v
)
]
{\displaystyle \arg \max _{W}\mathbb {E} \left[\sum _{v\in V}\log P(v)\right]}
训练受限玻尔兹曼机,即最优化权重矩阵
W
{\displaystyle W}
,最常用的算法是杰弗里·辛顿 提出的对比分歧(contrastive divergence,CD)算法。这一算法最早被用于训练辛顿提出的“专家积”模型[ 13] 。这一算法在梯度下降 的过程中使用吉布斯采样 完成对权重的更新,与训练前馈神经网络中利用反向传播算法类似。
基本的针对一个样本的单步对比分歧(CD-1)步骤可被总结如下:
取一个训练样本v ,计算隐层节点的概率,在此基础上从这一概率分布中获取一个隐层节点激活向量的样本h ;
计算v 和h 的外积 ,称为“正梯度”;
从h 获取一个重构的可见层节点的激活向量样本v' ,此后从v' 再次获得一个隐层节点的激活向量样本h' ;
计算v' 和h' 的外积,称为“负梯度”;
使用正梯度和负梯度的差以一定的学习率更新权重
w
i
,
j
{\displaystyle w_{i,j}}
:
Δ Δ -->
w
i
,
j
=
ϵ ϵ -->
(
v
h
T
− − -->
v
′
h
′
T
)
{\displaystyle \Delta w_{i,j}=\epsilon (vh^{\mathsf {T}}-v'h'^{\mathsf {T}})}
。
偏置a 和b 也可以使用类似的方法更新。
参见
参考资料
^ 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).
^ 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) (英语) .
^ 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 .
^ 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 .
^ 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).
^ Ruslan Salakhutdinov and Geoffrey Hinton (2010). Replicated softmax: an undirected topic model (页面存档备份 ,存于互联网档案馆 ). Neural Information Processing Systems 23 .
^ 7.0 7.1 Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics .
^ Hinton, G. Deep belief networks. Scholarpedia. 2009, 4 (5): 5947. Bibcode:2009SchpJ...4.5947H . doi:10.4249/scholarpedia.5947 .
^ 9.0 9.1 Geoffrey Hinton (2010). A Practical Guide to Training Restricted Boltzmann Machines (页面存档备份 ,存于互联网档案馆 ) . UTML TR 2010–003, University of Toronto.
^ 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.0 11.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 . (原始内容存档 于2018-11-27) (英语) .
外部链接