更新时间:2022-08-25 16:02
受限玻尔兹曼机(英语:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基于1986年命名为簧风琴(Harmonium),但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻尔兹曼机才变得知名。受限玻兹曼机在降维、分类、协同过滤、特征学习和主题建模中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习或无监督学习的方法进行训练。
受限玻尔兹曼机是玻尔兹曼机(Boltzman machine,BM)的一种特殊拓扑结构。BM的原理起源于统计物理学,是一种基于能量函数的建模方法,能够描述变量之间的高阶相互作用,BM的学习算法较复杂,但所建模型和学习算法有比较完备的物理解释和严格的数理统计理论作基础。BM是一种对称耦合的随机反馈型二值单元神经网络,由可见层和多个隐层组成,网络节点分为可见单元(visible unit)和隐单元(hidden unit),用可见单元和隐单元来表达随机网络与随机环境的学习模型,通过权值表达单元之间的相关性。
正如名字所提示的那样,受限玻兹曼机是一种玻兹曼机的变体,但限定模型必须为二分图。模型中包含对应输入参数的输入(可见)单元和对应训练结果的隐单元,每条边必须连接一个可见单元和一个隐单元。(与此相对,“无限制”玻兹曼机包含隐单元间的边,使之成为递归神经网络。)这一限定使得相比一般玻兹曼机更高效的训练算法成为可能,特别是基于梯度的对比分歧(contrastive divergence)算法。
受限玻兹曼机也可被用于深度学习网络。具体地,深度信念网络可使用多个RBM堆叠而成,并可使用梯度下降法和反向传播算法进行调优。
以Hinton和Ackley两位学者为代表的研究人员从不同领域以不同动机同时提出BM学习机。
Smolensky提出的RBM由一个可见神经元层和一个隐神经元层组成,由于隐层神经元之间没有相互连接并且隐层神经元独立于给定的训练样本,这使直接计算依赖数据的期望值变得容易,可见层神经元之间也没有相互连接,通过从训练样本得到的隐层神经元状态上执行马尔可夫链抽样过程,来估计独立于数据的期望值,并行交替更新所有可见层神经元和隐层神经元的值。
BM是由Hinton和Sejnowski提出的一种随机递归神经网络,可以看做是一种随机生成的Hopfield网络,是能够通过学习数据的固有内在表示解决困难学习问题的最早的人工神经网络之一,因样本分布遵循玻尔兹曼分布而命名为BM。BM由二值神经元构成,每个神经元只取1或0这两种状态,状态1代表该神经元处于接通状态,状态0代表该神经元处于断开状态。在下面的讨论中单元和节点的意思相同,均表示神经元。
标准的受限玻尔兹曼机由二值(布尔/伯努利)隐层和可见层单元组成。权重矩阵 中的每个元素指定了隐层单元 和可见层单元 之间边的权重。此外对于每个可见层单元 有偏置 ,对每个隐层单元 有偏置 以及在这些定义下,一种受限玻尔兹曼机配置(即给定每个单元取值)的“能量”被定义为
或者用矩阵的形式表示如下:
这一能量函数的形式与霍普菲尔德神经网络相似。在一般的玻尔兹曼机中,隐层和可见层之间的联合概率分布由能量函数给出:
其中, 为配分函数,定义为在节点的所有可能取值下 的和(亦即使得概率分布和为1的归一化常数)。类似地,可见层取值的边缘分布可通过对所有隐层配置求和得到:
由于RBM为一个二分图,层内没有边相连,因而隐层是否激活在给定可见层节点取值的情况下是条件独立的。类似地,可见层节点的激活状态在给定隐层取值的情况下也条件独立。亦即,对 个可见层节点和 个隐层节点,可见层的配置v对于隐层配置h的条件概率如下:
类似地,h对于v的条件概率为
其中,单个节点的激活概率为
和
其中 代表逻辑函数。
受限玻尔兹曼机的训练目标是针对某一训练集,最大化概率的乘积。其中,被视为一矩阵,每个行向量作为一个可见单元向量:
或者,等价地,最大化的对数概率期望:
训练受限玻尔兹曼机,即最优化权重矩阵,最常用的算法是杰弗里·辛顿提出的对比分歧(contrastive divergence,CD)算法。这一算法最早被用于训练辛顿提出的“专家积”模型。这一算法在梯度下降的过程中使用吉布斯采样完成对权重的更新,与训练前馈神经网络中利用反向传播算法类似。
基本的针对一个样本的单步对比分歧(CD-1)步骤可被总结如下:
使用正梯度和负梯度的差以一定的学习率更新权重:。
偏置a和b也可以使用类似的方法更新。
深信任网络(deep belief network,DBN)和深玻尔兹曼机(deep Boltzmann machine,DBM),由多层神经元组成,已经应用于许多机器学习任务中,能够很好地解决一些复杂问题,在一定程度上提高了学习性能。深神经网络由许多受限玻尔兹曼机(restricted Boltzmann machine,RBM)堆栈构成,RBM的可见层神经元之间和隐层神经元之间假定无连接。深神经网络用层次无监督贪婪预训练方法分层预训练RBM,将得到的结果作为监督学习训练概率模型的初始值,学习性能得到很大改善。无监督特征学习就是将RBM的复杂层次结构与大量数据集之间实现统计建模。通过无监督预训练使网络获得高阶抽象特征,并且提供较好的初始权值,将权值限定在对全局训练有利的范围内,使用层与层之间的局部信息进行逐层训练,注重训练数据自身的特性,能够减小对学习目标过拟合的风险,并避免深神经网络中误差累积传递过长的问题。RBM由于表示力强、易于推理等优点被成功用作深神经网络的结构单元使用,在近些年受到广泛关注,作为实际应用,RBM的学习算法已经在MNIST和NORB等数据集上显示出优越的学习性能。RBM的学习在深度神经网络的学习中占据核心的地位。
BM及其模型已经成功应用于协同滤波、分类、降维、图像检索、信息检索、语言处理、自动语音识别、时间序列建模、文档分类、非线性嵌入学习、暂态数据模型学习和信号与信息处理等任务。受限玻尔兹曼机在降维、分类、协同过滤、特征学习和主题建模中得到了应用。根据任务的不同,受限玻尔兹曼机可以使用监督学习或无监督学习的方法进行训练。