首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏向量在RBM中的作用是什么?

隐藏向量在RBM中的作用是什么?
EN

Data Science用户
提问于 2017-09-21 05:36:24
回答 1查看 205关注 0票数 5

我正在学习限制Boltzmann机器,但我无法判断RBM的隐藏向量是否无用。

下面是我对隐藏向量扮演的角色的两个理解。我有误解什么吗?如果不是,那么这些向量所扮演的角色怎么会如此不同呢?

  1. 这是第一个理解:我从这个视频成果管理制中了解到,隐藏的单元只是结构支持,我们不关心这些隐藏的向量到底是什么。为了获得更强的概率分布表达能力,我们在RBM中引入了隐元。假设我只有一幅图像,我将这幅图像转换成二值向量,并将该向量输入带有随机变量的RBM (所有的权重和偏差都是随机选择的)。然后,通过打开机器,构建第一个隐藏向量。但是这个隐藏的向量并没有告诉我们什么,它只用于重建一个可见的向量。(我对这个重建的可见向量的理解是,这个向量是一个编码在定义的RBM中的向量,首先,我们并不是真的在构造新的东西,但我们只是碰巧从定义的RBM中取样了这个向量),我们只是无限多次地运行这个构造和重构的循环。最后,我们得到的只是随机变量的RBM中编码的概率分布。
  2. 我的第二个理解是这样的: RBM可以用来进行降维,而这些隐藏向量是对给定一个RBM的原始输入的一些抽象表示,RBM的每个隐藏单元都是一个分类器,它所做的是检查输入向量位于由这个隐藏单元定义的超平面的哪一边(通过权重和偏差)。因此,如果我们将图像输入到这个RBM中,RBM将做的是将这个输入向量投影到由所有隐藏单元定义的超平面上。因此,对于一个输入向量,对应的隐向量是非常重要的,它是某种抽象的表示。我们可以进一步将这种表示输入到其他模型中来进行分类。

所以,这些是我的理解,如果你能通过解释RBM如何用于MNIST来回答这个问题,这将对我非常有帮助。

EN

回答 1

Data Science用户

发布于 2018-04-08 20:03:37

在我看来,这两种答案都是正确的--这取决于你想要实现什么。

使用成果管理制的一种方法是作为一种生成模型。如果您想这样做,您将对网络进行培训,以获得生成网络分布的权重,该分布尽可能接近输入数据的实际分布(不完全正确,因为CD已知不会收敛到样本分布,但这只是一个旁白)。例如,您可以从部分图像或完全新的图像样本中重建图像。在这种情况下,隐藏单元的主要目的是增加网络的功率--一个没有隐藏单元的Boltzmann机器无法用相同的秒数区分目标分布。但是,隐藏单元的实际值在过程中和之后并不那么重要,因为您的主要目标是生成示例。

如果要使用模型来检测特性,则隐藏单元具有额外的角色。为了解释这一点,假设您使用对比发散作为学习算法。在每次迭代中,您将从可见单元中抽取隐藏单元,并从隐藏单元的新值中抽取可见单元。如果结果接近可见单元的原始值,即如果重构误差很小,那么显然,隐藏单元和权值已经足够地了解了训练数据,从而从隐藏单元的值中重构了可见单元的值。正如您所说,这实际上类似于维度缩减或自动编码器。然后,您可以在隐藏单元之上构建第二个RBM,即您可以开始堆叠RBM来构建深度网络,在这里,每一层新的隐藏单元从培训数据中学习更多更抽象的特征。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/23194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档