限制玻尔兹曼机器

限制玻尔兹曼机器

基于能量的模型



我第一次听说这个概念时非常困惑。“能量是一个来自物理学的术语”,我的思绪抗议说,“它与深度学习和神经网络有什么关系?”。嗯,在物理学中,能量代表了做某种工作的能力。它也有多种形式,意味着能量可以是潜在的,动能的,热的,电的,化学的,核的等等。有一套称为基于能量的模型(EBM)的深度学习模型,它们利用了这一概念。它们通过将标量值与整个系统相关联来确定变量之间的依赖关系 - 能量。该标量值实际上表示系统处于某种状态的概率的度量。在玻尔兹曼机器中,这是由玻尔兹曼分布定义的概率:



从这个例子中,你可以得出结论,概率和能量是成反比的,即如果能量更高,则概率更低,反之亦然。基于能量的模型有两个重要的过程:

  • 推理
  • 学习

推理表示进行预测或决策的过程。实质上,它分两步完成。首先,将观察到的变量的值设置为1.找到其他变量的值,以便最小化整个系统的能量。目标是通过降低系统的能量来增加系统的概率。另一方面,学习过程包括找到能量函数,该函数将低能量与剩余变量的正确值相关联,将较高能量与不正确的值相关联。

在这些模型中,另一个价值起着重要作用。它被称为损失功能,它用于测量可用能量函数的质量。在学习过程中,该值最小化。因为我们可以拥有广泛的能量函数和损失函数,所以基于能量的概念可以创建许多统计模型。从某种意义上说,这个概念是一个框架,通过使用,我们可以创建概率模型或非概率模型。这种方法的另一个好处是没有标准化,这使得这些模型能够避免与标准化常数相关的问题。

玻尔兹曼机器

玻尔兹曼机器是一种基于能量的模型。它们由对称连接的神经元组成。这些神经元具有二元状态,即它们可以开启或关闭。有关国家的决定是随机做出的。玻尔兹曼机器利用简单的学习机制,使用它可以在一组二进制矢量中的值中发现有趣的特征。通常,这些网络用于解决搜索问题和决策问题。从某种意义上说,它们的建模方式是他们可以使用输入数据了解系统,然后我们可以将它们用作该系统的一种模拟器。以下是Boltzmann机器架构的一个示例:



如你所见,有七个神经元,它们都是相互连接的。当然,每个连接都是加权的。除此之外,一些神经元是可见的,一些是隐藏的。例如,在上图中,我们有三个隐藏神经元(h1,h2, h3)以及四个可见神经元(v1,v2,v3,v4)。这意味着用户将能够设置可见神经元的输入,但不能设置隐藏的神经元。输入值不需要具有每个神经元的值; Boltzmann机器将为我们生成它。这与标准神经网络的另一个重大区别在于输入也是输出,但我们将在学习过程中更多地讨论这一点。现在让我们来解释一下这个系统的随机性。

当神经元i有机会改变其二进制状态时,它首先计算所有活动神经元连接的总输入,并为其增加自己的偏差


其中BI表示上述提到的偏压,SJ 连接神经元的当前状态,和WIJ 神经元之间的连接上的重量Ĵ。这意味着神经元i有可能处于活动状态,这意味着它将具有由公式给出的状态:

如果神经元以任何给定的顺序更新它们的状态,这意味着网络最终将达到玻尔兹曼分布,其指出状态向量v的概率由该状态向量的“能量”相对于所有可能的二元状态的能量确定。向量:

玻尔兹曼机器中状态向量的能量定义为

其中si是通过状态向量v分配给神经元i的状态。从这个等式中我们可以看到系统能量和加权连接之间的依赖关系。简而言之,学习过程的目标是找到一组能够最小化能量的权重。然而,Boltzmann机器的架构对资源要求很高。由于每个神经元都与其他神经元相连,因此计算可能需要很长时间。这就是Restricted Boltzmann Machines(RBM)进入画面的原因。

受限制的玻尔兹曼机器

RBM与标准Boltzmann机器之间架构的唯一区别在于可见和隐藏的神经元彼此之间没有连接,即可见神经元仅与隐藏的神经元相连。看起来像这样:

这样,减少了连接的数量,并且要求这种网络的学习过程。如您所见,这些类型的网络具有非常简单的架构,这是深度信念神经网络的主要构建块。RBM的能量函数由此公式定义,


其中ai是处于状态vi的可见神经元i的偏差,bj是处于状态hj的隐藏矢量j的偏差,并且wij是神经元ij之间的连接的权重此功能只是前一个公式的特化。

使用隐藏层中神经元的状态 - h以及可见层中神经元的状态- 可以呈现整个系统的概率- v

其中Z汇总了所有 可能的可见和隐藏向量对,它被称为分区函数。这再一次,只是Boltzmann分布到RBM架构的一个特化。该公式为我们提供了计算任何神经元被激活的概率的机会。给定输入向量v,单个隐藏神经元j被激活的概率是

其中σ是Sigmoid函数。类似于此,可见神经元i被激活的概率可以这样计算:

学习过程

可以想象,RBM的学习过程与前馈神经网络的学习过程大不相同。它有两个主要过程:

  • 吉布斯采样
  • 对比分歧

吉布斯采样是一个子过程,它本身由两部分组成。首先,将输入值设置为可见层,然后基于此,计算隐藏层中的神经元的状态。这是使用前一章中的概率函数p(h | v)完成的。一旦这些值可用,另一个函数p(v | h)用于预测可见层的新输入值。该过程可以重复k次,但实际上,每个输入样本重复一次或两次。最后,我们得到另一个输入向量vk,它是从原始输入值v0重新创建的

Contrastive Divergence是一个子过程,在此过程中权重被更新。矢量v0vk用于计算隐藏层h0hk的激活概率再次使用p(h | v)的公式。最后,我们可以得到矩阵,它将定义需要更新权重的delta:

结论

受限制的玻尔兹曼机器是标准网络的另一种替代概念,为深度学习中的另一个有趣篇章打开了大门 - 深层次的信念网络。他们简单而强大的概念已被证明是一个很好的工具。

发布于 2019-06-09 11:32