1.RBM模型
玻尔兹曼机是一大类的神经网络模型,但是在实际应用中使用最多的则是RBM。RBM本身模型很简单,只是一个两层的神经网络,因此严格意义上不能算深度学习的范畴。不过深度玻尔兹曼机(Deep Boltzmann Machine,以下简称DBM)可以看做是RBM的推广。理解了RBM再去研究DBM就不难了,因此本文主要关注于RBM。
回到RBM的结构,它是一个个两层的神经网络,如下图所示:
2.RBM概率分布
对于给定的状态向量h和v,则RBM当前的能量函数可以表示为:
E(v,h)=−aTv−bTh−hTWv E ( v , h ) = − a T v − b T h − h T W v
有了能量函数,则我们可以定义RBM的状态为给定v,h的概率分布为:
P(v,h)=1Ze−E(v,h) P ( v , h ) = 1 Z e − E ( v , h )
其中Z为归一化因子,类似于softmax中的归一化因子,表达式为:
Z=∑v,he−E(v,h) Z = ∑ v , h e − E ( v , h )
有了概率分布,我们现在来看条件分布P(h|v):
P(h|v)=P(h,v)P(v)=1P