玻尔兹曼机

我将尝试介绍有关受限玻尔兹曼机器的直觉及其工作方式。

什么是玻尔兹曼机?
玻尔兹曼机器是能够学习内部表示的随机生成的神经网络,能够表示和(给定足够的时间)解决困难的组合问题。

玻尔兹曼机如何工作?
玻尔兹曼机如下所示:
玻尔兹曼机_第1张图片
Boltzmann机是仅有两种类型的节点(隐藏节点和可见节点)的非确定性(或随机)生成型深度学习模型。

没有输出节点!这似乎很奇怪,但这就是赋予他们这种不确定性的原因。它们没有典型的1或0类型输出,可使用随机梯度下降来学习和优化模式以进行输出。他们没有这种能力学习模式,这就是他们如此特别的原因!

这里要注意的一个区别是,与其他传统网络(A / C / R)的输入节点之间没有任何连接的不同,玻尔兹曼机在输入节点之间具有连接。从图中可以看出,所有节点都连接到所有其他节点,而不管它们是输入节点还是隐藏节点。这使他们可以在彼此之间共享信息并自行生成后续数据。我们仅衡量可见节点上的内容,而不衡量隐藏节点上的内容。提供输入后,他们就可以捕获数据中的所有参数,模式和相关性。这就是为什么它们被称为深度生成模型并且属于无监督深度学习类的原因。

什么是受限玻尔兹曼机?

RBM是具有生成功能的两层人工神经网络。他们有能力学习其输入集上的概率分布。 RBM由Geoffrey Hinton发明,可用于降维,分类,回归,协作过滤,特征学习和主题建模。
RBM是Boltzmann机器的特殊类别,它们在可见单元和隐藏单元之间的连接方面受到限制。与Boltzmann机器相比,这使实现它们变得容易。如前所述,它们是两层神经网络(一层是可见层,另一层是隐藏层),这两层通过完全二部图相连。这意味着可见层中的每个节点都连接到隐藏层中的每个节点,但是同一组中没有两个节点相互连接。这种限制允许使用比一般Boltzmann机器更有效的训练算法,特别是基于梯度的对比发散算法。
受限的玻尔兹曼机看起来像这样:

玻尔兹曼机_第2张图片上图显示了训练带有多个输入的RBM的第一步。 输入乘以权重,然后加到偏差上。 然后,结果通过S型激活函数传递,并且输出确定隐藏状态是否被激活。 权重将是一个矩阵,其中输入节点数为行数,隐藏节点数为列数。 在将相应的偏置项添加到第一个隐藏节点之前,第一个隐藏节点将接收输入乘以第一列权重的向量乘积。
如果您想知道S型函数是什么,可以使用以下公式:
玻尔兹曼机_第3张图片
其中h(1)和v(0)是隐藏层和可见层的对应向量(列矩阵),其中上标为迭代(v(0)表示我们提供给网络的输入),而a是 隐藏层偏差向量。
玻尔兹曼机_第4张图片
现在,此图像显示了反相或重建阶段。 它与第一遍相似,但方向相反。 公式得出是:
玻尔兹曼机_第5张图片
其中v(1)和h(1)是可见层和隐藏层的对应向量(列矩阵),其中上标为迭代,b是可见层偏差向量。

你可能感兴趣的:(机器学习)