首页 理论教育如何限制波尔兹曼机的自由度?

如何限制波尔兹曼机的自由度?

【摘要】:玻尔兹曼机是一种典型的无向概率图模型,也是一个完全图结构,所有的节点通过无向边相连,它将节点集划分为可视节点集v和隐藏层节点集h。当不是所有变量都能被观察到时,玻尔兹曼机变得更强大。相反,玻尔兹曼机变成了离散变量上概率质量函数的万能近似器。这意味着学习规则是“局部”的,这使得玻尔兹曼机的学习似乎在某种程度上是生物学合理的。

在深度学习领域中,玻尔兹曼机(Boltzmann machine,BM)与自编码器一样,是深度学习中常用的预训练模型和无监督学习模型。玻尔兹曼机是一种典型的无向概率图模型,也是一个完全图结构,所有的节点通过无向边相连,它将节点集划分为可视节点集v和隐藏层节点集h。其中可视层成为输入层,用于接收可观察的样本数据集合;隐藏层则是对输入数据的抽象,通常能起到隐藏特征提取、降维等作用。BM具有强大的无监督学习能力,能够学习到输入数据中复杂的规则。

当不是所有变量都能被观察到时,玻尔兹曼机变得更强大。在这种情况下,潜变量类似于多层感知机中的隐藏单元,并模拟可见单元之间的高阶交互。正如添加隐藏单元将逻辑回归转换为MLP,导致MLP成为函数的万能近似器,具有隐藏单元的玻尔兹曼机不再局限于建模变量之间的线性关系。相反,玻尔兹曼机变成了离散变量上概率质量函数的万能近似器。

对于BM,无差别的全连接结构,使得其训练的代价非常昂贵。受限玻尔兹曼机(restricted Boltzmann machine,RBM),既可以被看成是神经网络结构,也可以看成是概率图模型,在BM的网络结构基础上,仅保留了可视层神经元与隐藏层神经元之间的连接,但可视层神经元之间以及隐藏层神经元之间互不相连,这样就把网络结构从完全图简化为完全二分图,把这种网络结构成为受限玻尔兹曼机。

RBM的每一个可视层神经元的输入数据类型,可以取二进制数值0或1,也可以取任意实数值。隐藏层单元是用来提取可视层数据的隐式特征,一般是二进制数值,当神经元的值为1时,称神经元处于激活状态;当神经元的值为0时,称神经元处于非激活或抑制状态。隐藏层单元的取值服从伯努利分布。

这个模型因为是二部图,所以在已知v的情况下,所有的隐藏节点之间是条件独立的(因为节点之间不存在连接),即p(h|v)=p(h1|v)=…=p(hn|v)。同理,在已知隐藏层h的情况下,所有的可视节点都是条件独立的。同时又由于所有的v和h满足Boltzmann分布,因此,当输入v的时候,通过p(h|v)可以得到隐藏层h,而得到隐藏层h之后,通过p(v|h)又能得到可视层,通过调整参数,使得从隐藏层得到的可视层v1与原来的可视层v如果一样,那么得到的隐藏层就是可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种深度学习方法。

RBM的概率分布通过能量来定义,学习算法通常基于最大似然。当基于最大似然的学习规则训练时,连接两个单元的特定权重的更新仅仅取决于这两个单元在不同分布下收集的统计信息。网络的其余部分参与塑造这些统计信息,但权重可以在完全不知道网络其余部分或这些统计信息如何产生的情况下更新。这意味着学习规则是“局部”的,这使得玻尔兹曼机的学习似乎在某种程度上是生物学合理的。我们可以设想每个神经元都是玻尔兹曼机中随机变量的情况,那么连接两个随机变量的轴突和树突只能通过观察与它们的物理上实际接触细胞的激发模式来学习。