我正在学习受限玻尔兹曼机,但我无法确定 RBM 的隐藏向量是否无用。
以下是我对隐藏向量所起的作用的两个理解。我误解了什么吗?如果不是,那么这些向量所扮演的角色怎么会如此不同呢?
这是第一个理解:
我从这个视频RBM中了解到隐藏单元只是结构支持,我们并不关心这些隐藏向量到底是什么。我们将隐藏单元引入 RBM 只是为了获得更多的概率分布表达能力。
假设我只有一个图像,我将这个图像转换为一个二进制向量,并将这个向量输入一个带有随机变量的 RBM(所有的权重和偏差都是随机选择的)。然后,通过打开机器,将构建第一个隐藏向量。但是这个隐藏向量并没有告诉我们任何东西,它只会用来重建一个可见向量。
(我对这个重构的可见向量的理解是这个向量首先是在定义的 RBM 中编码的向量,我们并没有真正构建新的东西,但我们只是碰巧从定义的 RBM 中采样了这个向量)
我们只是无限次地运行这个构造和重建循环。最后,我们将得到的只是用随机变量编码在这个 RBM 中的概率分布。
我的第二个理解是这样的:
RBM 可用于执行降维,这些隐藏向量是原始输入的一些抽象表示:
给定一个 RBM,RBM 的每个隐藏单元都是一个分类器,它的作用是检查输入向量位于该隐藏单元定义的超平面的哪一侧(通过权重和偏差)。因此,如果我们将图像输入到这个 RBM 中,RBM 所做的就是将这个输入向量投影到由所有隐藏单元定义的超平面上。因此对于一个输入向量,对应的隐藏向量是非常重要的,它是一些抽象的表示。我们可以进一步将此表示形式输入到其他模型中进行分类。
所以,这些是我的理解,如果你能通过解释 RBM 如何用于 MNIST 来回答这个问题,这对我非常有帮助。