本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第3章,第3.1节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
受限玻耳兹曼机(Restricted Boltzmann Machines,RBM)是一种能够解释为随机神经网络的概率图模型,随着计算能力的增加和快速算法的发展已经广泛应用于解决相关的机器学习问题。由于受限玻耳兹曼机只具有两层结构,所以从严格意义上说并不是一种真正的深度学习模型。这种模型之所以受到关注,是因为它可以用作基本模块来构造自编码器、深层信念网络、深层玻耳兹曼机等许多其他深层学习模型。本章将从概率图模型的角度,分别讨论受限玻耳兹曼机的标准模型、学习算法、案例分析及其有关变种。
受限玻耳兹曼机是一种特殊类型的玻耳兹曼机(Boltzmann machine)[23][63]。玻耳兹曼机在理论上是一种由可视层和隐含层组成的概率无向图模型(probabilistic undirected graph model)[23],具有两层结构、对称连接和无自反馈的特点,如图3.1所示。需要强调的是,在一个玻耳兹曼机中,可视层的任意两个内部节点之间可以相互连接,隐含层的任意两个内部节点之间可以相互连接,任意可视层节点和任意隐含层节点之间也可以相互连接。
从概率图模型的角度看,通过在玻耳兹曼机中完全禁止可视层和隐含层的内部节点连接,只允许在可视层和隐含层之间的节点连接,得到的简化模型就是受限玻耳兹曼机,如图3.2所示。不妨设可视层有m个节点,其中第j节点的输入用vj表示;隐含层有n个节点,其中第i节点的输出用hi表示。令可视向量v=(v1,v2,…,vm)T,隐含向量h=(h1,h2,…,hn)T。标准的RBM是二值的,也就是说,所有的可视节点和隐含节点均为二值变量,即`javascript1≤j≤m,1≤i≤n,vj∈{0,1},hi∈{0,1}。
根据受限玻耳兹曼机的极大团构造(仅包括单点团和两点团)[63],结合HammersleyClifford定理,可以把标准受限玻耳兹曼机的能量函数定义如下:ε(v,hθ)=-∑ni=1∑mj=1wijhivj-∑mj=1ajvj-∑ni=1bihi(3.1)
<div style="text-align: center"> <img src="https://yqfile.alicdn.com/e184d1c20eabe0ebc4f6f15f66f89bbe574f6382.png" > </div> <div style="text-align: center"> <img src="https://yqfile.alicdn.com/cdfb3023fb6b5d662804e5bd8513548fdd3526db.png" > </div> 其中θ={wij,aj,bi:1≤i≤n,1≤j≤m},wij表示可视节点j与隐含节点i之间的权值,aj表示可视节点j的偏置,bi表示隐含节点i的偏置。 当参数确定时,利用能量函数不难得到受限玻耳兹曼机的联合分布:p(v,hθ)=1Z(θ)e-ε(v,hθ)=1Z(θ)exp(-ε(v,hθ))(3.2)
其中Z(θ)=∑v,he-ε(v,hθ)=∑v,hexp(-ε(v,hθ))是配分函数,起归一化因子的作用。 因此,对联合概率分布取边缘分布,就能得到受限玻耳兹曼机的可视向量分布:p(vθ)=∑hp(v,hθ)=1Z(θ)∑hexp(-ε(v,hθ))
=1Z(θ)∑h1∑h2…∑hnexp∑ni=1∑mj=1wijhivj+∑mj=1ajvj+∑ni=1bihi
=1Z(θ)exp∑mj=1ajvj∑h1∑h2…∑hn∏ni=1exphi∑mj=1wijvj+bi
=1Z(θ)exp∑mj=1ajvj∏ni=1∑hiexphi∑mj=1wijvj+bi
=1Z(θ)exp∑mj=1ajvj∏ni=11+exp∑mj=1wijvj+bi(3.3)及其隐含向量分布:p(hθ)=∑vp(v,hθ)=1Z(θ)∑vexp(-ε(v,hθ))
=1Z(θ)exp∑ni=1bihi∏mj=11+exp∑ni=1wijhi+aj(3.4)如果令σ(x)=sigm(x)=1/(1+e-x),那么还可以推导出下面的条件概率计算公式[145]:p(hiv,θ)=∑h1∑h2…∑hi-1∑hi+1…∑hnp(v,hθ)p(vθ)
=∑h1∑h2…∑hi-1∑hi+1…∑hnexp∑ni=1∑mj=1wijhivj+∑mj=1ajvj+∑ni=1bihi∑h1∑h2…∑hnexp∑ni=1∑mj=1wijhivj+∑mj=1ajvj+∑ni=1bihi
=exp∑mj=1ajvjexphi∑mj=1wijvj+bi∏nk=1,k≠i1+exp∑mj=1wijvj+biexp∑mj=1ajvj∏ni=11+exp∑mj=1wijvj+bi
=exphi∑mj=1wijvj+bi1+exp∑mj=1wijvj+bi(3.5)
p(hi=1v,θ)=σ∑mj=1wijvj+bi=sigm∑mj=1wijvj+bi(3.6)
p(vjh,θ)=exp vj∑ni=1wijhi+aj1+exp∑ni=1wijhi+aj(3.7)
p(vj=1h,θ)=σ∑ni=1wijhi+aj=sigm∑ni=1wijhi+aj(3.8)
p(hv,θ)=p(v,hθ)p(vθ)=exp∑ni=1∑mj=1wijhivj+∑mj=1ajvj+∑ni=1bihiexp∑mj=1ajvj∏ni=11+exp∑mj=1wijvj+bi
=∏ni=1exphi∑mj=1wijvj+bi∏ni=11+exp∑mj=1wijvj+bi=∏ni=1p(hiv,θ)(3.9)
p(vh,θ)=∏mj=1p(vjh,θ)(3.10)
根据上述条件概率计算公式,就可以在理论上把受限玻耳兹曼机解释为一个激活函数为σ(x)=sigm(x)的随机神经网络。 相关资源:论文研究-基于信任和不信任关系的实值受限玻尔兹曼机推荐算法.pdf