深度玻尔兹曼机训练过程推导

本文详细介绍了深度玻尔兹曼机的训练过程,包括能量函数、联合概率分布及条件概率分布等,并通过数学推导展示了如何通过最大化对数似然函数来调整模型参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度玻尔兹曼机的推导过程

深度波尔兹曼机相对于深度信念网络来说是完全无向的一个模型,拥有一个显层和若干个隐层。层与层之间是全连接的,层之间是不连接的。本博客主要是推导深度波尔兹曼机的训练过程,为了推导方便,我们以一层显层和两层隐层为例。

首先给出能量公式

E(v,h(1),h(2))=vTW(1)h(1)+h(1)TW(2)h(2)E(v,h(1),h(2))=vTW(1)h(1)+h(1)TW(2)h(2)

然后我们有联合概率分布
p(v,h(1),h(2))=1Zexp(E(v,h(1),h(2)))p(v,h(1),h(2))=1Zexp⁡(−E(v,h(1),h(2)))

根据联合概率分布得到每一层的条件概率分布
P(vi=1|h(1))=σ(W(1)i,:h(1))P(h(1)i=1|v,h(2))=σ(vTW(1):,i+W(2)i,:h(2))P(h(2)k=1|h(1))=σ(h(1)TW(2):,k)P(vi=1|h(1))=σ(Wi,:(1)h(1))P(hi(1)=1|v,h(2))=σ(vTW:,i(1)+Wi,:(2)h(2))P(hk(2)=1|h(1))=σ(h(1)TW:,k(2))

下面我们详细推导深度玻尔兹曼机的训练过程
给定mm个可见变量v^(1),v^(2),,v^(m) 训练集,调整参数使得对数似然最大,训练的函数为

L=1mi=1mlogp(v^(i))=1mi=1mloghp(v^(i),h)=1mi=1mloghexp(E(v^(n),h))v,hexp(E(v,h))L=1m∑i=1mlog⁡p(v^(i))=1m∑i=1mlog⁡∑hp(v^(i),h)=1m∑i=1mlog⁡∑hexp⁡(−E(v^(n),h))∑v,hexp⁡(−E(v,h))

下面开始对参数进行求导,我们知道
logp(v^(i))ωij=loghp(v^(i),h)ωij=h(loghexp(E(v^(i),h))logv,hexp(E(v,h)))ωij=hexp(E(v^(i),h))hexp(E(v^(i),h))vih(1)jv,hexp(E(v,h))v,hexp(E(v,h))vih(1)j=hp(h|v^(i))vih(1)jv,hp(v,h)vih(1)j∂log⁡p(v^(i))∂ωij=∂log⁡∑hp(v^(i),h)∂ωij=∑h∂(log⁡∑hexp⁡(−E(v^(i),h))−log⁡∑v,hexp⁡(−E(v,h)))∂ωij=∑hexp⁡(−E(v^(i),h))∑hexp⁡(−E(v^(i),h))vihj(1)−∑v,hexp⁡(−E(v,h))∑v,hexp⁡(−E(v,h))vihj(1)=∑hp(h|v^(i))vihj(1)−∑v,hp(v,h)vihj(1)

所以,我们有
logp(v^(i))W(1)=Ep(h|v^(i))[vh(1)T]Ep(v,h)[vh(1)T]∂log⁡p(v^(i))∂W(1)=Ep(h|v^(i))[vh(1)T]−Ep(v,h)[vh(1)T]

那么我们可以得到
LW(1)=1mi=1mEp(h|v^(i))[vh(1)T]Ep(v,h)[vh(1)T]∂L∂W(1)=1m∑i=1mEp(h|v^(i))[vh(1)T]−Ep(v,h)[vh(1)T]

在处理深度波尔兹曼机的时候,第一项我们需要知道p(h|v)p(h|v),但是它是很难处理的,所以我们想找一个函数来逼近它。我们令Q(h(1),h(2)|v)Q(h(1),h(2)|v)P(h(1),h(2)|v)P(h(1),h(2)|v)的近似,为了更好的计算Q(h(1),h(2)|v)Q(h(1),h(2)|v),我们假设是一个均匀场,根据均匀场理论假设我们得到
Q(h(1),h(2)|v)=jQ(h(1)j|v)kQ(h(2)k|v)Q(h(1),h(2)|v)=∏jQ(hj(1)|v)∏kQ(hk(2)|v)

所以我们优化
L=lnP(v)D(Q(h|v)||P(h|v))=E[lnP(v)+lnP(h|v)Q(h|v)]=E[lnP(h|v)P(v)Q(h|v)]L=ln⁡P(v)−D(Q(h|v)||P(h|v))=E[ln⁡P(v)+ln⁡P(h|v)Q(h|v)]=E[ln⁡P(h|v)P(v)Q(h|v)]

