受限玻尔兹曼机

受限玻尔兹曼机

受限玻尔兹曼机(英语:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习机率分布的随机生成神经网路。RBM最初由发明者保罗·斯模稜斯基于1986年命名为簧风琴(Harmonium),但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻兹曼机才变得知名。受限玻兹曼机在降维、分类、协同过滤、特徵学习和主题建模中得到了套用。根据任务的不同,受限玻兹曼机可以使用监督学习或无监督学习的方法进行训练。

    • 中文名:受限玻尔兹曼机
    • 外文名:Restricted Boltzmann Machine
    • 起源于:统计物理学
    • 最初发明者:保罗·斯模稜斯基
    • 缩写:RBM

简介

受限玻尔兹曼机是玻尔兹曼机(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)步骤可被总结如下:

  1. 取一个训练样本v,计算隐层节点的机率,在此基础上从这一机率分布中获取一个隐层节点激活向量的样本h;

  2. 计算v和h的外积,称为“正梯度”;

  3. 从h获取一个重构的可见层节点的激活向量样本v',此后从v'再次获得一个隐层节点的激活向量样本h';

  4. 计算v'和h'的外积,称为“负梯度”;

使用正梯度和负梯度的差以一定的学习率更新权重

偏置a和b也可以使用类似的方法更新。

功能

深信任网路(deep belief network,DBN)和深玻尔兹曼机(deep Boltzmann machine,DBM),由多层神经元组成,已经套用于许多机器学习任务中,能够很好地解决一些複杂问题,在一定程度上提高了学习性能。深神经网路由许多受限玻尔兹曼机(restricted Boltzmann machine,RBM)堆叠构成,RBM的可见层神经元之间和隐层神经元之间假定无连线。深神经网路用层次无监督贪婪预训练方法分层预训练RBM,将得到的结果作为监督学习训练机率模型的初始值,学习性能得到很大改善。无监督特徵学习就是将RBM的複杂层次结构与大量数据集之间实现统计建模。通过无监督预训练使网路获得高阶抽象特徵,并且提供较好的初始权值,将权值限定在对全局训练有利的範围内,使用层与层之间的局部信息进行逐层训练,注重训练数据自身的特性,能够减小对学习目标过拟合的风险,并避免深神经网路中误差累积传递过长的问题。RBM由于表示力强、易于推理等优点被成功用作深神经网路的结构单元使用,在近些年受到广泛关注,作为实际套用,RBM的学习算法已经在MNIST和NORB等数据集上显示出优越的学习性能。RBM的学习在深度神经网路的学习中占据核心的地位。

套用

BM及其模型已经成功套用于协同滤波、分类、降维、图像检索、信息检索、语言处理、自动语音识别、时间序列建模、文档分类、非线性嵌入学习、暂态数据模型学习和信号与信息处理等任务。受限玻尔兹曼机在降维、分类、协同过滤、特徵学习和主题建模中得到了套用。根据任务的不同,受限玻尔兹曼机可以使用监督学习或无监督学习的方法进行训练。

相关词条

相关搜索

其它词条