减去的一项是PPQ的交叉熵,当两者分布一样时为00,所以我们从优化lnP(v)转而优化LL
所以
L=E[lnP(v,h)Q(h|v)]=E[lnP(v,h)Q(h|v)]=E[lnP(v,h)]E[lnQ(h|v)]=hQ(h|v)lnP(v,h)+H(Q)

所以我们首先第一步选择合适的QQ来逼近P,然后再对优化的函数进行求导。为了问题更简化,我们假设QQ是伯努利分布,那么我们即可假设h^j(1)=Q(hj(1)=1|v)h^(2)k=Q(h(2)k=1|v)h^k(2)=Q(hk(2)=1|v),这个时候
Q(h(1),h(2)|v)=j(h^(1)j)h(1)j(1h^(1)j)(1h(1)j)×k(h^(2)k)h(2)k(1h^(2)k)(1h(2)k)Q(h(1),h(2)|v)=∏j(h^j(1))hj(1)(1−h^j(1))(1−hj(1))×∏k(h^k(2))hk(2)(1−h^k(2))(1−hk(2))

利用均匀场理论,我们只需求解下面的不动点方程即可确定QQ的参数,即
Lh^j(1)=0Lh^j(2)=0

这个时候我们得到更新规则
h^(1)j=σ(iviW(1)i,j+kW(2)j,kh^(2)k)h^(2)k=σ(jW(2)j,kh^(1)j)h^j(1)=σ(∑iviWi,j(1)+∑k′Wj,k′(2)h^k′(2))h^k(2)=σ(∑j′Wj′,k(2)h^j′(1))

确定好QQ之后,我们就可以来优化我们的函数L
L=E[lnP(v,h)]+H(Q)=E[E(v,h)]lnZ+H(Q)L=E[ln⁡P(v,h)]+H(Q)=−E[E(v,h)]−ln⁡Z+H(Q)

以计算E[h(1)TW(2)h(2)]E[h(1)TW(2)h(2)]为例,由h^(1)j=Q(h(1)j=1|v)h^j(1)=Q(hj(1)=1|v)以及h^(2)k=Q(h(2)k=1|v)h^k(2)=Q(hk(2)=1|v)得到
E[h(1)]=h^(1)E[h(2)]=h^(2)E[h(1)]=h^(1)E[h(2)]=h^(2)

h(1)h(1)h(2)h(2)QQ分布下是独立的,所以
E[h(1)h(2)T]=E[h(1)]E[h(2)]=h^(1)h^(2)

因此
E[h(1)TW(2)h(2)]=E[tr(h(1)TW(2)h(2))]=E[tr(W(2)h(2)h(1)T)]=tr(W(2)E[h(2)h(1)T])=tr(W(2)h^(2)h^(1)T)=h^(1)TW(2)h^(2)E[h(1)TW(2)h(2)]=E[tr(h(1)TW(2)h(2))]=E[tr(W(2)h(2)h(1)T)]=tr(W(2)E[h(2)h(1)T])=tr(W(2)h^(2)h^(1)T)=h^(1)TW(2)h^(2)

所以得到
L=vTW(1)h^(1)+h^(1)TW(2)h^(2)logZ+H(Q)L=vTW(1)h^(1)+h^(1)TW(2)h^(2)−log⁡Z+H(Q)

给定mm个可见变量v^(1),v^(2),,v^(m) 训练集训练样本集,那么我们即优化
LL=1mi=1mL(v^(i))LL=1m∑i=1mL(v^(i))

参数更新,即令
LLW(1)=1mi=1mvTh^(1)lnZW(1)LLW(2)=1mi=1mh^(1)Th^(2)lnZW(2)∂LL∂W(1)=1m∑i=1mvTh^(1)−∂ln⁡Z∂W(1)∂LL∂W(2)=1m∑i=1mh^(1)Th^(2)−∂ln⁡Z∂W(2)

我们碰到了第二个难点在于计算lnZW(1)∂ln⁡Z∂W(1)lnZW(2)∂ln⁡Z∂W(2)
lnZW(1)=lnvhP(v,h)W(1)=exp(E(v,h))vhexp(E(v,h))×((E(v,h))W(1))=EP(v,h)[vTh(1)]∂ln⁡Z∂W(1)=ln⁡∑v∑hP(v,h)W(1)=exp⁡(−E(v,h))∑v∑hexp⁡(−E(v,h))×(∂(−E(v,h))∂W(1))=EP(v,h)[vTh(1)]

得到的期望并不好计算,所以我们来计算它的近似期望。
我们根据下面事实,近似f(y)f(y)在分布p(y)p(y)上的期望,假设依概率p(y)p(y)选取采样点y1,y2,,ymy1,y2,⋯,ym,那么
yp(y)f(y)1mj=1mf(yj)∑yp(y)f(y)≈1m∑j=1mf(yj)

所以我们只需要进行吉布斯采样得到服从p(v,h)p(v,h)分布的vvh即可。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值